:root{--ink:#17324d;--ink-soft:#4b6377;--blue:#2f78b7;--blue-deep:#205d94;--blue-pale:#eaf5fc;--teal:#2e9c94;--sun:#f5c451;--paper:#fff;--canvas:#f5f9fc;--line:#dbe7ef;--danger:#b93939;--shadow:0 20px 50px #2653741f}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{color:var(--ink);background:var(--canvas);margin:0;font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2f78b747}.eyebrow,.brand-eyebrow,.card-kicker{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}.auth-page{background:radial-gradient(circle at 8% 12%,#f5c45147,#0000 24rem),linear-gradient(135deg,#eef8fd 0%,#f9fcfe 54%,#eef8f6 100%);grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:stretch;min-height:100svh;display:grid}.auth-page.single-panel{place-items:center;padding:40px 20px;display:grid}.auth-welcome{flex-direction:column;justify-content:center;padding:clamp(48px,8vw,120px);display:flex;position:relative;overflow:hidden}.auth-welcome:after{content:"";border:56px solid #2f78b717;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-130px;right:-120px}.auth-accent{background:linear-gradient(90deg, var(--sun), var(--teal));border-radius:999px;width:54px;height:8px;margin-bottom:30px}.auth-welcome h1{letter-spacing:-.045em;max-width:700px;margin:10px 0 4px;font-size:clamp(2.7rem,7vw,5.4rem);line-height:1.06}.auth-subtitle{color:var(--blue-deep);margin:0;font-size:clamp(1rem,2vw,1.35rem);font-weight:650}.school-name{max-width:620px;color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:56px;display:flex}.school-name strong{color:var(--ink);font-size:1.1rem}.auth-card{width:min(440px,100% - 48px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #dbe7eff2;border-radius:28px;align-self:center;margin:32px auto;padding:clamp(28px,5vw,48px)}.password-card{width:min(560px,100%)}.auth-card h1,.auth-card h2{margin:5px 0 8px;font-size:1.85rem;line-height:1.2}.muted-copy,.auth-help,.field-hint{color:var(--ink-soft)}.muted-copy{margin:0}.auth-help{text-align:center;margin:24px 0 0;font-size:.82rem}.auth-form{gap:19px;margin-top:30px;display:grid}.field-group{gap:8px;display:grid}.field-group label{font-size:.9rem;font-weight:750}.field-group input{width:100%;min-height:48px;color:var(--ink);background:#fcfeff;border:1px solid #bfd0dc;border-radius:12px;padding:11px 14px;transition:border-color .15s,box-shadow .15s}.field-group input:hover{border-color:#8fabbf}.field-group input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f78b71a}.field-hint{font-size:.78rem}.form-error{color:var(--danger);background:#fff5f5;border:1px solid #f1c5c5;border-radius:11px;margin:0;padding:11px 13px;font-size:.88rem}.primary-button,.secondary-button{cursor:pointer;border-radius:12px;min-height:46px;padding:10px 18px;font-weight:750;transition:transform .15s,box-shadow .15s,opacity .15s}.primary-button{color:#fff;background:linear-gradient(135deg, var(--blue), var(--blue-deep));border:0;box-shadow:0 10px 22px #205d9433}.secondary-button{color:var(--blue-deep);background:#fff;border:1px solid #c3d9e7}.secondary-button.compact{min-height:38px;padding:8px 13px;font-size:.84rem}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #205d9429}button:disabled{cursor:not-allowed;opacity:.58}.checkin-page{background:radial-gradient(circle at top,#f5c45140,#0000 22rem),linear-gradient(#eef9fc,#f7fbf9);place-items:center;min-height:100svh;padding:24px 18px;display:grid}.checkin-card{text-align:center;border:1px solid var(--line);width:min(100%,460px);box-shadow:var(--shadow);background:#fff;border-radius:28px;padding:36px 24px}.checkin-card h1{margin:8px 0 2px;font-size:clamp(2rem,10vw,3rem)}.checkin-card h2{margin:18px 0 4px}.checkin-card p{margin:7px 0}.checkin-card small{color:var(--ink-soft);display:block}.placeholder-illustration{color:#fff;background:linear-gradient(145deg, var(--teal), #4ab8a7);border-radius:25px;place-items:center;width:78px;height:78px;margin:30px auto 12px;font-size:2.2rem;font-weight:900;display:grid;box-shadow:0 16px 26px #2e9c943d}.text-link{color:var(--blue-deep);text-underline-offset:4px;margin-top:28px;font-weight:750;display:inline-block}.app-layout{grid-template-columns:276px minmax(0,1fr);min-height:100svh;display:grid}.desktop-sidebar,.mobile-drawer{color:#f5fbff;background:radial-gradient(circle at 20% 2%,#4eb8ae47,#0000 16rem),linear-gradient(#1a4f79,#173d60);flex-direction:column;display:flex}.desktop-sidebar{height:100svh;padding:28px 18px 22px;position:sticky;top:0}.sidebar-brand{flex-direction:column;padding:10px 10px 25px;display:flex}.sidebar-brand .brand-eyebrow{color:#9cddd6;font-size:.67rem}.sidebar-brand strong{color:#fff;margin-top:9px;font-size:1.28rem}.sidebar-brand>span:last-child{color:#bdd5e5;font-size:.77rem}.sidebar-nav{gap:5px;display:grid;overflow-y:auto}.nav-link{color:#d8e9f4;border-radius:11px;align-items:center;gap:12px;min-height:44px;padding:9px 13px;font-size:.92rem;font-weight:640;text-decoration:none;display:flex}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff1f}.nav-dot{border:1px solid;border-radius:50%;flex:none;width:7px;height:7px}.nav-link.active .nav-dot{border-color:var(--sun);background:var(--sun)}.sidebar-school{color:#bcd2e0;border-top:1px solid #ffffff1f;flex-direction:column;margin-top:auto;padding:18px 10px 4px;font-size:.74rem;display:flex}.sidebar-school strong{color:#eaf5fb;font-size:.85rem}.app-column{min-width:0}.app-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe8;align-items:center;gap:18px;min-height:82px;padding:14px clamp(20px,3vw,44px);display:flex}.topbar-title{flex-direction:column;display:flex}.topbar-title strong{font-size:1rem}.topbar-title span{color:var(--ink-soft);font-size:.75rem}.user-area{align-items:center;gap:14px;margin-left:auto;display:flex}.user-copy{text-align:right;display:grid}.user-copy>span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem}.user-copy strong{font-size:.9rem}.user-copy small{color:var(--ink-soft);font-size:.7rem}.app-main{width:min(100%,1320px);margin:0 auto;padding:clamp(24px,4vw,52px)}.page-stack{gap:24px;display:grid}.welcome-panel{color:#fff;background:radial-gradient(circle at 90% 15%,#f5c45152,#0000 17rem),linear-gradient(135deg,#2f78b7,#276f9c 58%,#2f958d);border-radius:28px;padding:clamp(30px,5vw,58px);position:relative;overflow:hidden;box-shadow:0 22px 44px #235b8530}.welcome-panel:after{content:"";border:34px solid #ffffff1c;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-105px;right:-70px}.welcome-panel .eyebrow{color:#d8f5eb}.welcome-panel h1{letter-spacing:-.035em;margin:10px 0 0;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.08}.welcome-panel .lead{color:#e2f2fb;margin:3px 0 38px;font-size:clamp(1rem,2vw,1.3rem)}.school-lockup{flex-direction:column;display:flex}.school-lockup span{color:#d7eaf3;font-size:.8rem}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.info-card,.module-placeholder{border:1px solid var(--line);background:var(--paper);border-radius:20px;box-shadow:0 12px 30px #26537412}.info-card{min-height:190px;padding:28px}.highlight-card{background:linear-gradient(145deg,#fff,#eef9f7)}.info-card h2,.module-placeholder h1{margin:8px 0}.info-card p,.module-placeholder p{color:var(--ink-soft)}.module-placeholder{flex-direction:column;justify-content:center;align-items:flex-start;min-height:min(520px,100svh - 190px);padding:clamp(28px,6vw,70px);display:flex}.module-placeholder h1{font-size:clamp(2rem,5vw,3.8rem)}.coming-soon{color:var(--blue-deep);background:var(--blue-pale);border:1px solid #bcd6e7;border-radius:12px;margin-top:26px;padding:12px 16px;font-weight:750}.menu-button,.drawer-close,.mobile-drawer,.drawer-backdrop{display:none}.page-header{padding:4px 2px 2px}.page-header h1{letter-spacing:-.035em;margin:7px 0 5px;font-size:clamp(2rem,4vw,3.15rem);line-height:1.12}.page-header>p:last-child{max-width:760px;color:var(--ink-soft);margin:0}.filter-panel,.data-panel,.admin-panel,.detail-hero{border:1px solid var(--line);background:var(--paper);border-radius:20px;min-width:0;box-shadow:0 12px 30px #2653740f}.filter-panel,.data-panel,.admin-panel{padding:clamp(20px,3vw,30px)}.filter-grid{grid-template-columns:minmax(210px,1.6fr) repeat(3,minmax(140px,1fr));align-items:end;gap:14px;display:grid}.filter-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.field-group input,.field-group select,.field-group textarea{width:100%;min-height:46px;color:var(--ink);background:#fcfeff;border:1px solid #bfd0dc;border-radius:11px;padding:10px 13px;transition:border-color .15s,box-shadow .15s}.field-group textarea{resize:vertical;min-height:88px}.field-group input:hover,.field-group select:hover,.field-group textarea:hover{border-color:#8fabbf}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2f78b71a}.compact-button{min-height:40px;padding:8px 14px;font-size:.86rem}.button-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.section-heading h2{margin:4px 0 0;font-size:1.3rem}.compact-heading{margin-bottom:18px}.record-count,.permission-chip,.current-chip{width:fit-content;color:var(--blue-deep);background:var(--blue-pale);white-space:nowrap;border:1px solid #c7dce9;border-radius:999px;align-items:center;padding:5px 10px;font-size:.76rem;font-weight:750;display:inline-flex}.permission-chip{color:#257b74;background:#eefaf8;border-color:#bde1dc}.table-scroll{overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:14px;width:100%;min-width:0;max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;min-width:790px}.data-table th{color:var(--ink-soft);border-bottom:1px solid var(--line);letter-spacing:.025em;background:#f7fafc;padding:12px 15px;font-size:.76rem}.data-table td{vertical-align:top;border-bottom:1px solid #e9f0f4;padding:15px;font-size:.88rem}.data-table tr:last-child td{border-bottom:0}.data-table td>strong,.data-table td>small{display:block}.data-table td>small{color:var(--ink-soft);margin-top:2px}.cell-stack{gap:5px;display:grid}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:.75rem;font-weight:760;display:inline-flex}.status-badge>span{border-radius:50%;width:6px;height:6px}.status-badge.active{color:#176f67;background:#e8f8f5}.status-badge.active>span{background:var(--teal)}.status-badge.inactive{color:#687986;background:#eef2f4}.status-badge.inactive>span{background:#91a1ac}.row-link,.back-link{color:var(--blue-deep);font-weight:750;text-decoration:none}.row-link{white-space:nowrap}.row-link:hover,.back-link:hover{text-underline-offset:4px;text-decoration:underline}.back-link{width:fit-content;font-size:.88rem}.muted-value{color:#7d8e99}.empty-state{color:var(--ink-soft);text-align:center;background:#fbfdfe;border:1px dashed #c8d8e3;border-radius:14px;padding:42px 20px}.mobile-data-view{display:none}.data-form{margin-top:14px}.form-grid,.enrollment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.enrollment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.full-field{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:10px;display:flex}.form-success{color:#176f67;background:#eefaf8;border:1px solid #bde1dc;border-radius:11px;margin:0;padding:11px 13px;font-size:.88rem}.check-field{align-items:center;gap:9px;min-height:46px;font-size:.9rem;font-weight:700;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--blue)}.check-field.align-end{align-self:end}.credential-reveal{color:#174f4b;background:linear-gradient(135deg,#effbf9,#f9fdfc);border:1px solid #97d3ca;border-radius:15px;gap:12px;margin-bottom:20px;padding:20px;display:grid}.credential-reveal>div:first-child{justify-content:space-between;align-items:center;gap:16px;display:flex}.credential-reveal strong{color:var(--ink);letter-spacing:.13em;background:#fff;border:1px solid #b8ddd7;border-radius:9px;padding:7px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.3rem}.credential-reveal p{margin:0;font-size:.88rem}.credential-label{font-weight:800}.inline-actions{flex-wrap:wrap;gap:10px;display:flex}.action-card{border:1px solid var(--line);background:#fbfdfe;border-radius:14px}.action-card summary{cursor:pointer;padding:15px 17px;font-weight:780}.action-card[open] summary{border-bottom:1px solid var(--line)}.action-card .data-form,.action-copy,.relation-actions{margin:0;padding:18px}.relation-actions{gap:10px;display:grid}.relation-actions>div,.sensitive-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.text-danger-button{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:5px;font-weight:750}.sensitive-actions{border:1px solid var(--line);background:#fff;border-radius:14px;padding:17px}.sensitive-actions>div{gap:3px;display:grid}.sensitive-actions span{color:var(--ink-soft);font-size:.82rem}.danger-button{color:#fff;background:var(--danger);cursor:pointer;border:0;border-radius:11px;min-height:42px;padding:9px 16px;font-weight:750}.read-only-note{color:var(--ink-soft);border:1px solid var(--line);background:#fff;border-radius:13px;margin:0;padding:14px 16px;font-size:.87rem}.detail-hero{background:radial-gradient(circle at 92% 12%,#f5c45138,#0000 13rem),#fff;justify-content:space-between;align-items:flex-start;gap:20px;padding:clamp(25px,4vw,40px);display:flex}.detail-hero h1{margin:6px 0 3px;font-size:clamp(2rem,4vw,3.3rem);line-height:1.1}.detail-hero p:last-child{color:var(--ink-soft);margin:0}.relation-grid,.summary-grid,.two-column-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.relation-card,.summary-card,.record-card{border:1px solid var(--line);background:#fbfdfe;border-radius:15px;min-width:0}.relation-card,.record-card{gap:17px;padding:18px;display:grid}.record-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.record-card-head>div{min-width:0;display:grid}.record-card-head h3,.record-card-head strong{overflow-wrap:anywhere;margin:0}.record-card-head span,.record-card-head small{color:var(--ink-soft)}.compact-list,.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.compact-list>div,.detail-facts>div{min-width:0}.compact-list dt,.detail-facts dt{color:var(--ink-soft);font-size:.75rem;font-weight:700}.compact-list dd,.detail-facts dd{overflow-wrap:anywhere;margin:3px 0 0;font-weight:680}.compact-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card{flex-direction:column;padding:21px;display:flex}.summary-card>span,.summary-card small{color:var(--ink-soft);font-size:.78rem}.summary-card>strong{color:var(--blue-deep);margin:5px 0 1px;font-size:1.8rem}.summary-card>strong.summary-date{font-size:1.18rem}.timeline-list{display:grid}.timeline-list article{border-bottom:1px solid #e9f0f4;align-items:flex-start;gap:15px;padding:14px 0;display:flex;position:relative}.timeline-list article:last-child{border-bottom:0}.timeline-list article>div{gap:2px;display:grid}.timeline-list article>div span,.timeline-list article>div small{color:var(--ink-soft)}.timeline-dot{background:#fff;border:2px solid #9db2c0;border-radius:50%;flex:none;width:11px;height:11px;margin-top:6px}.timeline-dot.current{border-color:var(--teal);background:var(--teal);box-shadow:0 0 0 4px #2e9c941f}.timeline-list .current-chip{margin-left:auto}.reference-list{border:1px solid var(--line);background:var(--line);border-radius:13px;gap:1px;display:grid;overflow:hidden}.reference-list article{background:#fff;justify-content:space-between;align-items:center;gap:15px;padding:14px;display:flex}.reference-list article>div{align-items:center;gap:8px;display:flex}.reference-list article>span,.reference-list article>div>span:not(.current-chip){color:var(--ink-soft);font-size:.82rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-heading-row{justify-content:space-between;align-items:flex-end;gap:24px;min-width:0;display:flex}.page-heading-row .page-header{min-width:0}.page-heading-actions,.detail-hero-actions,.table-actions,.workflow-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-heading-actions{flex:none;justify-content:flex-end}.activity-filter-grid{grid-template-columns:minmax(230px,1.6fr) repeat(3,minmax(150px,1fr));align-items:end;gap:14px;display:grid}.activity-filter-grid .filter-actions{grid-column:1/-1}.activity-table{min-width:920px}.wrap-name,.activity-description,.activity-record-card,.calendar-event strong,.selected-day-event strong{overflow-wrap:anywhere}.activity-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:5px 9px;font-size:.74rem;font-weight:780;display:inline-flex}.activity-status>span{background:currentColor;border-radius:50%;width:6px;height:6px}.status-draft{color:#6b7280;background:#eef1f4}.status-active,.session-scheduled{color:#176f67;background:#e8f8f5}.status-completed,.session-completed{color:#245e97;background:#eaf3fb}.status-cancelled,.session-cancelled{color:#a33d45;background:#fff0f1}.status-archived{color:#725d36;background:#f7f1e5}.table-actions{flex-direction:column;align-items:flex-start;gap:5px}.activity-record-card .card-wide-fact{grid-column:1/-1}.activity-workflow,.workflow-panel,.activity-actions-panel,.calendar-panel{border:1px solid var(--line);background:var(--paper);border-radius:20px;min-width:0;box-shadow:0 12px 30px #2653740f}.activity-workflow{padding:clamp(18px,3vw,30px)}.workflow-panel{box-shadow:none;border-radius:16px;padding:clamp(18px,3vw,28px)}.workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.workflow-steps li{min-width:0;color:var(--ink-soft);border:1px solid var(--line);background:#f8fafb;border-radius:12px;align-items:center;gap:9px;padding:10px 12px;font-size:.82rem;font-weight:730;display:flex}.workflow-steps li>span{background:#e4ebef;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:.75rem;display:grid}.workflow-steps li.current{color:var(--blue-deep);background:var(--blue-pale);border-color:#a9cce3}.workflow-steps li.current>span,.workflow-steps li.done>span{color:#fff;background:var(--blue)}.field-note{color:var(--ink-soft);font-size:.76rem;font-weight:500}.read-only-field{border:1px solid var(--line);background:#f8fafb;border-radius:11px;gap:4px;padding:12px 14px;display:grid}.read-only-field span{color:var(--ink-soft);font-size:.78rem;font-weight:700}.session-draft-list,.editable-session-list,.session-card-list,.review-sessions,.selected-day-list{gap:14px;display:grid}.session-editor{border:1px solid var(--line);background:#fbfdfe;border-radius:14px;min-width:0;padding:18px}.session-editor-head,.editable-session summary,.session-display-card,.selected-day-event{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.session-editor-head{margin-bottom:16px}.session-editor-head>div,.editable-session summary>span,.session-main,.selected-day-event>div{gap:3px;min-width:0;display:grid}.session-editor-head span,.editable-session summary small,.session-main span,.session-main small,.selected-day-event span{color:var(--ink-soft);font-size:.8rem}.session-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;display:grid}.session-location{grid-column:span 2}.session-next-day{padding-bottom:2px}.workflow-actions{justify-content:flex-end;margin-top:20px}.review-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0 0 20px;display:grid}.review-facts>div{border:1px solid var(--line);background:#fbfdfe;border-radius:12px;min-width:0;padding:15px}.review-facts dt{color:var(--ink-soft);font-size:.75rem;font-weight:700}.review-facts dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:5px 0 0;font-weight:680}.review-description{grid-column:1/-1}.review-sessions{grid-template-columns:repeat(2,minmax(0,1fr))}.review-sessions article{background:var(--blue-pale);border:1px solid #c9dce8;border-radius:12px;gap:4px;min-width:0;padding:15px;display:grid}.review-sessions span,.review-sessions small{color:var(--ink-soft)}.activity-detail-hero{align-items:center}.detail-hero-actions{justify-content:flex-end}.activity-description{max-width:900px;color:var(--ink);white-space:pre-wrap;margin:0 0 24px;line-height:1.75}.activity-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.session-display-card{border:1px solid var(--line);background:#fbfdfe;border-radius:14px;min-width:0;padding:17px}.session-display-card.is-cancelled,.editable-session.is-cancelled,.calendar-event.is-cancelled,.selected-day-event.is-cancelled{opacity:.67}.session-date-block{flex:0 0 118px;gap:3px;display:grid}.session-date-block strong{color:var(--blue-deep)}.session-date-block span{color:var(--ink-soft);font-size:.8rem}.session-main{flex:auto}.activity-actions-panel,.calendar-panel{padding:clamp(18px,3vw,30px)}.activity-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.cancellation-box,.archive-box{border:1px solid var(--line);background:#fbfdfe;border-radius:14px;gap:14px;min-width:0;padding:18px;display:grid}.cancellation-box>div,.archive-box>div{gap:3px;display:grid}.cancellation-box span,.archive-box span{color:var(--ink-soft);font-size:.82rem}.archive-box{align-content:space-between}.editable-session summary{align-items:center}.session-edit-body{gap:20px;padding:18px;display:grid}.session-cancel-form{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding-top:17px;display:grid}.sticky-message{z-index:10;position:sticky;top:88px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.calendar-toolbar h2{margin:4px 0 0;font-size:1.55rem}.calendar-toolbar nav{flex-wrap:wrap;gap:8px;display:flex}.calendar-weekdays,.calendar-grid,.compact-calendar-weekdays,.compact-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{border:1px solid var(--line);border-bottom:0;border-radius:13px 13px 0 0;overflow:hidden}.calendar-weekdays span{color:var(--ink-soft);border-right:1px solid var(--line);text-align:center;background:#f7fafc;padding:9px;font-size:.76rem;font-weight:750}.calendar-weekdays span:last-child{border-right:0}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:0 0 13px 13px;overflow:hidden}.calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-width:0;min-height:142px;padding:8px}.calendar-empty-cell{background:#f8fafb}.calendar-cell.is-today{background:#f4fbfa;box-shadow:inset 0 0 0 2px #2e9c9466}.calendar-day-number{width:27px;height:27px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:6px;font-size:.8rem;font-weight:800;text-decoration:none;display:grid}.is-today .calendar-day-number{color:#fff;background:var(--teal)}.calendar-cell-events{gap:5px;display:grid}.calendar-event{min-width:0;color:var(--ink);border-left:3px solid var(--blue);background:var(--blue-pale);border-radius:6px;gap:1px;padding:6px;font-size:.7rem;text-decoration:none;display:grid}.calendar-event time,.calendar-event small{color:var(--ink-soft);font-size:.65rem}.calendar-event strong,.calendar-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-event.is-cancelled{border-left-color:var(--danger);text-decoration:line-through}.calendar-more{color:var(--blue-deep);font-size:.68rem;font-weight:740;text-decoration:none}.calendar-mobile{display:none}.compact-calendar-weekdays span{color:var(--ink-soft);text-align:center;padding:5px;font-size:.7rem;font-weight:750}.compact-calendar-grid{gap:4px}.compact-calendar-day{aspect-ratio:1;min-width:0;color:var(--ink);border:1px solid #0000;border-radius:9px;place-items:center;font-size:.78rem;font-weight:750;text-decoration:none;display:grid;position:relative}.compact-calendar-day:hover,.compact-calendar-day.selected{background:var(--blue-pale);border-color:#9fc6df}.compact-calendar-day.today span{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.compact-calendar-day i{background:var(--blue);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}.selected-day-panel{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.selected-day-panel h3{margin:3px 0 0}.selected-day-event{color:var(--ink);border:1px solid var(--line);background:#fbfdfe;border-radius:12px;align-items:center;padding:14px;text-decoration:none}.selected-day-event time{color:var(--blue-deep);font-size:.78rem;font-weight:780}@media (max-width:1279px){.activity-list-panel .desktop-data-view{display:none}.activity-list-panel .mobile-data-view{display:grid}}@media (max-width:899px){.auth-page{padding:24px 0;display:block}.auth-welcome{padding:32px 24px 18px}.auth-welcome:after,.auth-accent,.school-name span{display:none}.auth-welcome h1{font-size:clamp(2.25rem,13vw,3.3rem)}.school-name{margin-top:22px}.auth-card{border-radius:22px;width:min(520px,100% - 32px);margin:20px auto;padding:27px 22px}.app-layout{display:block}.desktop-sidebar{display:none}.menu-button{border:1px solid var(--line);background:#fff;border-radius:11px;flex:none;place-content:center;gap:4px;width:42px;height:42px;display:grid}.menu-button span{background:var(--ink);border-radius:2px;width:18px;height:2px}.drawer-backdrop{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0e253775;border:0;display:block;position:fixed;inset:0}.mobile-drawer{z-index:40;width:min(310px,86vw);padding:24px 17px 20px;transition:transform .18s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%);box-shadow:20px 0 60px #0003}.mobile-drawer.open{transform:translate(0)}.drawer-close{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;place-content:center;align-self:flex-end;width:38px;height:38px;font-size:1.6rem;display:grid}.app-topbar{z-index:20;position:sticky;top:0}.topbar-title,.user-copy>span,.user-copy small{display:none}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-field{grid-column:1/-1}.enrollment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading-row{flex-direction:column;align-items:flex-start}.page-heading-actions{justify-content:flex-start}.activity-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-search-field{grid-column:1/-1}.calendar-cell{min-height:118px;padding:5px}.calendar-event{padding:4px;font-size:.64rem}}@media (max-width:720px){.app-topbar{min-height:68px;padding:10px 14px}.user-area{gap:9px;min-width:0}.user-copy{min-width:0}.user-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:105px;overflow:hidden}.secondary-button.compact{padding-inline:10px}.app-main{padding:18px 14px 30px}.welcome-panel{border-radius:21px;padding:30px 23px}.welcome-panel .lead{margin-bottom:28px}.dashboard-grid{grid-template-columns:1fr;gap:14px}.info-card{min-height:0;padding:23px}.module-placeholder{border-radius:20px;min-height:calc(100svh - 118px)}.page-header h1{font-size:2rem}.filter-panel,.data-panel,.admin-panel{border-radius:17px;padding:18px}.filter-grid,.form-grid,.enrollment-grid,.relation-grid,.summary-grid,.two-column-panels,.compact-list,.detail-facts,.compact-facts{grid-template-columns:minmax(0,1fr)}.filter-actions,.form-actions{justify-content:stretch}.filter-actions>*,.form-actions>*{flex:1}.section-heading,.detail-hero,.sensitive-actions,.credential-reveal>div:first-child{flex-direction:column;align-items:flex-start}.detail-hero{border-radius:17px;padding:24px 20px}.desktop-data-view{display:none}.mobile-data-view{display:grid}.mobile-card-list{gap:12px}.record-count{align-self:flex-start}.credential-reveal strong{max-width:100%;font-size:1.15rem}.relation-actions>div{align-items:flex-start}.sensitive-actions>button{width:100%}.reference-list article{flex-direction:column;align-items:flex-start}.page-heading-actions,.page-heading-actions>*,.detail-hero-actions,.detail-hero-actions>*{width:100%}.activity-filter-grid,.session-field-grid,.review-facts,.review-sessions,.activity-facts,.activity-action-grid,.session-cancel-form{grid-template-columns:minmax(0,1fr)}.activity-search-field,.session-location,.review-description{grid-column:auto}.workflow-steps{gap:5px}.workflow-steps li{justify-content:center;padding:8px 5px;font-size:0}.workflow-steps li>span{font-size:.72rem}.workflow-actions>*{flex:1}.session-editor,.session-display-card{padding:15px}.session-editor-head,.session-display-card,.editable-session summary,.selected-day-event{flex-direction:column;align-items:flex-start}.session-date-block{flex-basis:auto}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-toolbar nav{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.calendar-toolbar nav a{text-align:center;min-width:0;padding-inline:5px}.calendar-desktop{display:none}.calendar-mobile{display:grid}}.section-heading-actions,.session-roster-heading,.volunteer-record-head,.import-confirm-bar{justify-content:space-between;align-items:center;gap:14px;display:flex}.volunteer-roster-section,.session-roster-list,.volunteer-record-grid,.volunteer-form-stack,.parent-volunteer-history,.import-flow{min-width:0}.session-roster-list{gap:18px;display:grid}.session-roster-card{border:1px solid var(--line);background:#fbfdff;border-radius:17px;min-width:0;padding:20px}.session-roster-heading h3,.session-roster-heading p{margin:3px 0 0}.session-roster-heading p,.volunteer-record-head span,.volunteer-student-list span,.volunteer-notes,.import-step p,.import-confirm-bar span{color:var(--ink-soft);font-size:.86rem}.volunteer-count{color:var(--blue-deep);background:var(--blue-pale);border-radius:999px;flex:none;padding:7px 11px;font-size:.82rem;font-weight:800}.volunteer-record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.volunteer-record{background:#fff;border:1px solid #d7e4ec;border-radius:14px;min-width:0;padding:15px}.volunteer-record.is-cancelled{opacity:.7;background:#f6f8fa}.volunteer-record-head>div,.volunteer-student-list>div,.history-card>div:first-child,.import-confirm-bar>div:first-child{gap:2px;min-width:0;display:grid}.volunteer-record strong,.candidate-card strong,.history-card strong{overflow-wrap:anywhere}.volunteer-student-list{gap:8px;margin:13px 0;display:grid}.volunteer-student-list>div{background:var(--blue-pale);border-radius:10px;padding:9px 10px}.volunteer-notes,.empty-inline{margin:12px 0}.add-volunteer-panel{border-top:1px solid var(--line);margin-top:16px}.add-volunteer-panel>summary{color:var(--blue-deep);cursor:pointer;padding:15px 0 4px;font-weight:800}.volunteer-form-stack{gap:15px;padding-top:12px;display:grid}.volunteer-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.candidate-card{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #cadbe6;border-radius:12px;gap:3px;padding:13px;display:grid}.candidate-card.is-selected{border-color:var(--blue);box-shadow:0 0 0 3px #2f78b71c}.candidate-card span,.candidate-card small,.student-selection-panel p,.student-choice small{color:var(--ink-soft)}.student-selection-panel{background:#f1f8fc;border-radius:13px;gap:11px;min-width:0;padding:15px;display:grid}.student-selection-panel p{margin:-5px 0 2px}.student-choice{background:#fff;border:1px solid #d7e5ed;border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.student-choice>span{display:grid}.assignment-review{border-left:4px solid var(--teal);background:#fff;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:11px;display:flex}.parent-volunteer-history{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.history-card{border:1px solid var(--line);background:#fbfdff;border-radius:14px;min-width:0;padding:16px}.history-card .detail-facts{margin-block:12px}.import-flow{gap:15px;display:grid}.import-step{grid-template-columns:auto minmax(0,1fr);gap:18px;display:grid}.import-step-number{color:#fff;background:var(--blue-deep);border-radius:50%;place-items:center;width:38px;height:38px;font-weight:850;display:grid}.import-step-content{min-width:0}.import-step-content h2,.import-step-content p{margin:0 0 10px}.upload-form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.upload-form input{min-width:0;max-width:100%}.import-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:16px 0;display:grid}.import-summary-grid>div{background:var(--blue-pale);border-radius:11px;gap:3px;padding:11px;display:grid}.import-summary-grid span{color:var(--ink-soft);font-size:.75rem}.import-summary-grid strong{font-size:1.25rem}.import-summary-grid .has-error{color:var(--danger);background:#fff1f1}.import-table-scroll{overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:13px;width:100%;min-width:0;max-width:100%;overflow-x:auto}.import-preview-table{border-collapse:collapse;width:100%;min-width:980px}.import-preview-table th,.import-preview-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:11px}.import-preview-table th{color:#fff;background:var(--blue-deep);font-size:.8rem}.import-preview-table td small{color:var(--ink-soft);display:block}.import-preview-table ul{min-width:250px;margin:0;padding-left:18px}.import-row-error{background:#fff5f5}.import-row-warning{background:#fffaf0}.validation-chip{border-radius:999px;margin-bottom:4px;padding:3px 7px;font-size:.72rem;font-weight:800;display:inline-flex}.validation-valid{color:#176c56;background:#e8f7f0}.validation-warning{color:#855f09;background:#fff1c2}.validation-error{color:var(--danger);background:#ffe3e3}.import-confirm-bar{background:#f1f7fb;border-radius:12px;margin-top:16px;padding:14px}@media (max-width:900px){.volunteer-record-grid,.parent-volunteer-history,.candidate-grid{grid-template-columns:minmax(0,1fr)}.import-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.section-heading-actions,.session-roster-heading,.volunteer-record-head,.import-confirm-bar{flex-direction:column;align-items:flex-start;width:100%}.section-heading-actions>*,.import-confirm-bar .inline-actions,.import-confirm-bar .inline-actions>*,.upload-form>button{width:100%}.session-roster-card{padding:15px}.volunteer-search-row,.import-step{grid-template-columns:minmax(0,1fr)}.volunteer-search-row>button{width:100%}.import-step-number{width:32px;height:32px}.import-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.checkin-flow-card{text-align:left;gap:22px;width:min(100%,560px);min-width:0;padding:clamp(22px,6vw,38px);display:grid}.checkin-brand{text-align:center}.checkin-brand h1{margin:7px 0 0;font-size:clamp(2rem,9vw,3rem)}.checkin-brand>p:last-child{color:var(--ink-soft);margin:2px 0 0;font-size:.84rem}.checkin-form,.checkin-step,.checkin-success{gap:17px;min-width:0;display:grid}.grade-fieldset{border:0;min-width:0;margin:0;padding:0}.grade-fieldset legend,.checkin-credential-field>span{margin-bottom:10px;font-size:.96rem;font-weight:800}.grade-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.grade-choice{cursor:pointer;background:#fff;border:1px solid #bfd0dc;border-radius:13px;place-items:center;min-height:70px;padding:9px;display:grid;position:relative}.grade-choice input{opacity:0;width:1px;height:1px;position:absolute}.grade-choice strong{font-size:1.05rem}.grade-choice span{color:var(--ink-soft);font-size:.75rem}.grade-choice.selected,.grade-choice:focus-within{border-color:var(--blue);background:var(--blue-pale);box-shadow:0 0 0 3px #2f78b71f}.checkin-credential-field input{text-align:center;text-transform:uppercase;letter-spacing:.16em;min-height:58px;font-size:1.22rem;font-weight:800}.checkin-main-button{width:100%;min-height:54px}.checkin-status,.checkin-empty{text-align:center;background:var(--blue-pale);border-radius:14px;padding:18px}.checkin-welcome,.checkin-empty{gap:3px;display:grid}.checkin-welcome{color:#fff;background:linear-gradient(135deg, var(--blue-deep), var(--teal));border-radius:15px;padding:15px}.checkin-welcome span,.checkin-welcome small{color:#dff4f5}.checkin-welcome strong{overflow-wrap:anywhere;font-size:1.3rem}.checkin-section-heading,.attendance-card-head,.attendance-page-header,.date-navigation{justify-content:space-between;align-items:center;gap:12px;display:flex}.checkin-section-heading h2{margin:0;font-size:1.25rem}.checkin-section-heading span{color:var(--ink-soft);font-size:.82rem}.checkin-session-list{gap:12px;display:grid}.checkin-session-card{border:1px solid var(--line);background:#fbfdff;border-radius:16px;gap:14px;min-width:0;padding:17px;display:grid}.checkin-session-card h3,.checkin-session-card p{overflow-wrap:anywhere;margin:4px 0}.checkin-session-card small,.session-time{color:var(--ink-soft)}.session-time{font-weight:800}.checkin-text-button{width:fit-content;color:var(--blue-deep);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:0 auto;padding:7px;text-decoration:underline}.checkin-review-facts{border:1px solid var(--line);border-radius:14px;gap:0;margin:0;display:grid;overflow:hidden}.checkin-review-facts>div{border-bottom:1px solid var(--line);grid-template-columns:84px minmax(0,1fr);gap:10px;padding:12px 14px;display:grid}.checkin-review-facts>div:last-child{border-bottom:0}.checkin-review-facts dt{color:var(--ink-soft)}.checkin-review-facts dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:750}.checkin-success{text-align:center}.success-mark{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:78px;height:78px;margin:0 auto;font-size:2.2rem;font-weight:900;display:grid;box-shadow:0 13px 28px #2e9c9440}.checkin-success h2,.checkin-success p{margin:0}.success-time{background:#eefaf8;border-radius:14px;gap:3px;padding:16px;display:grid}.success-time span,.success-time small,.checkin-footer,.checkin-footer a{color:var(--ink-soft);font-size:.78rem}.checkin-notice{color:var(--blue-deep);background:var(--blue-pale);border-radius:10px;padding:10px}.checkin-footer{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:17px;display:flex}.attendance-page-header>div{min-width:0}.date-navigation{border:1px solid var(--line);background:#fff;border-radius:16px;flex-wrap:wrap;padding:14px}.date-picker-form{align-items:center;gap:9px;margin-inline:auto;display:flex}.date-picker-form label{font-size:.82rem;font-weight:750}.date-picker-form input{border:1px solid #bfd0dc;border-radius:10px;min-height:40px;padding:7px 10px}.attendance-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.attendance-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.attendance-card{border:1px solid var(--line);background:#fbfdff;border-radius:16px;min-width:0;padding:18px}.attendance-card-head{align-items:flex-start}.attendance-card-head>div{min-width:0}.attendance-card-head h3{overflow-wrap:anywhere;margin:3px 0}.attendance-card-head span,.attendance-card-head small,.attendance-students span{color:var(--ink-soft);font-size:.8rem}.attendance-parent{background:var(--blue-pale);border-radius:12px;gap:7px;margin-block:15px;padding:12px;display:grid}.attendance-parent>strong{overflow-wrap:anywhere}.attendance-students{gap:2px;display:grid}.attendance-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.attendance-facts>div{min-width:0}.attendance-facts dt{color:var(--ink-soft);font-size:.72rem}.attendance-facts dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:.88rem;font-weight:750}.attendance-editor{border-top:1px solid var(--line);margin-top:16px}.attendance-editor>summary{color:var(--blue-deep);cursor:pointer;padding-top:13px;font-weight:800}.attendance-editor-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:14px;display:grid}.attendance-editor-form .form-error,.attendance-editor-form>button,.attendance-reason-field{grid-column:1/-1}.attendance-correction-note{color:var(--ink-soft);border-left:3px solid var(--sun);background:#fffaf0;padding:9px;font-size:.8rem}.attendance-present{color:#176c56;background:#e8f7f0}.attendance-late{color:#855f09;background:#fff1c2}.attendance-absent,.attendance-excused{color:var(--danger);background:#ffe3e3}.attendance-not_recorded{color:var(--ink-soft);background:#eef2f5}.history-summary-chips{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.qr-page-wrap{gap:20px;display:grid}.qr-display-card{text-align:center;border:1px solid var(--line);width:min(100%,760px);box-shadow:var(--shadow);background:#fff;border-radius:24px;justify-items:center;gap:9px;margin:0 auto;padding:clamp(28px,5vw,54px);display:grid}.qr-display-card h1,.qr-display-card p{margin:0}.checkin-qr-image{width:min(100%,440px);height:auto;margin:12px auto;display:block}.qr-display-card small{max-width:520px;color:var(--ink-soft)}.qr-print-button{margin-top:14px}@media (max-width:900px){.attendance-card-list{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.checkin-page{align-items:start;padding:10px}.checkin-flow-card{border-radius:21px}.checkin-footer,.attendance-page-header,.attendance-card-head,.date-navigation,.session-roster-heading,.volunteer-record-head,.import-confirm-bar{flex-direction:column;align-items:stretch}.attendance-page-header>a,.date-navigation>a,.date-picker-form,.date-picker-form input,.date-picker-form button,.upload-form>button{width:100%}.date-picker-form{grid-template-columns:minmax(0,1fr);margin:0;display:grid}.attendance-filter-panel,.attendance-editor-form,.attendance-facts,.volunteer-search-row,.import-step{grid-template-columns:minmax(0,1fr)}.attendance-editor-form>*,.attendance-reason-field{grid-column:1}.history-summary-chips{justify-content:flex-start;width:100%}}@media (max-width:390px){.grade-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-review-facts>div{grid-template-columns:70px minmax(0,1fr)}}@media print{.desktop-sidebar,.app-topbar,.qr-screen-only{display:none!important}.app-layout{display:block}.app-main{width:100%;padding:0}.qr-display-card{width:100%;box-shadow:none;border:0}}.dashboard-metric-grid,.report-metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;display:grid}.dashboard-metric,.report-metric-card{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f5fafc);border-radius:14px;min-width:0;padding:15px}.dashboard-metric dt,.report-metric-card dt{color:var(--ink-soft);font-size:.76rem;font-weight:750}.dashboard-metric dd,.report-metric-card dd{overflow-wrap:anywhere;color:var(--blue-deep);margin:5px 0 0;font-size:clamp(1.1rem,2.1vw,1.55rem);font-weight:900}.dashboard-session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-session-card{min-width:0;color:inherit;border:1px solid var(--line);background:#fbfdff;border-radius:16px;gap:7px;padding:18px;text-decoration:none;display:grid}.dashboard-session-card:hover,.dashboard-session-card:focus-visible{border-color:var(--teal);box-shadow:0 10px 25px #173f451a}.dashboard-session-card h3,.dashboard-session-card span,.dashboard-session-card small{overflow-wrap:anywhere;margin:0}.dashboard-session-card>span,.dashboard-session-card small{color:var(--ink-soft);font-size:.8rem}.dashboard-session-card dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0;display:grid}.dashboard-session-card dl>div{background:var(--blue-pale);border-radius:9px;padding:8px}.dashboard-session-card dt{color:var(--ink-soft);font-size:.67rem}.dashboard-session-card dd{margin:2px 0 0;font-weight:850}.dashboard-operational-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-compact-list{gap:8px;display:grid}.dashboard-compact-list a{min-width:0;color:inherit;border:1px solid var(--line);border-radius:11px;gap:2px;padding:11px 12px;text-decoration:none;display:grid}.dashboard-compact-list time,.dashboard-compact-list span{color:var(--ink-soft);font-size:.76rem}.dashboard-compact-list strong,.dashboard-compact-list span{overflow-wrap:anywhere}.report-page,.attendance-report-page{min-width:0}.report-page-header,.report-detail-hero,.report-action-row,.pagination-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-action-row{flex-wrap:wrap;justify-content:flex-end}.report-filter-panel{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;min-width:0;padding:17px;display:grid}.report-filter-panel>button{align-self:end;min-height:43px}.report-table-scroll{border:1px solid var(--line);-webkit-overflow-scrolling:touch;border-radius:13px;max-width:100%;overflow-x:auto}.report-table{border-collapse:collapse;background:#fff;width:100%;min-width:760px}.report-table th,.report-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 12px}.report-table thead th{color:#fff;background:var(--blue-deep);white-space:nowrap;font-size:.75rem}.report-table tbody th,.report-table tbody td{overflow-wrap:anywhere;font-size:.82rem}.report-table tbody tr:last-child>*{border-bottom:0}.report-definition-note,.report-policy-note{color:var(--ink-soft);border-left:4px solid var(--sun);background:#fffaf0;border-radius:9px;padding:12px 14px}.report-detail-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.report-detail-card{border:1px solid var(--line);background:#fbfdff;border-radius:15px;min-width:0;padding:17px}.report-detail-card h3{overflow-wrap:anywhere;margin:4px 0}.report-detail-card time,.report-detail-card>div>span{color:var(--ink-soft);font-size:.78rem}.report-detail-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0 0;display:grid}.report-detail-card dt{color:var(--ink-soft);font-size:.7rem}.report-detail-card dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:.82rem;font-weight:750}.report-student-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.report-student-tags span{background:var(--blue-pale);border-radius:999px;padding:5px 8px;font-size:.74rem}.pagination-row{margin-top:16px}.pagination-row>div{gap:8px;display:flex}.attendance-mobile-cards,.print-report-header{display:none}.settings-link-card{color:inherit;text-decoration:none;display:block}.settings-link-card:hover,.settings-link-card:focus-visible{border-color:var(--teal);box-shadow:0 12px 28px #173f451a}.external-sync-page,.external-sync-settings-stack,.external-source-form,.sync-run-detail-page{min-width:0}.external-sync-settings-stack,.external-source-form{gap:16px;display:grid}.external-source-list{gap:18px;display:grid}.external-source-card,.external-source-create{border:1px solid var(--line);background:#fbfdff;border-radius:14px;min-width:0;padding:18px}.external-source-create{border-style:dashed;gap:16px;margin-top:20px;display:grid}.external-source-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.external-source-card-heading h3,.external-source-create h3,.external-source-create p{margin:0}.external-source-card-heading h3{overflow-wrap:anywhere}.external-source-summary,.sync-health-grid,.sync-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.external-source-summary>div,.sync-health-grid>div,.sync-metric-grid>div{border:1px solid var(--line);background:#f9fcfd;border-radius:11px;min-width:0;padding:12px}.external-source-summary dt,.sync-health-grid span,.sync-metric-grid dt{color:var(--ink-soft);font-size:.72rem}.external-source-summary dd,.sync-health-grid strong,.sync-metric-grid dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:780}.external-source-form{grid-template-columns:repeat(2,minmax(0,1fr))}.external-url-field,.external-source-form .form-help,.external-source-form .form-error,.external-source-form .form-success,.external-source-form .external-sync-action-row{grid-column:1/-1}.external-sync-action-row{flex-wrap:wrap;gap:10px;display:flex}.sync-badge{background:#edf7f7;border:1px solid #9db8bd;border-radius:999px;align-items:center;min-height:27px;padding:4px 9px;font-size:.72rem;font-weight:800;line-height:1.2;display:inline-flex}.status-error,.status-failed,.validation-error,.validation-conflict{color:#8f2525;background:#fff0f0;border-color:#e4a8a8}.status-review_required,.validation-review_required,.validation-warning{color:#795207;background:#fff8df;border-color:#e8c47a}.status-succeeded,.status-no_change,.validation-ready{color:#175d46;background:#ecfaf4;border-color:#91c9b4}.sync-history-list{gap:9px;display:grid}.sync-history-list a{min-width:0;color:inherit;border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;text-decoration:none;display:flex}.sync-history-list a>div{flex-wrap:wrap;gap:6px 12px;min-width:0;display:flex}.sync-history-list a>div:first-child{display:grid}.sync-history-list span{color:var(--ink-soft);font-size:.75rem}.sync-run-action-panel{margin-top:16px}.sync-diff-table-scroll{border:1px solid var(--line);-webkit-overflow-scrolling:touch;border-radius:12px;max-width:100%;overflow-x:auto}.sync-diff-table{border-collapse:collapse;width:100%;min-width:980px}.sync-diff-table th,.sync-diff-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 12px}.sync-diff-table thead th{color:#fff;background:var(--blue-deep);white-space:nowrap}.sync-diff-table tbody th,.sync-diff-table td>strong,.sync-diff-table td>span,.sync-diff-table td>small,.sync-diff-table th>small{overflow-wrap:anywhere;display:block}.sync-diff-table td>span,.sync-diff-table td>small,.sync-diff-table th>small{color:var(--ink-soft);margin-top:4px;font-size:.72rem}.sync-diff-cards{display:none}.sync-health-panel{min-width:0}@media (max-width:1100px){.dashboard-metric-grid,.report-metrics-grid,.report-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){.dashboard-session-grid,.dashboard-operational-grid,.report-detail-card-list{grid-template-columns:minmax(0,1fr)}.report-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-desktop-table{display:none}.attendance-mobile-cards{display:grid}.external-source-summary,.sync-health-grid,.sync-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-diff-table-scroll{display:none}.sync-diff-cards{gap:12px;display:grid}.sync-diff-cards article{border:1px solid var(--line);background:#fbfdff;border-radius:13px;min-width:0;padding:14px}.sync-diff-cards header{justify-content:space-between;align-items:flex-start;gap:9px;display:flex}.sync-diff-cards code,.sync-diff-cards p{overflow-wrap:anywhere;white-space:normal;margin-top:8px;display:block}.sync-diff-cards dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sync-diff-cards dt{color:var(--ink-soft);font-size:.7rem}.sync-diff-cards dd{overflow-wrap:anywhere;margin:3px 0 0}}@media (max-width:600px){.dashboard-metric-grid,.report-metrics-grid,.report-filter-panel{grid-template-columns:minmax(0,1fr)}.dashboard-session-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.report-page-header,.report-detail-hero,.report-action-row,.pagination-row{flex-direction:column;align-items:stretch}.report-action-row>*,.pagination-row a,.report-filter-panel>button{width:100%}.report-detail-card dl{grid-template-columns:minmax(0,1fr)}.date-range-picker span{display:none}.external-source-form,.external-source-summary,.sync-health-grid,.sync-metric-grid,.sync-diff-cards dl{grid-template-columns:minmax(0,1fr)}.external-sync-action-row,.external-source-card-heading,.sync-history-list a,.sync-diff-cards header{flex-direction:column;align-items:stretch}.external-sync-action-row>*,.external-sync-page .page-header>a{width:100%}}@media print{@page{size:A4;margin:12mm}.print-hidden,.report-filter-panel,.attendance-editor,.pagination-row,.back-link{display:none!important}.print-report-header{border-bottom:2px solid #173f45;gap:3px;margin-bottom:16px;padding-bottom:12px;display:grid}.print-report-header h1,.print-report-header p{margin:0}.data-panel,.report-detail-card,.report-table-scroll{break-inside:avoid;box-shadow:none;border-color:#aab7bd}.report-table-scroll{overflow:visible}.report-table{min-width:0;font-size:8pt}.attendance-desktop-table{display:block}.attendance-mobile-cards{display:none}}.questionnaire-page,.questionnaire-list-page,.questionnaire-detail-page,.questionnaire-builder,.questionnaire-preview-shell,.questionnaire-preview-page,.printable-questionnaire{min-width:0}.questionnaire-filter-grid{grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(150px,1fr));align-items:end;gap:14px;display:grid}.questionnaire-filter-grid .filter-actions{grid-column:1/-1}.questionnaire-status,.activity-state,.question-tags span{width:fit-content;min-height:27px;color:var(--ink-soft);white-space:nowrap;background:#f3f7f9;border:1px solid #bfd0dc;border-radius:999px;align-items:center;padding:4px 9px;font-size:.72rem;font-weight:800;line-height:1.2;display:inline-flex}.questionnaire-status.status-draft,.activity-state.activity-draft{color:#795207;background:#fff8df;border-color:#e8c47a}.questionnaire-status.status-published,.activity-state.activity-active,.activity-state.activity-completed{color:#175d46;background:#ecfaf4;border-color:#91c9b4}.questionnaire-status.status-archived,.activity-state.activity-archived,.activity-state.activity-cancelled{color:#6b5960;background:#f6f1f3;border-color:#d5c4ca}.questionnaire-table th[scope=row] strong,.questionnaire-table th[scope=row] small{display:block}.questionnaire-table th[scope=row] small{color:var(--ink-soft);margin-top:4px;font-weight:500}.questionnaire-link-tags,.selected-activity-summary,.questionnaire-header-meta,.question-tags,.activity-context-list{flex-wrap:wrap;gap:6px;display:flex}.questionnaire-link-tags span,.selected-activity-summary span{background:var(--blue-pale);border-radius:999px;padding:4px 8px;font-size:.74rem}.questionnaire-mobile-list{gap:12px;display:none}.questionnaire-list-card,.questionnaire-activity-card,.starter-question-card,.questionnaire-section-card,.questionnaire-question-card,.questionnaire-readonly-sections>article{border:1px solid var(--line);background:#fbfdff;border-radius:15px;min-width:0}.questionnaire-list-card{padding:16px}.questionnaire-list-card header,.questionnaire-activity-card header,.questionnaire-section-heading,.questionnaire-builder-header,.questionnaire-builder-footer,.question-editor-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.questionnaire-list-card header>div,.questionnaire-activity-card header>div{min-width:0;display:grid}.questionnaire-list-card strong,.questionnaire-list-card dd,.questionnaire-activity-card strong,.questionnaire-question-card h4,.questionnaire-section-heading h3,.starter-question-card h3{overflow-wrap:anywhere}.questionnaire-list-card small,.questionnaire-activity-card header span,.questionnaire-activity-card p,.questionnaire-section-heading p,.questionnaire-question-card p{color:var(--ink-soft)}.questionnaire-list-card dl{gap:8px;margin:14px 0;display:grid}.questionnaire-list-card dl>div{grid-template-columns:92px minmax(0,1fr);gap:8px;display:grid}.questionnaire-list-card dt{color:var(--ink-soft);font-size:.75rem}.questionnaire-list-card dd{margin:0;font-size:.84rem;font-weight:700}.questionnaire-create-form,.questionnaire-metadata-form,.section-editor,.question-editor,.questionnaire-preview-form{gap:18px;display:grid}.questionnaire-form-actions{justify-content:flex-end;display:flex}.questionnaire-activity-tools{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;margin:14px 0;display:grid}.questionnaire-activity-picker,.choice-editor,.rating-editor,.preview-question{border:0;min-width:0;margin:0;padding:0}.questionnaire-activity-picker{gap:9px;max-height:520px;padding:4px;display:grid;overflow-y:auto}.questionnaire-activity-picker>legend,.choice-editor>legend,.rating-editor>legend{margin-bottom:10px;font-weight:800}.compact-picker{max-height:360px;margin-bottom:16px}.activity-choice{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:12px;min-width:0;padding:14px;display:grid}.activity-choice.selected{box-shadow:inset 4px 0 var(--teal);background:#f1f9fd;border-color:#7cb9d5}.activity-choice input{width:18px;height:18px;accent-color:var(--blue);margin-top:2px}.activity-choice-copy{min-width:0;display:grid}.activity-choice-copy small{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:3px}.questionnaire-activity-grid,.starter-question-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.questionnaire-activity-card{padding:15px}.questionnaire-activity-card p{white-space:pre-wrap;margin:12px 0}.activity-context-list{color:var(--ink-soft);font-size:.75rem;display:grid}.questionnaire-builder-header{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#235f91,#267d83);border-radius:23px;padding:clamp(22px,4vw,38px)}.questionnaire-builder-header .eyebrow{color:#bce9df}.questionnaire-builder-header h1{overflow-wrap:anywhere;margin:7px 0 12px;font-size:clamp(1.8rem,4vw,3.1rem)}.questionnaire-header-meta{align-items:center}.questionnaire-header-meta>span:not(.questionnaire-status){color:#dcebf2;font-size:.78rem}.questionnaire-header-actions,.questionnaire-lifecycle-actions,.compact-control-row,.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.questionnaire-header-actions{justify-content:flex-end;align-items:flex-start}.questionnaire-header-actions .questionnaire-lifecycle-actions{justify-content:flex-end}.questionnaire-lifecycle-actions{align-items:center}.questionnaire-action-error{color:var(--danger);background:#fff5f5;border:1px solid #f1c5c5;border-radius:11px;flex-basis:100%;padding:10px 12px}.questionnaire-action-error p,.questionnaire-action-error ul{margin:0}.duplicate-inline-action{gap:4px;display:grid}.row-button{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.inline-error{max-width:220px;color:var(--danger);white-space:normal;font-size:.7rem}.danger-outline{color:var(--danger);border-color:#e3b6b6}.text-button,.icon-text-button{color:var(--blue-deep);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 8px;font-weight:750}.text-button:hover,.icon-text-button:hover:not(:disabled){background:var(--blue-pale)}.danger-text{color:var(--danger)}.starter-section-select{max-width:460px;margin-bottom:14px}.starter-question-card{gap:10px;padding:15px;display:grid}.starter-question-card>span{color:var(--teal);font-size:.72rem;font-weight:800}.starter-question-card h3{margin:0;font-size:1rem}.starter-question-card small{color:var(--ink-soft)}.starter-question-card button{justify-self:start}.questionnaire-sections{gap:16px;display:grid}.questionnaire-section-card{background:#fff;padding:clamp(16px,3vw,24px);box-shadow:0 10px 28px #2653740f}.questionnaire-section-heading{border-bottom:1px solid var(--line);padding-bottom:14px}.questionnaire-section-heading>div:first-child{min-width:0}.questionnaire-section-heading span,.preview-section>header>span{color:var(--teal);font-size:.72rem;font-weight:800}.questionnaire-section-heading h3,.questionnaire-section-heading p{margin:3px 0 0}.section-editor,.question-editor{background:#f7fbfd;border:1px solid #bfd9e5;border-radius:13px;margin-top:16px;padding:16px}.section-editor h3,.question-editor h4{margin:0}.questionnaire-question-list{gap:10px;margin-top:16px;display:grid}.questionnaire-question-card{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.question-number{color:#fff;background:var(--blue-deep);border-radius:9px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.question-copy{min-width:0}.question-copy h4,.question-copy p,.question-copy ol{margin:7px 0 0}.question-copy small{color:var(--ink-soft);margin-top:7px;display:block}.question-editor-slot{grid-column:1/-1}.section-add-question{gap:10px;margin-top:14px;display:grid}.section-add-question>button{justify-self:start}.choice-editor,.rating-editor{border:1px solid var(--line);background:#fff;border-radius:12px;gap:10px;padding:14px;display:grid}.choice-option-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.questionnaire-builder-footer{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;padding:15px 18px}.questionnaire-readonly-sections{gap:14px;display:grid}.questionnaire-readonly-sections>article{padding:16px}.questionnaire-readonly-sections h3,.questionnaire-readonly-sections p{margin:3px 0}.questionnaire-readonly-sections ol{gap:8px;padding-left:24px;display:grid}.questionnaire-readonly-sections li strong,.questionnaire-readonly-sections li span{display:block}.questionnaire-readonly-sections li span{color:var(--ink-soft);font-size:.76rem}.related-questionnaire-list{gap:8px;display:grid}.related-questionnaire-list a{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.related-questionnaire-list a>div{min-width:0;display:grid}.related-questionnaire-list small{color:var(--ink-soft)}.questionnaire-dashboard-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.questionnaire-dashboard-counts>div{border:1px solid var(--line);background:#f8fcfd;border-radius:13px;padding:16px;display:grid}.questionnaire-dashboard-counts span{color:var(--ink-soft);font-size:.78rem}.questionnaire-dashboard-counts strong{font-size:1.8rem}.questionnaire-loading-panel{gap:14px;display:grid}.questionnaire-analytics-config .section-heading p{max-width:720px;color:var(--ink-soft);margin:5px 0 0}.analytics-config-grid{gap:14px;display:grid}.analytics-config-card{border:1px solid var(--line);background:#fbfdfe;border-radius:14px;gap:14px;min-width:0;padding:17px;display:grid}.analytics-config-card>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.analytics-config-card h3{overflow-wrap:anywhere;margin:4px 0 0;font-size:1rem}.status-badge.neutral{color:#526875;background:#edf2f5}.analytics-config-fields{border:1px solid #d7e2e9;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0;margin:0;padding:15px;display:grid}.analytics-config-fields legend{color:var(--ink-soft);padding:0 6px;font-size:.8rem;font-weight:760}.analytics-config-fields>label,.analytics-option-meanings label{gap:7px;min-width:0;font-size:.82rem;font-weight:700;display:grid}.analytics-config-fields select{background:#fff;border:1px solid #bfd0dc;border-radius:10px;width:100%;min-height:44px;padding:9px 11px}.analytics-option-meanings{grid-column:1/-1;gap:10px;display:grid}.analytics-option-meanings>p{color:var(--ink-soft);margin:0;font-size:.8rem}.analytics-option-meanings label{background:#fff;border:1px solid #e0e8ed;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);align-items:center;padding:9px 11px}.analytics-option-meanings span{overflow-wrap:anywhere}.analytics-config-actions{flex-wrap:wrap;grid-column:1/-1;gap:9px;display:flex}.loading-line{background:linear-gradient(90deg,#e8f0f5,#f7fafc,#e8f0f5);border-radius:999px;height:18px}.loading-line.short{width:62%}.preview-mode-banner,.preview-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.preview-mode-banner{color:#72510f;background:#fff9e8;border:1px solid #ead08e;border-radius:13px;padding:13px 16px}.preview-mode-banner span{font-size:.82rem}.preview-toolbar{justify-content:flex-end}.printable-questionnaire{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:clamp(24px,5vw,56px)}.questionnaire-print-header{border-bottom:2px solid var(--ink);padding-bottom:16px;display:grid}.questionnaire-print-header span,.questionnaire-print-header p{color:var(--ink-soft);font-size:.78rem}.questionnaire-print-header p{margin:3px 0 0}.questionnaire-preview-title{text-align:center;margin:28px 0}.questionnaire-preview-title h1{overflow-wrap:anywhere;margin:0;font-size:clamp(1.8rem,4vw,2.8rem)}.questionnaire-preview-title p{white-space:pre-wrap}.questionnaire-preview-title aside{text-align:left;border-left:4px solid var(--sun);background:#fffaf0;margin-top:18px;padding:13px}.questionnaire-preview-title aside p{margin:4px 0 0}.preview-activity-context{border:1px solid var(--line);background:#f8fbfd;border-radius:13px;padding:16px}.preview-activity-context h2{margin-top:0;font-size:1rem}.preview-activity-context>div{margin-top:8px;display:grid}.preview-activity-context span{color:var(--ink-soft);font-size:.78rem}.preview-section{gap:14px;margin-top:26px;display:grid}.preview-section>header{border-bottom:1px solid var(--line);padding-bottom:10px}.preview-section h2,.preview-section p{margin:3px 0 0}.preview-question{border:1px solid var(--line);break-inside:avoid;border-radius:13px;padding:16px}.preview-question legend{flex-wrap:wrap;align-items:center;gap:7px;width:100%;font-weight:800;display:flex}.preview-question legend>span:first-child{overflow-wrap:anywhere}.preview-question legend small{color:var(--ink-soft);flex-basis:100%;font-weight:500}.required-copy,.optional-copy{border-radius:6px;padding:2px 6px;font-size:.68rem}.required-copy{color:#8f2525;background:#fff0f0}.optional-copy{color:var(--ink-soft);background:#eef3f6}.preview-choice-list{gap:9px;margin-top:13px;display:grid}.preview-choice-list label,.rating-options label{align-items:center;gap:8px;min-height:40px;display:flex}.preview-choice-list input,.rating-options input{width:18px;height:18px;accent-color:var(--blue)}.rating-label-row,.rating-options{justify-content:space-between;gap:8px;margin-top:10px;display:flex}.rating-label-row{color:var(--ink-soft);font-size:.75rem}.rating-options label{border:1px solid var(--line);border-radius:9px;flex-direction:column;flex:1;justify-content:center;padding:8px}.preview-text-input,.preview-textarea{border:1px solid #bfd0dc;border-radius:9px;width:100%;margin-top:12px;padding:10px}.preview-textarea{resize:vertical}.questionnaire-results-page,.questionnaire-results-page>*,.questionnaire-effectiveness-card,.questionnaire-question-result,.questionnaire-import-preview,.questionnaire-text-viewer{min-width:0}.questionnaire-results-print-identity{display:none}.questionnaire-results-hero small{color:#5f7180;margin-top:8px;display:block}.questionnaire-results-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.questionnaire-results-summary article{background:linear-gradient(145deg,#fff,#f4f9fc);border:1px solid #d8e4ec;border-radius:16px;gap:7px;min-width:0;padding:20px;display:grid;box-shadow:0 7px 20px #205d9412}.questionnaire-results-summary span,.questionnaire-results-summary small{color:#5f7180}.questionnaire-results-summary strong{color:#173f63;overflow-wrap:anywhere;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.1}.questionnaire-results-summary .summary-date{font-size:1.08rem;line-height:1.4}.questionnaire-effectiveness-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.questionnaire-effectiveness-card{background:#fbfdff;border:1px solid #d8e4ec;border-radius:15px;padding:20px}.questionnaire-effectiveness-card>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.questionnaire-effectiveness-card header span,.questionnaire-effectiveness-card header small{color:#5f7180}.questionnaire-effectiveness-card h3{color:#173f63;margin:5px 0 0;font-size:1.65rem}.questionnaire-results-chart{margin:18px 0 0}.questionnaire-results-chart figcaption{gap:3px;margin-bottom:12px;display:grid}.questionnaire-results-chart figcaption span{color:#5f7180;font-size:.88rem}.questionnaire-results-chart ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.questionnaire-results-chart li{grid-template-columns:minmax(80px,.75fr) minmax(100px,2fr) minmax(100px,auto);align-items:center;gap:10px;display:grid}.questionnaire-chart-label{overflow-wrap:anywhere}.questionnaire-chart-track{background:#e7eef4;border-radius:999px;height:13px;display:block;overflow:hidden}.questionnaire-chart-fill{border-radius:inherit;background:#2d78b8;min-width:2px;height:100%;display:block}.questionnaire-chart-fill.positive{background:#2d7f62}.questionnaire-chart-fill.neutral{background:#9a741e}.questionnaire-chart-fill.negative{background:#a94d4d}.questionnaire-chart-value{color:#334e68;font-variant-numeric:tabular-nums;text-align:right}.questionnaire-result-sections,.questionnaire-question-results{gap:18px;display:grid}.questionnaire-result-sections>section>header{border-bottom:2px solid #dce8f0;margin-bottom:12px;padding-bottom:10px}.questionnaire-result-sections>section>header span{color:#537087;text-transform:uppercase;font-size:.82rem;font-weight:700}.questionnaire-result-sections>section>header h3{margin:4px 0 0}.questionnaire-question-result{background:#fff;border:1px solid #d8e4ec;border-radius:15px;padding:20px}.questionnaire-question-result>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.questionnaire-question-result>header span{color:#5f7180;font-size:.88rem}.questionnaire-question-result h4{overflow-wrap:anywhere;margin:5px 0 0;font-size:1.05rem}.questionnaire-question-result>header dl{grid-template-columns:repeat(3,auto);gap:14px;margin:0;display:grid}.questionnaire-question-result>header dl div{text-align:right;gap:2px;display:grid}.questionnaire-question-result dt{color:#6d7e8b;font-size:.78rem}.questionnaire-question-result dd{color:#173f63;margin:0;font-weight:700}.questionnaire-average{align-items:baseline;gap:8px;margin:18px 0 0;display:flex}.questionnaire-average strong{color:#173f63;font-size:1.35rem}.questionnaire-average span{color:#657784;font-size:.88rem}.questionnaire-text-summary{margin-top:16px}.questionnaire-text-actions,.questionnaire-import-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.questionnaire-text-viewer{background:#f4f8fb;border-radius:12px;gap:14px;margin-top:14px;padding:16px;display:grid}.questionnaire-text-privacy{color:#594519;background:#fff8e7;border-left:4px solid #b17821;padding:12px 14px}.questionnaire-text-filter{grid-template-columns:minmax(180px,1fr) minmax(150px,.45fr) auto auto;align-items:end;gap:10px;display:grid}.questionnaire-text-list{gap:10px;display:grid}.questionnaire-text-list article{background:#fff;border:1px solid #d8e4ec;border-radius:11px;padding:15px}.questionnaire-text-list header{color:#526979;justify-content:space-between;gap:12px;font-size:.85rem;display:flex}.questionnaire-text-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0}.questionnaire-import-steps{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.questionnaire-import-steps>li{background:#f8fbfd;border:1px solid #d8e4ec;border-radius:13px;align-content:start;gap:12px;padding:17px;display:grid}.questionnaire-upload-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.questionnaire-import-preview{border-top:1px solid #d8e4ec;gap:14px;margin-top:18px;padding-top:18px;display:grid}.questionnaire-import-counts{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;display:grid}.questionnaire-import-counts div,.questionnaire-history-card dl div{background:#f1f6f9;border-radius:10px;gap:3px;padding:11px;display:grid}.questionnaire-import-counts dt,.questionnaire-history-card dt{color:#657784;font-size:.8rem}.questionnaire-import-counts dd,.questionnaire-history-card dd{color:#173f63;margin:0;font-weight:700}.questionnaire-import-table td ul{margin:0;padding-left:18px}.validation-label,.questionnaire-import-status{color:#334e68;background:#e9eff4;border-radius:999px;align-items:center;width:fit-content;padding:4px 9px;font-size:.82rem;font-weight:700;display:inline-flex}.validation-label.valid,.questionnaire-import-status.confirmed{color:#235f49;background:#e5f4ec}.validation-label.warning,.questionnaire-import-status.preview{color:#735614;background:#fff3d8}.validation-label.error,.questionnaire-import-status.failed{color:#873b3b;background:#fdeaea}.questionnaire-history-list{gap:12px;display:grid}.questionnaire-history-card{border:1px solid #d8e4ec;border-radius:13px;padding:16px}.questionnaire-history-card>header{justify-content:space-between;gap:16px;display:flex}.questionnaire-history-card>header div{gap:4px;display:grid}.questionnaire-history-card>header span:not(.questionnaire-import-status){color:#657784;font-size:.85rem}.questionnaire-history-card dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.questionnaire-history-detail{background:#f4f8fb;border-radius:10px;margin-top:14px;padding:14px}.questionnaire-history-detail ul{margin:10px 0 0;padding-left:20px}@media (max-width:900px){.questionnaire-filter-grid,.questionnaire-activity-grid,.starter-question-grid{grid-template-columns:minmax(0,1fr)}.questionnaire-desktop-list{display:none}.questionnaire-mobile-list{display:grid}.questionnaire-builder-header,.questionnaire-section-heading,.questionnaire-builder-footer{flex-direction:column;align-items:stretch}.questionnaire-header-actions,.questionnaire-header-actions .questionnaire-lifecycle-actions{justify-content:flex-start}.questionnaire-question-card{grid-template-columns:auto minmax(0,1fr)}.questionnaire-results-summary,.questionnaire-effectiveness-grid,.questionnaire-text-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.question-controls{grid-column:1/-1}}@media (max-width:600px){.questionnaire-filter-grid,.questionnaire-activity-tools,.choice-option-row{grid-template-columns:minmax(0,1fr)}.questionnaire-filter-grid .filter-actions,.questionnaire-form-actions,.questionnaire-header-actions,.questionnaire-lifecycle-actions,.questionnaire-section-heading .compact-control-row,.questionnaire-builder-footer,.preview-mode-banner{flex-direction:column;align-items:stretch}.questionnaire-form-actions>*,.questionnaire-header-actions>*,.questionnaire-lifecycle-actions>button,.questionnaire-builder-footer>*,.preview-toolbar>*,.questionnaire-activity-tools>button{width:100%}.activity-choice{grid-template-columns:auto minmax(0,1fr)}.activity-choice>.activity-state,.activity-choice>span:last-child{grid-column:2}.questionnaire-question-card{grid-template-columns:minmax(0,1fr)}.question-number{width:27px;height:27px}.question-copy,.question-controls,.question-editor-slot{grid-column:1}.questionnaire-section-heading .compact-control-row,.question-controls,.choice-option-row .compact-control-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.questionnaire-section-heading .compact-control-row button,.question-controls button,.choice-option-row .compact-control-row button{min-height:42px}.rating-options{flex-wrap:wrap}.rating-options label{min-width:54px}.questionnaire-dashboard-counts{grid-template-columns:minmax(0,1fr)}.analytics-config-card>header,.analytics-config-actions{flex-direction:column;align-items:stretch}.analytics-config-fields,.analytics-option-meanings label{grid-template-columns:minmax(0,1fr)}.analytics-config-actions>button{width:100%}.printable-questionnaire{border-radius:15px;padding:20px 16px}.questionnaire-results-summary,.questionnaire-effectiveness-grid,.questionnaire-import-steps,.questionnaire-upload-form,.questionnaire-text-filter,.questionnaire-import-counts,.questionnaire-history-card dl{grid-template-columns:minmax(0,1fr)}.questionnaire-effectiveness-card>header,.questionnaire-question-result>header,.questionnaire-history-card>header,.questionnaire-text-list header{flex-direction:column;align-items:stretch}.questionnaire-question-result>header dl{grid-template-columns:repeat(3,minmax(0,1fr))}.questionnaire-question-result>header dl div{text-align:left}.questionnaire-results-chart li{grid-template-columns:minmax(70px,.8fr) minmax(90px,1.2fr)}.questionnaire-chart-value{text-align:left;grid-column:1/-1}.questionnaire-import-actions>*,.questionnaire-text-filter>button,.questionnaire-text-filter>a,.questionnaire-upload-form>button{width:100%}}@media print{.print-hidden,.questionnaire-preview-shell>.back-link,.preview-mode-banner,.preview-toolbar,.questionnaire-preview-form>button,.questionnaire-preview-form>.form-success,.desktop-sidebar,.mobile-drawer,.drawer-backdrop,.app-topbar{display:none!important}.app-layout{display:block}.app-main{width:100%;max-width:none;padding:0}.print-report-header{display:grid}.questionnaire-preview-shell,.questionnaire-preview-page{display:block}.printable-questionnaire{box-shadow:none;border:0;border-radius:0;padding:0}.questionnaire-results-page{color:#111;font-size:10pt}.questionnaire-results-print-identity{border-bottom:2px solid #222;gap:2px;padding-bottom:10px;display:grid}.questionnaire-results-print-identity strong{font-size:14pt}.questionnaire-results-page .detail-hero,.questionnaire-results-page .data-panel,.questionnaire-results-summary article,.questionnaire-effectiveness-card,.questionnaire-question-result{box-shadow:none;background:#fff;border-color:#aaa}.questionnaire-effectiveness-card,.questionnaire-question-result,.questionnaire-result-sections>section{break-inside:avoid}.questionnaire-results-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.questionnaire-chart-track{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #888}.preview-question,.preview-section,.questionnaire-print-header,.preview-activity-context{break-inside:avoid}.preview-choice-list input,.rating-options input{appearance:none;background:#fff;border:1px solid #222;width:12px;height:12px}.rating-options input{border-radius:50%}.preview-text-input{border-width:0 0 1px;border-radius:0;height:32px}.preview-textarea{background:repeating-linear-gradient(#fff 0 27px,#b9c1c6 28px);min-height:90px}}
