*{box-sizing:border-box}:root{--page-bg:#f3f6f4;--surface:#fff;--surface-soft:#f8faf8;--text:#26332f;--muted:#64736d;--border:#d9e2dd;--primary:#3f6656;--primary-dark:#2f4f43;--primary-soft:#e4efea;--accent:#d7b56d;--accent-soft:#fff7df;--warning-text:#614a13;--danger:#9c4a4a;--shadow:0 8px 24px #26332f14}body{background:radial-gradient(circle at top left, #e8f1ec 0, transparent 36%), var(--page-bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:#f8fbf9;height:100vh;padding:20px;position:sticky;top:0;overflow-y:auto}.brand{gap:3px;margin-bottom:24px;display:grid}.brand span{background:var(--primary);color:#fff;letter-spacing:.06em;border-radius:999px;width:fit-content;padding:5px 10px;font-weight:800}.brand strong{font-size:24px}.sidebar-section{gap:12px;margin-bottom:24px;display:grid}.sidebar-section h3{margin:6px 0 0}.student-list{gap:7px;display:grid}.student-button{border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;background:#fff;border-radius:14px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.student-button small{color:var(--muted)}.student-button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.student-button.active small{color:#edf7f2}.main-area{width:100%;max-width:1420px;padding:24px}.topbar{box-shadow:var(--shadow);border:1px solid var(--border);background:linear-gradient(135deg,#fff 0%,#f4faf6 100%);border-radius:24px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:28px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin:0 0 8px;font-size:13px;font-weight:700}h1{margin:0 0 10px;font-size:34px}h2{margin-top:0;font-size:24px}h3{margin-top:22px}.topbar p,.intro,.observe,.summary-card p,.round-panel p{color:var(--muted)}.view-toggle,.round-buttons{flex-wrap:wrap;gap:8px;display:flex}.view-toggle button,.round-buttons button,.secondary-button,.tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:14px;padding:12px 14px}.view-toggle button.active,.round-buttons button.active,.tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.control-strip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:160px 1fr auto auto;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.page{gap:18px;display:grid}.card{background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:22px;padding:24px}.card-heading-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card-heading-row h3{margin:0}.individual-card{background:#fffdf7;border-color:#d4c390}.pill{background:var(--accent-soft);width:fit-content;color:var(--warning-text);border:1px solid #ecd28e;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}label{gap:8px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:12px;padding:12px}input:focus,select:focus,textarea:focus{outline:3px solid var(--primary-soft);border-color:var(--primary)}textarea{resize:vertical;min-height:100px}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.custom-moment-box{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin:18px 0 22px;padding:18px}.add-button,.print-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:14px;margin-top:14px;padding:12px 18px}.add-button:hover,.print-button:hover{background:var(--primary-dark)}.moment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.moment-choice{border:1px solid var(--border);cursor:pointer;background:var(--surface-soft);border-radius:16px;gap:12px;padding:16px;display:flex}.moment-choice.custom{background:var(--primary-soft);border-color:#b8d1c5}.moment-choice input{width:auto;margin-top:4px}.moment-choice small,.focus-chip small,.mini-list span{color:var(--muted);margin-top:4px;font-weight:400;line-height:1.4;display:block}.moment-choice em{color:var(--primary-dark);border:1px solid var(--border);background:#fff;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:12px;font-style:normal;display:inline-block}.empty-state,.handler-banner,.warning{background:var(--accent-soft);color:var(--warning-text);border:1px solid #ecd28e;border-radius:16px;margin-bottom:18px;padding:16px}.handler-banner{background:var(--primary-soft);color:var(--primary-dark);border-color:#b8d1c5}.focus-list{gap:10px;margin-top:16px;display:grid}.focus-chip{background:var(--accent-soft);border:1px solid #ecd28e;border-radius:16px;justify-content:space-between;gap:12px;padding:12px;display:flex}.focus-chip button{color:var(--danger);cursor:pointer;background:#fff;border:1px solid #e7caca;border-radius:999px;align-self:start;padding:6px 10px}.mini-list{gap:10px;display:grid}.mini-list div{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;padding:12px}.rating-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.rating{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;min-height:118px;color:var(--text);overflow-wrap:anywhere;border-radius:12px;align-content:start;gap:5px;min-width:0;padding:10px 8px;display:grid}.rating:hover{background:var(--primary-soft)}.rating.selected{background:var(--primary);border-color:var(--primary);color:#fff}.rating.selected .rating-label,.rating.selected small{color:#edf7f2}.rating .number{margin-bottom:2px;font-size:24px;font-weight:800;line-height:1;display:block}.rating .rating-label{color:var(--text);font-size:13px;font-weight:800;line-height:1.15;display:block}.rating small{color:var(--muted);font-size:12px;line-height:1.25;display:block}.required-comment{color:var(--danger);background:#fff1f1;border:1px solid #e7caca;border-radius:12px;margin:4px 0 10px;padding:10px 12px;font-size:14px}.required-comment.missing{color:var(--danger);border-color:var(--danger);background:#fff1f1}.comment-missing{border-color:var(--danger);background:snow}.summary-info{grid-template-columns:repeat(2,1fr);gap:8px 20px;margin-bottom:18px;display:grid}.progress-bars{gap:16px;margin-bottom:26px;display:grid}.progress-row{gap:8px;display:grid}.progress-label{justify-content:space-between;gap:12px;display:flex}.bar-track{background:#e5ebe8;border-radius:999px;height:18px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--primary), #6f9a86);border-radius:999px;height:100%;transition:width .25s}.year-progress-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;display:grid}.year-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;gap:12px;padding:16px;display:grid}.progress-table-wrapper{margin-bottom:24px;overflow-x:auto}.progress-table{border-collapse:collapse;background:#fff;width:100%}.progress-table th,.progress-table td{border:1px solid var(--border);text-align:left;padding:12px}.progress-table th{background:var(--surface-soft)}.progress-table tr{cursor:pointer}.progress-table tr:hover,.selected-row{background:var(--primary-soft)}.secondary-button{white-space:nowrap}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.student-list{grid-template-columns:repeat(2,1fr)}.topbar,.control-strip{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.tabs,.form-grid,.moment-list,.summary-info,.year-progress-grid{grid-template-columns:1fr}}@media (width<=699px){.main-area{padding:14px}.student-list,.rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.sidebar,.tabs,.control-strip,.view-toggle,.print-button,.custom-moment-box,.focus-chip button{display:none}.app-shell{display:block}body{background:#fff}.card,.topbar{box-shadow:none}}.student-banner{color:#243b63;background:#eef4ff;border:1px solid #c8d7f2;border-radius:16px;margin-bottom:18px;padding:16px}.student-card{background:#fbfdff;border-color:#c8d7f2}.student-fill{background:linear-gradient(90deg,#426aa5,#7fa2d8)}.workplace-question-list{gap:16px;display:grid}.workplace-question{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;padding:16px}.workplace-question h3{margin-top:0;margin-bottom:6px}.workplace-question p{color:var(--muted)}.option-row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.option-button{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#fff;border-radius:999px;padding:9px 12px}.option-button.active{color:#fff;background:#426aa5;border-color:#426aa5}.student-summary-grid{grid-template-columns:repeat(3,1fr)}@media (width<=1100px){.student-summary-grid{grid-template-columns:1fr}}.public-shell{min-height:100vh;display:block}.public-shell .main-area{max-width:1080px;margin:0 auto}.limited-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.public-control-strip{grid-template-columns:180px 1fr auto}.readonly-info{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.readonly-info span{color:var(--muted)}.privacy-banner{color:#5c4820;background:#f6f1e6;border:1px solid #e4d3aa;border-radius:16px;margin-bottom:18px;padding:16px}input[readonly]{background:var(--surface-soft);color:var(--muted)}@media (width<=1100px){.public-control-strip,.limited-tabs{grid-template-columns:1fr}}.login-page{background:radial-gradient(circle at top left, #dfece6 0, transparent 35%), var(--page-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:min(760px,100%);box-shadow:var(--shadow);border-radius:28px;gap:24px;padding:34px;display:grid}.login-card h1{font-size:40px}.login-card p{color:var(--muted)}.login-form{gap:16px;display:grid}.login-helper{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;gap:4px;padding:14px;display:grid}.login-helper span{color:var(--muted)}.login-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:16px;padding:14px 18px;font-weight:800}.login-button:hover{background:var(--primary-dark)}.login-privacy{margin-bottom:0}.view-tools{justify-items:end;gap:10px;display:grid}.login-status{text-align:right;background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;gap:2px;min-width:190px;padding:10px 12px;display:grid}.login-status span,.login-status small{color:var(--muted)}.logout-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:14px;width:fit-content;padding:10px 12px}.logout-button:hover{background:var(--surface-soft)}@media (width<=800px){.view-tools{justify-items:stretch}.login-status{text-align:left}}.compact-list{grid-template-columns:repeat(2,minmax(0,1fr))}.secondary-action{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:14px;margin-top:14px;padding:10px 14px}.secondary-action:hover{background:var(--surface-soft)}@media (width<=1100px){.compact-list{grid-template-columns:1fr}}.attendance-card{background:#fbfdff;border-color:#c8d7f2}.attendance-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.attendance-option{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:14px;padding:12px;font-weight:700}.attendance-option.active{color:#fff;background:#426aa5;border-color:#426aa5}.table-note{color:var(--muted);margin-top:4px;line-height:1.3;display:block}.handler-student-note{background:#eef4ff;border:1px solid #c8d7f2;border-radius:14px;gap:4px;margin:14px 0;padding:12px;display:grid}.handler-student-note span{color:#243b63}@media (width<=900px){.attendance-options{grid-template-columns:1fr}}.attendance-summary-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.attendance-summary-cards div{border:1px solid var(--border);background:#fff;border-radius:16px;gap:3px;padding:14px;display:grid}.attendance-summary-cards strong{color:#426aa5;font-size:26px}.attendance-summary-cards span{color:var(--muted)}.attendance-day-list{gap:12px;display:grid}.attendance-day{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;gap:10px;padding:14px;display:grid}.attendance-day-header{justify-content:space-between;gap:12px;display:flex}.attendance-day-header span{color:var(--muted)}.missing-comment-day{background:snow;border-color:#e7caca}.informed-check{grid-template-columns:unset;align-items:center;gap:8px;font-weight:700;display:flex}.informed-check input{width:auto}.student-attendance-list{gap:8px;display:grid}.student-attendance-row{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-columns:90px 1fr;gap:10px;padding:10px 12px;display:grid}.student-attendance-row small{color:var(--muted);grid-column:2}.quick-attendance-panel{background:#eef4ff;border:1px solid #c8d7f2;border-radius:18px;margin:14px 0;padding:16px}.quick-attendance-panel h3{margin-top:0}.compact-attendance-list{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-attendance-list .attendance-day{padding:10px}@media (width<=1100px){.attendance-summary-cards,.compact-attendance-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.attendance-summary-cards,.compact-attendance-list,.student-attendance-row{grid-template-columns:1fr}}.calendar-legend{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.calendar-legend span{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;display:inline-flex}.legend-dot{border:1px solid var(--border);border-radius:999px;width:12px;height:12px;display:inline-block}.legend-dot.empty{background:#fff}.legend-dot.non-apl{background:#dbeafe;border-color:#bfdbfe}.legend-dot.present{background:#d7f3df;border-color:#9bd2aa}.legend-dot.sick{background:#fff3c4;border-color:#e8ce70}.legend-dot.absent{background:#ffd9d9;border-color:#e99a9a}.legend-dot.deviation{background:#ffe8cc;border-color:#ebb071}.attendance-calendar{gap:12px;margin-top:16px;display:grid}.calendar-weekdays,.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr)) 190px;gap:8px;display:grid}.calendar-weekdays{color:var(--muted);font-size:13px}.calendar-day{border:1px solid var(--border);text-align:left;border-radius:16px;gap:4px;min-height:92px;padding:10px;display:grid}.calendar-day span{color:var(--muted);font-size:12px}.calendar-day strong{font-size:15px}.calendar-day em{font-style:normal;font-weight:800}.calendar-day small{color:var(--muted);font-size:12px}.apl-day{cursor:pointer;background:#fff}.apl-day:hover,.apl-day.active{outline:3px solid var(--primary-soft);border-color:var(--primary)}.status-empty{background:#fff}.status-present{background:#d7f3df;border-color:#9bd2aa}.status-sick{background:#fff3c4;border-color:#e8ce70}.status-absent{background:#ffd9d9;border-color:#e99a9a}.status-deviation{background:#ffe8cc;border-color:#ebb071}.status-unknown{background:#eceff3;border-color:#ccd3dc}.mark-week-button{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);cursor:pointer;border-radius:16px;padding:10px;font-weight:700}.mark-week-button:hover{background:var(--primary-soft)}.selected-attendance-editor{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;gap:14px;margin-top:18px;padding:18px;display:grid}.student-attendance-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.student-calendar-day{border:1px solid var(--border);border-radius:14px;gap:4px;min-height:82px;padding:10px;display:grid}.student-calendar-day span,.student-calendar-day small{color:var(--muted)}.attendance-matrix-wrapper{margin-bottom:24px;overflow-x:auto}.attendance-matrix{border-collapse:collapse;background:#fff;width:100%;min-width:1200px}.attendance-matrix th,.attendance-matrix td{border:1px solid var(--border);text-align:center;padding:8px}.attendance-matrix th:first-child,.attendance-matrix td:first-child{text-align:left;z-index:1;background:#fff;position:sticky;left:0}.matrix-status{min-width:42px;font-weight:800}@media (width<=1100px){.calendar-weekdays,.calendar-week{grid-template-columns:repeat(7,minmax(90px,1fr));overflow-x:auto}.mark-week-button{grid-column:1/-1}.student-attendance-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}.inline-calendar{gap:14px}.inline-week{align-items:start}.inline-day{padding:0;overflow:hidden}.inline-day.open{outline:3px solid var(--primary-soft);border-color:var(--primary);grid-row:span 2}.calendar-day-main{all:unset;box-sizing:border-box;cursor:pointer;gap:4px;width:100%;min-height:92px;padding:10px;display:grid}.calendar-day-main span{color:var(--muted);font-size:12px}.calendar-day-main strong{font-size:15px}.calendar-day-main em{font-style:normal;font-weight:800}.calendar-day-main small{color:var(--muted);font-size:12px}.inline-day-editor{background:#ffffffb8;border-top:1px solid #00000014;gap:10px;padding:10px;display:grid}.inline-day-editor label{font-size:13px}.inline-day-editor select,.inline-day-editor textarea{padding:9px;font-size:13px}.inline-day-editor textarea{min-height:74px}.close-inline-editor{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:12px;padding:8px 10px}.close-inline-editor:hover{background:var(--surface-soft)}.selected-attendance-editor{display:none}.apl-date-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.apl-date-grid label{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;padding:12px}.apl-date-grid small{color:var(--muted);font-weight:600}.calendar-day strong+span{color:var(--muted);font-size:12px}@media (width<=1100px){.apl-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.apl-date-grid{grid-template-columns:1fr}}.apl-calendar-planner{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin-top:16px;padding:16px}.calendar-planner-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.calendar-planner-header button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:12px;padding:9px 12px}.calendar-planner-header strong{text-transform:capitalize;font-size:20px}.calendar-planner-weekdays,.calendar-planner-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-planner-weekdays{color:var(--muted);text-align:center;margin-bottom:8px}.calendar-planner-day{border:1px solid var(--border);cursor:pointer;min-height:72px;color:var(--text);background:#fff;border-radius:14px;place-items:center;gap:4px;padding:9px;display:grid}.calendar-planner-day:hover{background:var(--primary-soft)}.calendar-planner-day.selected{background:var(--primary);border-color:var(--primary);color:#fff}.calendar-planner-day.outside-month{opacity:.35}.calendar-planner-day strong{letter-spacing:.04em;font-size:12px}.selected-date-list{border:1px solid var(--border);background:#fff;border-radius:16px;gap:10px;margin-top:16px;padding:14px;display:grid}.selected-date-list div{flex-wrap:wrap;gap:8px;display:flex}.selected-date-list span{border:1px solid var(--border);background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:13px;display:inline-flex}.calendar-day{min-height:78px}.calendar-day-main{text-align:center;place-items:center;min-height:78px}.calendar-day-main em,.calendar-day em{font-size:13px}.calendar-day-main span,.calendar-day span{display:none}.calendar-day-main small{font-size:11px}@media (width<=800px){.calendar-planner-weekdays,.calendar-planner-grid{grid-template-columns:repeat(7,minmax(42px,1fr));gap:5px}.calendar-planner-day{min-height:52px;padding:6px}}.class-profile-list{gap:16px;margin-top:16px;display:grid}.class-profile-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;gap:14px;padding:16px;display:grid}.class-profile-row.active{border-color:var(--primary);background:var(--primary-soft)}.class-profile-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.class-profile-header button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:12px;padding:8px 12px}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.wide-field{grid-column:span 3}.contact-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin:16px 0;padding:16px}.contact-panel h3{margin-top:0}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.contact-grid div{border:1px solid var(--border);background:#fff;border-radius:14px;gap:4px;padding:12px;display:grid}.contact-grid span{color:var(--text)}.contact-grid small{color:var(--muted)}@media (width<=1100px){.profile-grid,.contact-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}}.profile-student-select{max-width:420px;margin-bottom:18px}.single-profile-card{margin-top:10px}.class-profile-header span{color:var(--muted);font-weight:700}.settings-grid{grid-template-columns:minmax(240px,380px) 1fr;align-items:start;gap:16px;margin-bottom:18px;display:grid}.settings-grid small{color:var(--muted);font-weight:600}.settings-info{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;gap:5px;padding:14px;display:grid}.settings-info span{color:var(--text)}.settings-info small{color:var(--muted)}@media (width<=900px){.settings-grid{grid-template-columns:1fr}}.class-settings-list{gap:16px;margin:18px 0;display:grid}.class-settings-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;gap:14px;padding:16px;display:grid}.class-settings-row.active{border-color:var(--primary);background:var(--primary-soft)}.class-settings-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.class-settings-header button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:12px;padding:8px 12px}.full-width-info{margin-bottom:12px}.accordion-section{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin-top:12px;overflow:hidden}.accordion-header{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.accordion-header span{gap:4px;display:grid}.accordion-header small{color:var(--muted);font-weight:600}.accordion-header em{color:var(--primary);font-size:26px;font-style:normal;font-weight:800}.accordion-content{border-top:1px solid var(--border);background:#fff;padding:16px}.tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.sidebar{width:250px}.page>.accordion-section{box-shadow:var(--shadow);background:#fff}.page>.accordion-section+.accordion-section,.page .accordion-content>.intro:first-child{margin-top:0}.accordion-content .form-grid,.accordion-content .moment-list,.accordion-content .apl-calendar-planner{margin-top:12px}.class-settings-header span{color:var(--muted);font-weight:700}.contact-grid{align-items:stretch}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.dashboard-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;gap:4px;padding:18px;display:grid}.dashboard-card span{color:var(--muted);font-weight:700}.todo-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin:16px 0;padding:16px}.todo-panel h3{margin-top:0}.todo-panel ul{margin:0;padding-left:20px}.todo-panel li{margin:6px 0}.status-pill{border:1px solid var(--border);background:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-saknar-komplettering,.status-behöver-uppföljning{background:#fff3c4;border-color:#e8ce70}.status-klar{background:#d7f3df;border-color:#9bd2aa}.status-ej-påbörjad{background:#eceff3;border-color:#ccd3dc}.log-box{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin-bottom:18px;padding:16px}.log-input-row{grid-template-columns:1fr auto;gap:10px;display:grid}.log-input-row button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:10px 14px}.report-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;gap:8px;margin-bottom:18px;padding:16px;display:grid}.report-card p{margin:0}@media (width<=900px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.log-input-row{grid-template-columns:1fr}}.role-dashboard{margin-top:16px}.compact-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.compact-dashboard .dashboard-card{padding:12px}.compact-dashboard .dashboard-card strong{font-size:22px}.role-summary-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin:16px 0;padding:16px}.role-summary-panel h3{margin-top:0}@media (width<=900px){.compact-dashboard{grid-template-columns:1fr}}.public-shell .page>.accordion-section{box-shadow:var(--shadow);background:#fff}.public-shell .accordion-content .contact-grid{margin-top:0}.workplace-evaluation-teacher{gap:16px;margin:14px 0 22px;display:grid}.workplace-round-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;padding:16px}.workplace-round-card h4{margin:0 0 12px;font-size:18px}.workplace-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.workplace-answer-card{border:1px solid var(--border);background:#fff;border-radius:14px;gap:6px;padding:12px;display:grid}.workplace-answer-card span{color:var(--primary);font-weight:800}.workplace-answer-card small{color:var(--muted);line-height:1.35}.workplace-answer-card p{background:var(--accent-soft);color:var(--warning-text);border-radius:10px;margin:4px 0 0;padding:8px}@media (width<=900px){.workplace-answer-grid{grid-template-columns:1fr}}.compact-workplace-summary{grid-template-columns:repeat(2,minmax(0,220px));gap:10px;margin:10px 0 14px;display:grid}.compact-workplace-summary div{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;gap:3px;padding:12px;display:grid}.compact-workplace-summary strong{color:var(--primary);font-size:24px}.compact-workplace-summary span{color:var(--muted);font-weight:700}.compact-workplace-evaluation{margin:0}.compact-workplace-evaluation .accordion-section{margin-top:10px}.compact-answer-card{gap:4px;padding:10px}.compact-answer-card small{display:none}.compact-answer-card p{margin-top:2px;font-size:13px}@media (width<=700px){.compact-workplace-summary{grid-template-columns:1fr}}.next-action-card{border:1px solid var(--border);background:linear-gradient(135deg, var(--primary-soft), white);border-radius:18px;gap:8px;margin-bottom:16px;padding:16px;display:grid}.next-action-card span{color:var(--muted);font-weight:700}.next-action-card strong{color:var(--text);font-size:22px}.next-action-card button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:fit-content;padding:10px 14px;font-weight:800}.info-box,.success-box{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:16px;margin:12px 0;padding:14px}.success-box{background:#d7f3df;border-color:#9bd2aa}.issue-list{margin:0;padding-left:20px}.issue-list li{margin:7px 0}.level-explanation{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;gap:3px;margin:12px 0;padding:10px;display:grid}.level-explanation span{color:var(--muted)}.comment-bank{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:12px;padding:10px}.comment-bank summary{cursor:pointer;font-weight:800}.comment-bank button{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;border-radius:999px;margin:8px 8px 0 0;padding:8px 10px}.strength-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.strength-grid>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;padding:16px}.strength-grid h4{margin:0 0 10px}.conversation-prompts{gap:10px;margin-bottom:18px;display:grid}.conversation-prompts div{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px}.report-preview{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:18px;margin:16px 0;padding:20px}.timeline{gap:10px;display:grid}.timeline div{border-left:4px solid var(--primary);background:var(--surface-soft);border-radius:12px;gap:4px;padding:12px;display:grid}.timeline span{color:var(--muted)}.access-link-box{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin:16px 0;padding:16px}.access-link-box h3{margin-top:0}.access-link-box p{word-break:break-word}@media (width<=900px){.strength-grid{grid-template-columns:1fr}}@media print{body{background:#fff}.sidebar,.tabs,.topbar,.control-strip,.secondary-action,.print-button,.accordion-header{display:none!important}.accordion-content{border:none;display:block!important}.report-preview{box-shadow:none;border:none}}.compact-progression-page{gap:12px}.progression-hero{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.progression-hero>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;gap:4px;padding:14px;display:grid}.progression-hero span{color:var(--muted);font-size:13px;font-weight:700}.progression-hero strong{color:var(--text);font-size:18px}.progression-hero small{color:var(--muted)}.compact-next-action{margin-bottom:12px}.compact-warning{margin-bottom:0}.progression-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.progression-two-column h3{margin-top:0}.compact-year-grid .year-card{padding:12px}.compact-table th,.compact-table td{padding:8px}.compact-report-card{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-progression-page .accordion-section{margin-top:10px}.compact-progression-page .accordion-content{padding:14px}@media (width<=1100px){.progression-hero,.progression-two-column,.compact-report-card{grid-template-columns:1fr}}:root{--ui-bg:#f4f7f5;--ui-surface:#fff;--ui-surface-2:#f8faf8;--ui-line:#dfe7e1;--ui-text:#1f2d28;--ui-muted:#65756f;--ui-primary:#3f7d62;--ui-primary-soft:#e5f1eb;--ui-blue-soft:#e8f1fb;--ui-yellow-soft:#fff5cf;--ui-red-soft:#fde5e5;--ui-green-soft:#dcf5e4}body{background:var(--ui-bg);color:var(--ui-text)}.sidebar{border-right:1px solid var(--ui-line);background:#f7faf8;box-shadow:8px 0 24px #1f2d280a}.brand{border-bottom:1px solid var(--ui-line);padding-bottom:18px}.sidebar-context{background:var(--ui-primary-soft);border:1px solid #c7ddcf;border-radius:18px;gap:4px;margin:16px 0;padding:14px;display:grid}.sidebar-context small,.sidebar-context span{color:var(--ui-muted);font-weight:700}.sidebar-context strong{font-size:18px}.sidebar-section{background:0 0;border:0;padding:0}.main-area{padding:22px}.topbar{box-shadow:none;background:0 0;border:0;align-items:start;padding:0 0 14px}.topbar h1{letter-spacing:-.03em;font-size:clamp(24px,3vw,36px)}.topbar p{max-width:720px}.control-strip{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:22px;margin-bottom:12px;box-shadow:0 12px 30px #1f2d280f}.workflow-strip{flex-wrap:wrap;gap:8px;margin:4px 0 14px;display:flex}.workflow-strip span{border:1px solid var(--ui-line);background:var(--ui-surface);color:var(--ui-muted);border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.tabs{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:22px;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:8px;display:flex;box-shadow:0 10px 28px #1f2d280d}.tabs button{white-space:nowrap;border-radius:16px;flex:130px;padding:11px 12px;font-size:14px;font-weight:800}.tabs button.active{background:var(--ui-primary);color:#fff}.page{gap:14px}.card,.accordion-section,.attendance-card{border:1px solid var(--ui-line);background:var(--ui-surface);border-radius:24px;box-shadow:0 12px 32px #1f2d280e}.accordion-section{overflow:hidden}.accordion-header{padding:16px 18px}.accordion-header strong{font-size:17px}.accordion-header small{font-size:13px;line-height:1.25}.accordion-content{background:var(--ui-surface);padding:16px 18px 18px}.intro{color:var(--ui-muted);line-height:1.45}.dashboard-grid{gap:10px}.dashboard-card{background:var(--ui-surface-2);border-color:var(--ui-line);min-height:94px}.dashboard-card strong{color:var(--ui-primary);font-size:clamp(22px,3vw,32px)}.next-action-card{background:linear-gradient(135deg,#e9f5ee,#fff);border-color:#bfd8c8}.quick-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.quick-actions button,.secondary-action,.print-button{border:1px solid var(--ui-line);background:var(--ui-surface);color:var(--ui-text);cursor:pointer;border-radius:14px;padding:10px 13px;font-weight:800}.quick-actions button:hover,.secondary-action:hover,.print-button:hover{background:var(--ui-primary-soft);border-color:#b9d6c4}.warning,.info-box{background:var(--ui-yellow-soft);border-color:#ead58e;border-radius:16px}.success-box{background:var(--ui-green-soft)}.progress-table-wrapper{border:1px solid var(--ui-line);background:#fff;border-radius:18px;overflow:auto}.progress-table,.attendance-matrix{border-collapse:separate;border-spacing:0}.progress-table th,.attendance-matrix th{background:var(--ui-surface-2);color:var(--ui-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.progress-table td,.progress-table th,.attendance-matrix td,.attendance-matrix th{border-color:var(--ui-line)}.rating-card,.student-rating-card{gap:12px;display:grid}.rating-card h3,.student-rating-card h3{margin-bottom:0}.scale-grid{grid-template-columns:repeat(6,minmax(82px,1fr));gap:8px;display:grid}.scale-option{border-radius:14px;min-height:auto;padding:9px}.scale-option small{font-size:12px;line-height:1.2}.level-explanation,.comment-bank{margin:0}textarea{min-height:90px}.attendance-summary-cards{gap:8px}.attendance-summary-cards div{border-radius:14px;padding:11px}.attendance-summary-cards strong{font-size:22px}.attendance-calendar{gap:8px}.calendar-weekdays,.calendar-week{gap:6px}.calendar-day,.calendar-day-main{border-radius:14px;min-height:66px}.inline-day.open{grid-row:span 3}.inline-day-editor{background:#ffffffe6}.contact-panel,.todo-panel,.role-summary-panel,.log-box,.report-card,.access-link-box{border-color:var(--ui-line);background:var(--ui-surface-2);border-radius:20px}.contact-grid div,.progression-hero>div,.strength-grid>div,.workplace-round-card,.workplace-answer-card,.calendar-planner-day,.class-settings-row,.class-profile-row{border-color:var(--ui-line)}.progression-hero{gap:10px}.progression-hero>div{background:var(--ui-surface-2)}.report-preview{border-radius:24px}.status-pill{border-radius:999px;font-weight:900}.status-klar{background:var(--ui-green-soft)}.status-saknar-komplettering{background:var(--ui-yellow-soft)}.status-behöver-uppföljning{background:var(--ui-red-soft)}.status-ej-påbörjad{background:#edf0f2}.status-present{background:var(--ui-green-soft)}.status-sick{background:var(--ui-yellow-soft)}.status-absent{background:var(--ui-red-soft)}.status-deviation{background:#ffe9cf}.status-unknown{background:#eceff3}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--ui-line);width:auto;padding-bottom:12px;position:static}.main-area{padding:16px}.control-strip{grid-template-columns:1fr}.scale-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-weekdays,.calendar-week{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}}@media (width<=720px){.topbar{grid-template-columns:1fr}.tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tabs button{flex:unset}.workflow-strip{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.workflow-strip span{white-space:nowrap}.scale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.compact-dashboard,.progression-hero,.strength-grid,.contact-grid,.settings-grid,.profile-grid{grid-template-columns:1fr!important}}:root{--color-bg:#f6f8f6;--color-bg-subtle:#eef3ef;--color-card:#fff;--color-card-soft:#f9fbf9;--color-text:#1e2925;--color-muted:#687770;--color-border:#e1e8e3;--color-border-strong:#c7d4cc;--color-primary:#386f58;--color-primary-ink:#244839;--color-primary-soft:#e7f2ec;--color-info:#e9f2fb;--color-info-ink:#315c86;--color-success:#e3f5e9;--color-success-ink:#276743;--color-warning:#fff4cf;--color-warning-ink:#7a5b08;--color-danger:#fce4e4;--color-danger-ink:#8a3434;--color-neutral:#eff2f1;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:26px;--shadow-soft:0 8px 24px #1e29250b;--shadow-subtle:0 2px 10px #1e292509;--space-xs:6px;--space-sm:10px;--space-md:16px;--space-lg:24px;--space-xl:32px}html{background:var(--color-bg)}body{background:radial-gradient(circle at top left, #edf5ef 0, var(--color-bg) 360px);color:var(--color-text);font-size:15px;line-height:1.45}h1,h2,h3,h4{color:var(--color-text);letter-spacing:-.025em}h1{font-size:clamp(28px,3.4vw,40px);line-height:1.05}h2{font-size:clamp(20px,2.3vw,26px);line-height:1.15}h3{font-size:17px;line-height:1.2}h4{font-size:15px}p,.intro,small{color:var(--color-muted)}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:#fff;transition:border-color .15s,box-shadow .15s,background .15s}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #386f5821}.app-shell{background:0 0}.sidebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid var(--color-border);box-shadow:none;background:#ffffffb8}.brand span{background:var(--color-primary);color:#fff;box-shadow:none}.brand strong{color:var(--color-primary-ink)}.sidebar-context{background:var(--color-primary-soft);box-shadow:var(--shadow-subtle);border-color:#c7ddcf}.sidebar-section label,.control-strip label,.profile-student-select{color:var(--color-muted);text-transform:uppercase;letter-spacing:.045em;font-size:12px}.main-area{width:100%;max-width:1480px;margin:0 auto}.topbar{margin-bottom:8px}.topbar h1{max-width:780px}.topbar p{max-width:680px;font-size:15px}.view-switch{background:var(--color-card);border:1px solid var(--color-border);box-shadow:var(--shadow-subtle)}.view-switch button{border-radius:999px}.control-strip,.tabs{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#ffffffdb}.workflow-strip{margin-top:2px;margin-bottom:12px}.workflow-strip span{border-color:var(--color-border);color:var(--color-muted);background:#fffc}.workflow-strip span.active{background:var(--color-primary-soft);color:var(--color-primary-ink);border-color:#bfd8c8}.tabs{z-index:5;position:sticky;top:0}.tabs button{color:var(--color-muted);background:0 0;border:1px solid #0000}.tabs button:hover{background:var(--color-card-soft);color:var(--color-text)}.tabs button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:none}.card,.accordion-section,.attendance-card,.contact-panel,.todo-panel,.role-summary-panel,.log-box,.report-card,.access-link-box{border:1px solid var(--color-border);background:var(--color-card);box-shadow:var(--shadow-soft);border-radius:var(--radius-xl)}.accordion-section,.page>.accordion-section{box-shadow:var(--shadow-subtle)}.accordion-header{min-height:66px}.accordion-header:hover{background:var(--color-card-soft)}.accordion-header strong{letter-spacing:-.01em;font-size:16px}.accordion-header small{max-width:700px}.accordion-header em{color:var(--color-primary);background:var(--color-primary-soft);border-radius:999px;place-items:center;min-width:30px;height:30px;font-size:20px;display:inline-grid}.accordion-content{border-top-color:var(--color-border);background:#fff}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.dashboard-card{background:var(--color-card-soft);border:1px solid var(--color-border);box-shadow:none;min-height:88px}.dashboard-card strong{color:var(--color-primary)}.dashboard-card span{color:var(--color-muted);font-size:13px}.next-action-card{background:linear-gradient(135deg, var(--color-primary-soft), #fff);box-shadow:none;border:1px solid #c6dccf}.next-action-card strong{color:var(--color-primary-ink)}.next-action-card button{background:var(--color-primary);color:#fff;box-shadow:none}.status-pill,.pill{border:1px solid var(--color-border);background:var(--color-neutral);color:var(--color-text)}.status-klar,.status-present{color:var(--color-success-ink);background:var(--color-success)!important;border-color:#bddbc8!important}.status-saknar-komplettering,.status-sick{color:var(--color-warning-ink);background:var(--color-warning)!important;border-color:#ead890!important}.status-behöver-uppföljning,.status-absent{color:var(--color-danger-ink);background:var(--color-danger)!important;border-color:#e9b5b5!important}.status-ej-påbörjad,.status-empty,.status-unknown{color:var(--color-muted);background:var(--color-neutral)!important;border-color:var(--color-border)!important}.status-deviation{color:#8a4b16;background:#ffe9d4!important;border-color:#efc097!important}.warning{background:var(--color-warning);color:var(--color-warning-ink);box-shadow:none;border-color:#ead890}.info-box{background:var(--color-info);color:var(--color-info-ink);border-color:#bfd4e8}.success-box{background:var(--color-success);color:var(--color-success-ink);border-color:#bddbc8}.attendance-card{background:#fff}.attendance-summary-cards{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.attendance-summary-cards div{background:var(--color-card-soft);box-shadow:none}.calendar-legend{gap:8px}.calendar-legend span{border-color:var(--color-border);background:#fff;font-size:12px}.attendance-calendar{background:var(--color-card-soft);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:12px}.calendar-weekdays{color:var(--color-muted);text-align:center}.calendar-weekdays strong{text-transform:uppercase;letter-spacing:.04em;font-size:12px}.calendar-day,.calendar-day-main{aspect-ratio:1/.82;min-height:58px}.calendar-day{border-color:var(--color-border);box-shadow:none}.calendar-day-main{padding:8px}.calendar-day-main strong,.calendar-day strong{font-size:15px}.calendar-day-main em,.calendar-day em{font-size:12px;font-weight:900}.non-apl-day{color:var(--color-info-ink);background:var(--color-info)!important;border-color:#c6d8eb!important}.inline-day.open{outline:2px solid #386f5847;box-shadow:0 10px 22px #386f581f}.inline-day-editor{border-top-color:var(--color-border);background:#fffffff2}.rating-card,.student-rating-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:none;background:#fff;margin-bottom:10px;padding:14px}.rating-card h3,.student-rating-card h3{justify-content:space-between;gap:12px;font-size:16px;display:flex}.rating-card .observe,.student-rating-card .observe,.rating-card p,.student-rating-card p{color:var(--color-muted);margin-top:0;font-size:13px}.scale-grid{grid-template-columns:repeat(6,minmax(54px,1fr));gap:6px}.scale-option{border:1px solid var(--color-border);background:var(--color-card-soft);border-radius:12px;min-width:0;padding:8px 6px}.scale-option strong{font-size:18px}.scale-option small{display:none}.scale-option.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.level-explanation{background:var(--color-primary-soft);border-color:#c7ddcf}.comment-required{background:var(--color-warning);color:var(--color-warning-ink);border-color:#ead890}.comment-bank{background:var(--color-card-soft)}.comment-bank button{background:#fff}.rating-card textarea,.student-rating-card textarea{min-height:72px}.progress-table-wrapper{box-shadow:none}.progress-table,.attendance-matrix{font-size:14px}.progress-table th,.progress-table td,.attendance-matrix th,.attendance-matrix td{padding:9px 10px}.progress-table tr:hover td,.attendance-matrix tr:hover td{background:var(--color-card-soft)}.progression-hero>div,.strength-grid>div,.workplace-round-card,.workplace-answer-card,.class-settings-row,.class-profile-row{background:var(--color-card-soft);border-color:var(--color-border);box-shadow:none}.progression-hero>div strong{color:var(--color-primary-ink)}.compact-workplace-summary div,.report-card,.report-preview{border-color:var(--color-border);background:#fff}.contact-grid div,.summary-info,.selected-date-list,.role-summary-panel,.todo-panel,.log-box{background:var(--color-card-soft);border-color:var(--color-border);box-shadow:none}.todo-panel li,.issue-list li{margin:8px 0}.quick-actions button,.secondary-action,.print-button,.close-inline-editor,.mark-week-button{border:1px solid var(--color-border);color:var(--color-text);box-shadow:none;background:#fff}.quick-actions button:hover,.secondary-action:hover,.print-button:hover,.close-inline-editor:hover,.mark-week-button:hover{background:var(--color-primary-soft);color:var(--color-primary-ink);border-color:#c7ddcf}.apl-calendar-planner{background:var(--color-card-soft);border-color:var(--color-border)}.calendar-planner-day{box-shadow:none}.calendar-planner-day.selected{background:var(--color-primary);border-color:var(--color-primary)}.card>p,.accordion-content>p,.public-shell .card>p{max-width:720px}.public-shell .card h2,.public-shell .accordion-header strong{font-size:18px}.public-shell .main-area{max-width:980px}.public-shell .tabs button{flex-basis:120px}@media (width<=900px){body{background:var(--color-bg)}.main-area{padding:12px}.topbar h1{font-size:26px}.topbar p{font-size:14px}.control-strip,.tabs,.card,.accordion-section,.attendance-card{border-radius:18px}.accordion-header,.accordion-content{padding:14px}.calendar-day,.calendar-day-main{min-width:62px}.scale-grid{grid-template-columns:repeat(6,minmax(42px,1fr))}.scale-option{padding:7px 4px}.scale-option strong{font-size:16px}.rating-card textarea,.student-rating-card textarea{min-height:64px}}@media (width<=620px){.tabs{grid-template-columns:1fr 1fr;display:grid}.tabs button{white-space:normal;min-height:44px}.scale-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-weekdays,.calendar-week{grid-template-columns:repeat(7,minmax(56px,1fr))}}.save-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.save-status-grid div{border:1px solid var(--color-border,#e1e8e3);background:var(--color-card-soft,#f9fbf9);border-radius:16px;gap:4px;padding:14px;display:grid}.save-status-grid span{color:var(--color-primary,#386f58);font-weight:800}.save-status-grid small{color:var(--color-muted,#687770)}.danger-action{background:var(--color-danger,#fce4e4);color:var(--color-danger-ink,#8a3434);cursor:pointer;border:1px solid #e7b4b4;border-radius:14px;margin-bottom:14px;padding:10px 14px;font-weight:800}.report-page .report-document{border:1px solid var(--color-border,#e1e8e3);background:#fff;border-radius:24px;gap:22px;padding:26px;display:grid}.report-document header{border-bottom:1px solid var(--color-border,#e1e8e3);padding-bottom:14px}.report-document header h2{margin-bottom:4px}.report-document section{break-inside:avoid}.report-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;display:grid}.report-info-grid p,.report-document p{margin:0}.report-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}@media (width<=800px){.save-status-grid,.report-info-grid{grid-template-columns:1fr}.report-page .report-document{padding:16px}}@media print{.report-page .accordion-header,.report-toolbar,.sidebar,.tabs,.workflow-strip,.topbar,.control-strip{display:none!important}.report-page .accordion-content{border:0;padding:0;display:block!important}.report-page .accordion-section{box-shadow:none;border:0}.report-page .report-document{border:0;padding:0}}.dismissible-followup{grid-template-columns:1fr auto;align-items:start;gap:10px;display:grid}.dismissible-followup button{border:1px solid var(--color-border,#e1e8e3);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:6px 10px;font-weight:800}.dismissible-followup button:hover{background:var(--color-primary-soft,#e7f2ec)}.attendance-workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.attendance-calendar-panel{min-width:0}.robust-calendar{overflow:auto}.robust-week,.calendar-weekdays{grid-template-columns:repeat(7,minmax(72px,1fr)) minmax(120px,150px);gap:6px;display:grid}.robust-day{border:1px solid var(--color-border,#e1e8e3);cursor:pointer;text-align:center;border-radius:14px;place-items:center;gap:3px;width:100%;min-height:68px;padding:8px;display:grid}button.robust-day{color:var(--color-text,#1e2925)}.robust-day:hover{outline:2px solid #386f5838}.robust-day.selected{border-color:var(--color-primary,#386f58);outline:3px solid #386f5859}.robust-week-button{white-space:normal;text-align:center;min-height:68px;padding:8px}.attendance-editor-panel{border:1px solid var(--color-border,#e1e8e3);background:var(--color-card-soft,#f9fbf9);box-shadow:var(--shadow-subtle,0 2px 10px #1e292509);border-radius:20px;gap:12px;padding:16px;display:grid;position:sticky;top:92px}.editor-panel-heading{border-bottom:1px solid var(--color-border,#e1e8e3);gap:3px;padding-bottom:10px;display:grid}.editor-panel-heading span,.editor-panel-heading small{color:var(--color-muted,#687770);font-weight:700}.editor-panel-heading strong{font-size:20px}.attendance-editor-actions{flex-wrap:wrap;gap:8px;display:flex}.attendance-editor-actions button{border:1px solid var(--color-border,#e1e8e3);color:var(--color-text,#1e2925);cursor:pointer;background:#fff;border-radius:12px;padding:9px 12px;font-weight:800}.attendance-editor-actions button:hover{background:var(--color-primary-soft,#e7f2ec)}.attendance-matrix-wrapper{overflow:auto}.attendance-matrix th:first-child,.attendance-matrix td:first-child{z-index:1;background:#fff;position:sticky;left:0}@media (width<=1050px){.attendance-workspace{grid-template-columns:1fr}.attendance-editor-panel{position:static}.robust-week,.calendar-weekdays{grid-template-columns:repeat(7,minmax(64px,1fr)) minmax(100px,130px)}}.report-cover{background:linear-gradient(135deg, var(--color-primary-soft,#e7f2ec), white);border:1px solid var(--color-border,#e1e8e3);border-radius:22px;gap:4px;padding:20px;display:grid}.report-cover span{color:var(--color-primary,#386f58);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.report-cover small{color:var(--color-muted,#687770);font-weight:700}.teacher-summary-section{border:1px solid var(--color-border,#e1e8e3);background:var(--color-card-soft,#f9fbf9);border-radius:18px;padding:16px}.report-note{background:var(--color-info,#e9f2fb);color:var(--color-info-ink,#315c86);border:1px solid #bfd4e8;border-radius:18px;padding:16px}.signature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.signature-grid div{border:1px solid var(--color-border,#e1e8e3);background:#fff;border-radius:18px;gap:8px;min-height:110px;padding:16px;display:grid}.signature-grid span{color:var(--color-text,#1e2925)}@media (width<=800px){.signature-grid{grid-template-columns:1fr}}.phase-selector{gap:6px;display:grid}.phase-selector>span{color:var(--color-muted,#687770);text-transform:uppercase;letter-spacing:.045em;font-size:12px;font-weight:800}.period-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 18px;display:grid}.period-summary-grid div{border:1px solid var(--color-border,#e1e8e3);background:var(--color-card-soft,#f9fbf9);border-radius:16px;gap:4px;padding:14px;display:grid}.period-summary-grid strong{color:var(--color-muted,#687770);text-transform:uppercase;letter-spacing:.045em;font-size:12px}.period-summary-grid span{color:var(--color-primary-ink,#244839);font-weight:800}@media (width<=900px){.period-summary-grid{grid-template-columns:1fr 1fr}}.teacher-workspace-grid{margin-bottom:14px}.class-workspace-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px;display:grid}.class-workspace-card{text-align:left;border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;color:inherit;font:inherit;border-radius:18px;gap:8px;padding:16px;display:grid}.class-workspace-card:hover,.class-workspace-card.active{border-color:var(--primary);background:#fff;box-shadow:0 10px 28px #1f2d2814}.class-workspace-card span,.class-workspace-card em,.class-workspace-card small{color:var(--muted);font-style:normal;font-weight:700}.class-workspace-card strong{color:var(--text);font-size:22px}.class-workspace-card div{border-top:1px solid var(--border);gap:4px;padding-top:6px;display:grid}.selected-class-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;grid-template-columns:minmax(220px,.8fr) 2fr;align-items:center;gap:16px;padding:16px;display:grid}.selected-class-panel>div:first-child{gap:4px;display:grid}.selected-class-panel small,.selected-class-panel span{color:var(--muted);font-weight:700}.selected-class-panel strong{color:var(--primary);font-size:24px}.table-action-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:7px 12px;font-weight:800}.table-action-button:hover{border-color:var(--primary)}@media (width<=820px){.selected-class-panel{grid-template-columns:1fr}}.teacher-phase-strip{margin-top:6px}.class-overview-list{gap:8px;margin-top:14px;display:grid}.class-overview-row{border:1px solid var(--border);background:#fff;border-radius:16px;grid-template-columns:minmax(120px,1.2fr) repeat(4,minmax(110px,1fr)) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.class-overview-row.active{border-color:var(--primary);background:var(--surface-soft)}.class-overview-main{gap:2px;display:grid}.class-overview-main small,.class-overview-row span{color:var(--muted);font-weight:700}.class-overview-main strong{color:var(--text);font-size:18px}.class-overview-row button{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;padding:9px 12px;font-weight:800}.class-overview-row button:hover{filter:brightness(.95)}@media (width<=1100px){.class-overview-row{grid-template-columns:1fr 1fr}.class-overview-row button{justify-self:start}}.phase-selector{min-width:0}.phase-selector .round-buttons{flex-wrap:nowrap}.phase-selector .round-buttons button{white-space:nowrap;flex:1 1 0;min-width:0}.class-card-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:14px;display:grid}.class-picker-card{text-align:left;border:1px solid var(--border);color:inherit;font:inherit;cursor:pointer;background:#fff;border-radius:18px;gap:7px;min-height:170px;padding:16px;display:grid}.class-picker-card:hover,.class-picker-card.active{border-color:var(--primary);background:var(--surface-soft);box-shadow:0 10px 28px #1f2d2814}.class-picker-card small,.class-picker-card span,.class-picker-card em{color:var(--muted);font-style:normal;font-weight:700}.class-picker-card strong{color:var(--text);font-size:24px}.class-picker-card div{border-top:1px solid var(--border);gap:4px;padding-top:8px;display:grid}.progress-table tbody tr[role=button]{cursor:pointer}.progress-table tbody tr[role=button]:focus-visible{outline:3px solid var(--primary-soft);outline-offset:-3px}.photo-upload-box{border:1px dashed var(--border);background:var(--surface-soft);border-radius:18px;gap:8px;margin-bottom:16px;padding:16px;display:grid}.photo-upload-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:11px 16px;font-weight:800;display:inline-flex}.photo-upload-button input{display:none}.photo-upload-box p{color:var(--muted);margin:0;font-size:14px}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.photo-card{border:1px solid var(--border);background:#fff;border-radius:18px;margin:0;overflow:hidden}.photo-card img{aspect-ratio:4/3;object-fit:cover;background:var(--surface-soft);width:100%;display:block}.photo-card figcaption{gap:4px;padding:12px;display:grid}.photo-card figcaption span{color:var(--muted);font-size:13px;font-weight:700}.photo-card figcaption button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;justify-self:start;padding:6px 10px;font-weight:800}@media (width<=620px){.phase-selector .round-buttons{gap:6px}.phase-selector .round-buttons button{padding:10px 8px;font-size:13px}.class-card-grid{grid-template-columns:1fr}}.compact-photo-note{border:1px solid var(--border);background:#fff;border-radius:14px;margin-top:10px;padding:10px 12px}.photo-grid-compact{grid-template-columns:repeat(auto-fit,minmax(90px,140px));align-items:start}.photo-grid-compact .photo-card img{aspect-ratio:4/3}.photo-card-clickable{transition:transform .15s,box-shadow .15s}.photo-card-clickable:hover{transform:translateY(-1px);box-shadow:0 8px 22px #0f172a1a}.photo-thumb-button{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.photo-thumb-button:focus-visible{outline:3px solid var(--primary-soft);outline-offset:-3px}.photo-grid-compact .photo-card figcaption{padding:8px;font-size:12px}.photo-grid-compact .photo-card figcaption button{padding:5px 8px;font-size:12px}.photo-viewer-backdrop{z-index:1000;background:#0f172ab8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.photo-viewer-window{background:#fff;border-radius:22px;grid-template-rows:auto 1fr;width:min(960px,100%);max-height:92vh;display:grid;overflow:hidden;box-shadow:0 24px 70px #00000047}.photo-viewer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.photo-viewer-header div{gap:2px;display:grid}.photo-viewer-header span{color:var(--muted);font-size:13px;font-weight:700}.photo-viewer-header button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;width:40px;height:40px;font-size:28px;line-height:1}.photo-viewer-body{background:var(--surface-soft);justify-content:center;align-items:center;min-height:260px;display:flex;position:relative}.photo-viewer-body img{object-fit:contain;max-width:100%;max-height:calc(92vh - 74px);display:block}.photo-viewer-nav{border:1px solid var(--border);cursor:pointer;background:#ffffffeb;border-radius:999px;width:46px;height:46px;font-size:38px;line-height:.8;position:absolute;top:50%;transform:translateY(-50%)}.photo-viewer-nav.previous{left:14px}.photo-viewer-nav.next{right:14px}@media (width<=620px){.photo-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-viewer-backdrop{padding:8px}.photo-viewer-window{border-radius:18px;max-height:96vh}.photo-viewer-nav{width:40px;height:40px;font-size:32px}}.teacher-search-panel{border:1px solid var(--border);background:#fff;border-radius:18px;margin:18px 0;padding:16px}.teacher-search-panel label{color:var(--text);gap:8px;font-weight:700;display:grid}.teacher-search-results{gap:10px;margin-top:14px;display:grid}.search-result-list{gap:8px;display:grid}.student-search-result{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.student-search-result:hover,.student-search-result:focus-visible{border-color:var(--primary);box-shadow:0 8px 22px #0f172a14}.student-search-result span{gap:3px;display:grid}.student-search-result small{color:var(--muted);font-weight:600}.student-search-result em{color:var(--primary);white-space:nowrap;font-style:normal;font-weight:700}.student-saved-photos{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.student-saved-photos h3{margin:0 0 8px}.student-photo-preview-grid{margin-top:12px}@media (width<=760px){.student-search-result{flex-direction:column;align-items:flex-start}}.always-visible-photo-upload{border:1px solid var(--border);background:#fff;border-radius:18px;gap:10px;margin:18px 0;padding:16px;display:grid}.always-visible-photo-upload h3{margin:0}.always-visible-photo-upload>p{color:var(--muted);margin:0}.always-visible-photo-upload .photo-upload-box{margin-bottom:0}.progress-table tbody tr[role=button] td{-webkit-tap-highlight-color:#0000000a}.photo-comment-field{color:var(--text);gap:6px;margin-top:4px;font-size:12px;font-weight:800;display:grid}.photo-comment-field textarea,.diary-input-box textarea,.diary-entry-card textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:70px;font:inherit;color:var(--text);background:#fff;border-radius:12px;padding:9px 10px}.danger-light-button{color:#8a1f1f;background:#fff7f7!important;border-color:#f0c7c7!important}.photo-comment-display{color:var(--text);overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;line-height:1.35}.photo-viewer-image-wrap{justify-items:center;gap:10px;width:100%;padding:12px;display:grid}.photo-viewer-image-wrap p{max-width:760px;color:var(--text);background:#fff;border-radius:14px;margin:0;padding:10px 12px;font-weight:700}.diary-input-box{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;gap:12px;margin-bottom:14px;padding:14px;display:grid}.diary-input-box label{gap:8px;font-weight:800;display:grid}.diary-input-box button,.diary-entry-card button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:10px 14px;font-weight:800}.diary-input-box button:disabled{opacity:.45;cursor:not-allowed}.diary-entry-list{gap:12px;display:grid}.diary-entry-card{border:1px solid var(--border);background:#fff;border-radius:18px;gap:10px;padding:14px;display:grid}.diary-entry-card>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.diary-entry-card button{color:#8a1f1f;background:#fff7f7;border:1px solid #f0c7c7;padding:7px 10px}.diary-entry-card p{white-space:pre-wrap;margin:0;line-height:1.45}@media (width<=620px){.photo-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.diary-entry-card>div{flex-direction:column;align-items:flex-start}}.admin-card .intro{max-width:920px}.admin-import-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1rem;margin:1rem 0;display:grid}.admin-import-box{border:1px solid var(--border,#d8e3dc);background:#fff;border-radius:18px;padding:1rem}.admin-import-box.muted{background:#f5faf7}.admin-import-box h3{margin-top:0}.admin-import-box ul{margin:.5rem 0 0;padding-left:1.2rem}.admin-upload-button{width:fit-content;margin:.75rem 0;display:inline-flex}.admin-summary-cards{grid-template-columns:repeat(4,minmax(130px,1fr));gap:.75rem;margin:1rem 0;display:grid}.admin-summary-cards div{border:1px solid var(--border,#d8e3dc);background:#f8fbf9;border-radius:16px;padding:1rem}.admin-summary-cards strong{color:#2f6b4f;font-size:1.9rem;display:block}.admin-summary-cards span{color:#56645d;margin-top:.25rem;display:block}@media (width<=900px){.admin-import-grid,.admin-summary-cards{grid-template-columns:1fr}}.admin-tools-card{background:#f6fbf8;border:1px solid #d9e5de;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.admin-tools-card h3{margin:0 0 .35rem}.admin-tools-card p{color:#51615a;margin:0}.admin-tool-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.danger-button{color:#fff;cursor:pointer;background:#7a2d2d;border:0;border-radius:12px;padding:.7rem .95rem;font-weight:700}.storage-status{background:#fff;border:1px solid #d9e5de;border-radius:16px;margin-top:1rem;padding:.9rem 1rem}.storage-status p{margin:.45rem 0 0}.warning-status{background:#fff8e8;border-color:#e0b35f}.storage-meter{background:#e8eee9;border-radius:999px;width:100%;height:9px;margin-top:.65rem;overflow:hidden}.storage-meter span{border-radius:inherit;background:#2f6b52;height:100%;display:block}.diagnostics-panel{background:#fff;border:1px solid #d9e5de;border-radius:18px;margin-top:1rem;padding:1rem}.diagnostics-panel h3{margin-top:0}.diagnostics-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.diagnostics-grid div{background:#f8fbf9;border:1px solid #e1e8e3;border-radius:14px;padding:.85rem}.diagnostics-grid strong{color:#2f6b52;font-size:1.45rem;display:block}.diagnostics-grid span{color:#51615a;font-size:.9rem}.diagnostics-warnings{background:#fff8e8;border:1px solid #e0b35f;border-radius:14px;margin-top:1rem;padding:.9rem 1rem}.diagnostics-warnings ul{margin:.5rem 0 0;padding-left:1.2rem}@media (width<=800px){.admin-tools-card{flex-direction:column;align-items:stretch}.admin-tool-actions{justify-content:flex-start}}.import-preview-panel,.teacher-activity-grid,.managed-user-list{margin-top:1rem}.import-mode-row,.photo-meta-grid,.managed-user-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:.75rem;display:grid}.preview-table-wrap{margin-top:.75rem;overflow-x:auto}.compact-preview-table th,.compact-preview-table td{white-space:nowrap}.teacher-activity-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.activity-card{background:#fff;border:1px solid #0f172a1f;border-radius:1rem;padding:1rem}.activity-card ul{gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.activity-card li button{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #0f172a1a;border-radius:.75rem;gap:.2rem;width:100%;padding:.75rem;display:grid}.activity-card li button:hover{background:#eef2ff}.linked-diary-label,.linked-diary-viewer{color:#475569;margin-top:.35rem;font-size:.82rem;display:block}.linked-diary-viewer{background:#f8fafc;border-radius:.75rem;padding:.75rem}.admin-users-card{margin-top:1rem}.managed-user-row{background:#fff;border:1px solid #0f172a1f;border-radius:.9rem;padding:.75rem}@media (width<=720px){.import-mode-row,.photo-meta-grid,.managed-user-row{grid-template-columns:1fr}}.sidebar-search-box input{width:100%}.sidebar-search-results{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;gap:8px;max-height:280px;padding:8px;display:grid;overflow:auto}.sidebar-search-results button{text-align:left;border:1px solid var(--border);cursor:pointer;width:100%;color:var(--text);background:#fff;border-radius:12px;padding:9px 10px}.sidebar-search-results button:hover{border-color:var(--primary);background:var(--primary-soft)}.sidebar-search-results strong,.sidebar-search-results small{display:block}.sidebar-search-results small{color:var(--muted);margin-top:2px}.sidebar-search-results p{color:var(--muted);margin:0;font-size:13px}.compact-report .clean-list,.clean-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.clean-list li{border:1px solid var(--border,#d8e1dc);background:#fff;border-radius:14px;gap:.25rem;padding:.85rem;display:grid}.summary-pill-grid,.status-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin:1rem 0;display:grid}.summary-pill-grid span,.status-cards>div{background:#f8fbf9;border:1px solid #d8e1dc;border-radius:16px;padding:1rem}.status-cards strong{color:#2f6b52;font-size:1.6rem;display:block}.status-cards span{color:#53625c;margin-top:.25rem;display:block}.summary-photo-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem;margin-top:1rem;display:grid}.summary-photo-list div{background:#fff;border:1px solid #d8e1dc;border-radius:14px;gap:.35rem;padding:.6rem;display:grid}.summary-photo-list img{object-fit:cover;border-radius:10px;width:100%;height:90px}.ready-row td{background:#f5fbf7}.attention-row td{background:#fffaf1}.info-box{background:#f8fbf9;border:1px solid #d8e1dc;border-radius:16px;margin-top:1rem;padding:1rem}.info-box small{color:#64736d;margin-top:.5rem;display:block}.message-composer textarea,.form-grid textarea{min-height:110px}.message-list{gap:.75rem;margin-top:1rem;display:grid}.message-card{background:#fff;border:1px solid #d8e1dc;border-radius:16px;padding:1rem}.message-card strong{text-transform:capitalize}.message-card small{color:#65736e;margin:.25rem 0 .5rem;display:block}.todo-board{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.todo-board>div{background:#fff;border:1px solid #d8e1dc;border-radius:16px;padding:1rem}.todo-board ul{padding-left:1.2rem}.data-model-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;display:grid}.data-model-card{background:#fff;border:1px solid #d8e1dc;border-radius:16px;padding:1rem}.data-model-card h3{margin:0 0 .5rem}.pilot-banner{background:#fff8e8;border:1px solid #d7bd78;border-radius:16px;gap:.35rem;margin-bottom:1rem;padding:1rem;display:grid}.pilot-checklist{gap:.65rem;display:grid}.check-row{background:#fff;border:1px solid #d8e1dc;border-radius:14px;align-items:center;gap:.7rem;padding:.8rem;display:flex}.check-row input{width:1.1rem;height:1.1rem}@media (width<=760px){.summary-pill-grid,.status-cards,.todo-board,.data-model-grid{grid-template-columns:1fr}.summary-photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.recommended-comment{color:#7a4b00;background:#fff8e6;border:1px solid #f0d48a;border-radius:12px;margin:4px 0 10px;padding:10px 12px;font-size:14px}.selected-student-notice{border:1px solid var(--border);background:#f8fbff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:14px;padding:12px 14px;display:flex}.selected-student-notice span{color:var(--muted)}.message-card-header{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.message-replies{border-left:3px solid #d8e1dc;gap:.5rem;margin-top:.75rem;padding-left:.75rem;display:grid}.message-reply{background:#f8fbf9;border-radius:12px;padding:.75rem}.message-reply p{margin:.25rem 0 0}.message-reply-box{gap:.5rem;margin-top:.75rem;display:grid}.message-reply-box textarea{min-height:72px}.tab-label-with-badge{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.tab-icon{justify-content:center;align-items:center;width:1.15em;font-size:1rem;line-height:1;display:inline-flex;transform:translateY(-.02em)}.login-status strong span{margin-right:.18rem;display:inline-block}.message-badge{color:#fff;background:#b42318;border-radius:999px;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;font-size:.78rem;font-weight:800;line-height:1;display:inline-flex}.tabs button.active .message-badge{color:#b42318;background:#fff}.message-notification-banner{color:#7a271a;background:#fff1f0;border:1px solid #f1b7b2;border-radius:14px;margin-bottom:.75rem;padding:.75rem .9rem}.unread-message{background:#fff8f7;border-color:#f1b7b2;box-shadow:0 0 0 2px #b423180f}.unread-message .message-card-header:after{content:"Nytt";color:#fff;background:#b42318;border-radius:999px;justify-content:center;align-items:center;margin-left:.5rem;padding:.2rem .55rem;font-size:.75rem;font-weight:800;display:inline-flex}.mobile-notification-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;margin:.8rem 0;padding:.9rem;display:flex}.mobile-notification-card p{margin:.25rem 0}.notification-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.compact-check{align-items:center;gap:.35rem;font-weight:700;display:inline-flex}@media (width<=720px){.mobile-notification-card{flex-direction:column;align-items:stretch}}.message-start-card{background:#f8fbf9;border:1px solid #d8e1dc;border-radius:16px;gap:.75rem;margin:1rem 0;padding:1rem;display:grid}.message-start-card h3{margin:0}.message-start-card p{color:#64736d;margin:0}.message-start-card label{gap:.35rem;font-weight:700;display:grid}.message-start-card textarea{min-height:90px}.conversation-list{gap:1rem}.conversation-card{gap:.85rem;display:grid}.conversation-header span{color:#325347;background:#eef5f1;border-radius:999px;align-self:flex-start;padding:.25rem .65rem;font-size:.8rem;font-weight:800}.conversation-thread{gap:.6rem;display:grid}.conversation-bubble{background:#f8fbf9;border:1px solid #d8e1dc;border-radius:14px 14px 14px 4px;max-width:88%;padding:.75rem}.conversation-bubble.own{background:#eef5ff;border-color:#c7dcf8;border-radius:14px 14px 4px;justify-self:end}.conversation-bubble p{margin:.25rem 0 0}.conversation-bubble small{margin:0}.conversation-title-button{appearance:none;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:.25rem;padding:0;display:grid}.conversation-title-button:hover strong{text-decoration:underline}.conversation-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.compact-button{min-height:auto;padding:.45rem .65rem}.danger-button{color:#8a2020;cursor:pointer;background:#fff5f5;border:1px solid #d9b8b8;border-radius:10px;font-weight:800}.danger-button:hover{background:#ffe8e8}@media (width<=760px){.conversation-header{align-items:flex-start}.conversation-header-actions{justify-content:flex-start}}.login-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.server-error{color:#7a1717;background:#fff1f1;border:1px solid #d66;border-radius:14px;padding:.75rem .9rem;font-weight:700}.summary-photo-list{grid-template-columns:repeat(auto-fill,minmax(150px,150px));justify-content:start;align-items:start}.summary-photo-list div{width:150px;min-height:210px}.summary-photo-list img,.photo-card img,.photo-grid-compact .photo-card img{aspect-ratio:1;object-fit:cover;height:auto}.photo-grid-compact{grid-template-columns:repeat(auto-fill,minmax(130px,150px));justify-content:start}.photo-card{height:100%}.message-center-layout{grid-template-columns:minmax(0,1fr) minmax(320px,1fr);align-items:start;gap:1rem;display:grid}.message-composer-panel,.message-inbox-panel{background:#f8fbf9;border:1px solid #d8e1dc;border-radius:16px;padding:1rem}.message-composer-panel h3,.message-inbox-panel h3{margin:0 0 .75rem}.message-recipient-select{gap:.35rem;width:25%;min-width:180px;margin-bottom:.85rem;font-weight:800;display:grid}.message-recipient-static{background:#fff;border:1px solid #d8e1dc;border-radius:12px;width:25%;min-width:180px;margin-bottom:.85rem;padding:.8rem}.message-textarea-label{gap:.35rem;font-weight:800;display:grid}.message-textarea-label textarea{resize:vertical;min-height:150px}.message-send-button{justify-content:center;width:50%;margin:.85rem auto 0;display:flex}.message-help-text{color:#64736d;margin:.75rem 0 0;font-size:.92rem}.message-inbox-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.message-inbox-panel .message-list{max-height:620px;margin-top:0;padding-right:.25rem;overflow:auto}.message-start-card{display:none}@media (width<=900px){.message-center-layout{grid-template-columns:1fr}.message-recipient-select,.message-recipient-static,.message-send-button{width:100%;min-width:0}.summary-photo-list,.photo-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-photo-list div{width:auto}}.app-crash-page{background:#f5f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.app-crash-card{background:#fff;border:1px solid #d7deea;border-radius:20px;width:min(720px,100%);padding:28px;box-shadow:0 18px 50px #0f172a1f}.app-crash-actions{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.app-crash-card pre{white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.install-app-box{flex-direction:column;align-items:flex-end;gap:6px;max-width:260px;display:flex}.install-app-button{cursor:pointer;color:#fff;background:#0f172a;border:0;border-radius:999px;padding:10px 16px;font-weight:800;box-shadow:0 10px 24px #0f172a2e}.install-app-button:hover{transform:translateY(-1px)}.install-app-button.installed{cursor:default;background:#166534}.install-app-box small{color:#475569;text-align:right;font-size:.76rem;line-height:1.25}@media (width<=760px){.install-app-box{align-items:stretch;width:100%;max-width:none}.install-app-box small{text-align:left}}.login-install-panel{background:#355e490f;border:1px solid #355e492e;border-radius:1rem;gap:.5rem;margin-top:1rem;padding:.9rem;display:grid}.login-install-panel small{color:var(--muted);line-height:1.35}.msn-shell{grid-template-columns:330px minmax(0,1fr);gap:1rem;min-height:640px;display:grid}.msn-sidebar,.msn-chat-window{background:linear-gradient(#f7fbff 0%,#eef7f3 100%);border:1px solid #c8d8d2;border-radius:18px;overflow:hidden;box-shadow:0 14px 35px #132b2214}.msn-sidebar{grid-template-rows:auto auto minmax(180px,1fr) auto;display:grid}.msn-profile-card{background:linear-gradient(135deg,#dff2ff,#e9f8ef);border-bottom:1px solid #c8d8d2;align-items:center;gap:.75rem;padding:1rem;display:flex}.msn-avatar,.msn-contact-avatar{color:#fff;background:#3d6b5a;border-radius:999px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:inline-flex}.msn-contact-avatar.large{border-radius:16px;width:54px;height:54px;font-size:.85rem}.msn-status{color:#47645a;margin-top:.15rem;font-size:.85rem;display:block}.msn-status.online:before{content:"";background:#21a366;border-radius:999px;width:9px;height:9px;margin-right:.35rem;display:inline-block}.msn-contact-header{background:#ffffffad;border-bottom:1px solid #d8e1dc;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.msn-contact-list{align-content:start;gap:.35rem;padding:.65rem;display:grid;overflow:auto}.msn-contact{text-align:left;cursor:pointer;background:#ffffffb8;border:1px solid #0000;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;width:100%;padding:.65rem;display:grid}.msn-contact:hover,.msn-contact.active{background:#fff;border-color:#9fc4b6}.msn-contact.unread{background:#fff8f7;border-color:#f1b7b2}.msn-contact-text{gap:.15rem;min-width:0;display:grid}.msn-contact-text strong,.msn-contact-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msn-contact-text small,.msn-contact-date,.msn-empty{color:#64736d;font-size:.82rem}.msn-new-chat{background:#ffffffbf;border-top:1px solid #d8e1dc;gap:.55rem;padding:1rem;display:grid}.msn-new-chat h4{margin:0}.msn-new-chat label{gap:.3rem;font-weight:800;display:grid}.msn-new-chat textarea{min-height:86px}.msn-chat-window{background:#fff;grid-template-rows:auto minmax(320px,1fr) auto;display:grid}.msn-chat-titlebar{background:linear-gradient(135deg,#eaf6ff,#f3fbf6);border-bottom:1px solid #c8d8d2;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.msn-title-left{align-items:center;gap:.8rem;display:flex}.msn-title-left h3{margin:0}.msn-title-left small{color:#64736d}.msn-chat-body{background:radial-gradient(circle at 0 0,#91c2ff29,#0000 34%),linear-gradient(#fff 0%,#f8fbf9 100%);flex-direction:column;gap:.7rem;padding:1rem;display:flex;overflow:auto}.msn-message-row{justify-content:flex-start;display:flex}.msn-message-row.own{justify-content:flex-end}.msn-bubble{background:#fff;border:1px solid #d8e1dc;border-radius:18px 18px 18px 5px;max-width:min(74%,620px);padding:.75rem .85rem;box-shadow:0 8px 20px #132b220f}.msn-message-row.own .msn-bubble{background:#edf7ff;border-color:#c4ddf5;border-radius:18px 18px 5px}.msn-bubble small{color:#64736d;margin-bottom:.25rem;display:block}.msn-bubble p{white-space:pre-wrap;margin:0}.msn-reply-bar{background:#f8fbf9;border-top:1px solid #c8d8d2;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;padding:1rem;display:grid}.msn-reply-bar textarea{resize:vertical;min-height:76px}.msn-send-button{min-width:120px;height:76px}.msn-no-chat{text-align:center;color:#64736d;background:#ffffffbf;border:1px dashed #c8d8d2;border-radius:18px;place-self:center;padding:1.2rem}@media (width<=980px){.msn-shell{grid-template-columns:1fr}.msn-sidebar{max-height:none}.msn-contact-list{max-height:280px}.msn-chat-titlebar,.msn-reply-bar{grid-template-columns:1fr}.msn-reply-bar{display:grid}.msn-send-button{width:100%;height:auto}.msn-bubble{max-width:92%}}.communication-page{gap:1rem;display:grid}.communication-heading{background:#ffffffdb;border:1px solid #355e4924;border-radius:20px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.1rem;display:flex;box-shadow:0 10px 28px #132b220d}.communication-heading h2,.communication-heading p{margin:.1rem 0}.communication-unread-badge{color:#9a3412;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:.45rem .75rem;font-weight:900}.communication-card{background:#fff;border:1px solid #c8d8d2;border-radius:22px;overflow:hidden;box-shadow:0 16px 36px #132b2214}.communication-contact-header{background:linear-gradient(135deg,#eaf6ff,#f3fbf6);border-bottom:1px solid #c8d8d2;align-items:center;gap:.9rem;padding:1rem;display:flex}.communication-contact-header h3,.communication-contact-header p{margin:.1rem 0}.communication-contact-header small,.communication-contact-header p{color:#64736d}.communication-start-card{background:#f8fbf9eb;border-bottom:1px solid #d8e1dc;grid-template-columns:minmax(180px,.7fr) minmax(160px,.45fr) minmax(260px,1.4fr) auto;align-items:end;gap:.75rem;padding:1rem;display:grid}.communication-start-card>div p,.communication-start-card>div strong{margin:.1rem 0}.communication-start-card label{gap:.3rem;font-weight:800;display:grid}.communication-start-card textarea{resize:vertical;min-height:52px}.conversation-strip{background:#fbfdfc;border-bottom:1px solid #d8e1dc;gap:.6rem;padding:.85rem 1rem;display:grid}.conversation-strip-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.conversation-strip-header small{color:#64736d}.conversation-chip-list{gap:.6rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.conversation-chip{text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e1dc;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:250px;max-width:340px;padding:.65rem;display:grid}.conversation-chip:hover,.conversation-chip.active{border-color:#3d6b5a;box-shadow:0 8px 20px #132b2214}.conversation-chip.unread{background:#fff8f7;border-color:#f1b7b2}.conversation-chip span:not(.msn-contact-avatar){gap:.12rem;min-width:0;display:grid}.conversation-chip strong,.conversation-chip small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-chip small,.conversation-chip em{color:#64736d;font-size:.82rem;font-style:normal}.integrated-chat-window{box-shadow:none;border:0;border-radius:0;min-height:500px}.compact-notification-card{margin:0}@media (width<=980px){.communication-heading{flex-direction:column}.communication-start-card{grid-template-columns:1fr}.conversation-chip{min-width:220px}}.communication-launch-page{padding:1rem 0 2rem}.communication-launch-card{border:1px solid var(--border,#dce7df);background:linear-gradient(135deg,#f7fbf8,#eef7f3);border-radius:1.25rem;align-items:center;gap:1.25rem;padding:1.5rem;display:flex;box-shadow:0 18px 35px #18362714}.messenger-mini-icon{color:#fff;background:#3b6754;border-radius:1.25rem;place-items:center;width:4.5rem;height:4.5rem;font-size:2rem;display:grid;box-shadow:0 12px 25px #3b675440}.floating-chat-button{z-index:80;color:#fff;cursor:pointer;background:#315f4b;border:none;border-radius:999px;align-items:center;gap:.55rem;padding:.9rem 1.15rem;font-weight:800;display:inline-flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 18px 38px #1f493547}.floating-chat-button:hover{transform:translateY(-1px);box-shadow:0 22px 44px #1f493552}.floating-chat-button em{color:#22352b;background:#f7d56b;border-radius:999px;place-items:center;min-width:1.4rem;height:1.4rem;font-size:.78rem;font-style:normal;display:grid}.floating-chat-button.has-unread{animation:1.8s infinite chatPulse}@keyframes chatPulse{0%,to{box-shadow:0 18px 38px #1f493547}50%{box-shadow:0 18px 38px #1f49357a,0 0 0 8px #f7d56b38}}.floating-messenger{z-index:90;background:#f7faf8;border:1px solid #2e53413d;border-radius:1.15rem;width:min(820px,100vw - 3rem);height:min(620px,100vh - 7.5rem);position:fixed;bottom:5.6rem;right:1.5rem;overflow:hidden;box-shadow:0 28px 70px #122a1f4d}.floating-messenger.minimized{width:min(360px,100vw - 3rem);height:auto}.floating-messenger-titlebar{color:#fff;background:linear-gradient(135deg,#2f5d49,#5e9178);justify-content:space-between;align-items:center;gap:1rem;height:4rem;padding:.7rem .9rem .7rem 1rem;display:flex}.floating-messenger-titlebar strong,.floating-messenger-titlebar small{display:block}.floating-messenger-titlebar small{opacity:.86;margin-top:.15rem}.floating-window-controls{gap:.4rem;display:flex}.floating-window-controls button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff73;border-radius:.65rem;width:2rem;height:2rem;font-weight:900}.floating-window-controls button:hover{background:#ffffff38}.floating-messenger-body{grid-template-columns:280px 1fr;height:calc(100% - 4rem);min-height:0;display:grid}.floating-contact-list{background:#eef6f2;border-right:1px solid #dbe7df;flex-direction:column;min-height:0;display:flex}.floating-profile-card{background:#e1f1eb;border-bottom:1px solid #dbe7df;align-items:center;gap:.7rem;padding:.9rem;display:flex}.floating-profile-card small{color:#466357;align-items:center;gap:.35rem;display:flex}.floating-class-select{color:#315245;background:#f6fbf8;border-bottom:1px solid #dbe7df;gap:.35rem;padding:.75rem .9rem;font-size:.78rem;font-weight:800;display:grid}.floating-class-select select{color:#213d31;background:#fff;border:1px solid #c7d8cf;border-radius:.75rem;width:100%;padding:.58rem .7rem;font-weight:700}@media (width>=761px) and (pointer:fine){.floating-messenger:not(.minimized){resize:both;min-width:620px;max-width:calc(100vw - 1rem);min-height:420px;max-height:calc(100vh - 1rem)}}.floating-profile-card i{background:#26ad5f;border-radius:999px;width:.55rem;height:.55rem;display:inline-block}.floating-contact-header{justify-content:space-between;align-items:center;padding:.8rem .9rem .55rem;font-size:.88rem;display:flex}.floating-contact-header span{color:#315f4b;background:#fff;border-radius:999px;padding:.15rem .5rem}.floating-contact-scroll{flex:1;padding:0 .65rem .65rem;overflow:auto}.floating-contact{text-align:left;cursor:pointer;color:#1d2d25;background:0 0;border:1px solid #0000;border-radius:.9rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;width:100%;padding:.65rem;display:grid}.floating-contact:hover,.floating-contact.active{background:#fff;border-color:#c4d8ce}.floating-contact.unread strong:after{content:" •";color:#d38c1f}.floating-contact span:nth-child(2){min-width:0}.floating-contact strong,.floating-contact small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.floating-contact small,.floating-contact em{color:#5a6e63;font-size:.78rem;font-style:normal}.floating-new-message{background:#f7fbf8;border-top:1px solid #dbe7df;gap:.5rem;padding:.75rem;display:grid}.floating-new-message select,.floating-new-message textarea{width:100%;font:inherit;background:#fff;border:1px solid #d8e4dc;border-radius:.75rem;padding:.65rem}.floating-new-message button,.floating-reply-bar button{color:#fff;cursor:pointer;background:#315f4b;border:none;border-radius:.75rem;padding:.65rem .85rem;font-weight:800}.floating-new-message button:disabled,.floating-reply-bar button:disabled{opacity:.45;cursor:not-allowed}.floating-chat-panel{background:#fbfdfb;flex-direction:column;min-width:0;min-height:0;display:flex}.floating-chat-header{background:#f2f8f5;border-bottom:1px solid #dbe7df;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-height:4.2rem;padding:.75rem .9rem;display:grid}.floating-chat-header strong,.floating-chat-header small{display:block}.floating-chat-header small{color:#64756d}.floating-delete-chat{color:#8c1d1d;cursor:pointer;background:#fff5f5;border:1px solid #e3b4b4;border-radius:.7rem;padding:.5rem .7rem;font-weight:700}.floating-chat-messages{background:radial-gradient(circle at 15% 15%,#315f4b0f,#0000 22%),linear-gradient(#fbfdfb,#f4faf7);flex:1;min-height:0;padding:1rem;overflow:auto}.floating-message-row{margin-bottom:.75rem;display:flex}.floating-message-row.own{justify-content:flex-end}.floating-bubble{background:#fff;border:1px solid #d6e3dc;border-radius:1rem 1rem 1rem .25rem;max-width:min(78%,460px);padding:.65rem .8rem;box-shadow:0 6px 18px #1f493514}.floating-message-row.own .floating-bubble{background:#dff1e9;border-color:#bdd8cb;border-radius:1rem 1rem .25rem}.floating-bubble small{color:#5c6f66;margin-bottom:.25rem;display:block}.floating-bubble p{white-space:pre-wrap;margin:0}.floating-reply-bar{background:#fff;border-top:1px solid #dbe7df;grid-template-columns:1fr auto;gap:.65rem;padding:.75rem;display:grid}.floating-reply-bar textarea{resize:none;width:100%;font:inherit;border:1px solid #d8e4dc;border-radius:.75rem;padding:.7rem}.floating-no-chat,.floating-empty-list{color:#5d6f66;padding:1rem}@media (width<=760px){.floating-messenger{width:auto;height:calc(100vh - 6rem);bottom:4.8rem;left:.75rem;right:.75rem}.floating-messenger-body{grid-template-columns:1fr}.floating-contact-list{border-bottom:1px solid #dbe7df;border-right:none;max-height:42%}.floating-chat-button{bottom:.75rem;right:.75rem}}.floating-messenger-titlebar{cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.floating-thread-tabs{background:#f7fbf8;border-bottom:1px solid #dbe7df;gap:.45rem;padding:.55rem .75rem;display:flex;overflow-x:auto}.floating-thread-tabs button{color:#315f4b;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d2e1d9;border-radius:999px;padding:.45rem .7rem;font-size:.78rem;font-weight:700}.floating-thread-tabs button.active{color:#fff;background:#315f4b;border-color:#315f4b}.sidebar-context-control{color:var(--color-muted,var(--muted));text-transform:uppercase;letter-spacing:.045em;gap:6px;font-size:12px;font-weight:800;display:grid}.sidebar-context-control select{border:1px solid var(--color-border,var(--border));width:100%;color:var(--color-text,var(--text));text-transform:none;letter-spacing:normal;background:#fff;border-radius:12px;padding:10px 11px;font-weight:700}.view-toggle .logout-button{white-space:nowrap;margin-left:2px}@media (width>=801px){.view-tools{min-width:max-content}.view-tools .view-toggle{flex-wrap:nowrap;justify-content:flex-end}}.sidebar-context{gap:10px}.sidebar-context .compact-select-control{text-transform:none;letter-spacing:normal;gap:0}.sidebar-context .compact-select-control select{background-color:#fff;border-radius:14px;min-height:44px;padding:10px 42px 10px 12px;font-size:.95rem;font-weight:800}.sidebar-context-meta{padding:0 4px;font-size:.78rem;line-height:1.35;display:block}.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}.sidebar-context-control[aria-label=Välj\ elev] select{font-size:.78rem;line-height:1.2}.sidebar-context-control[aria-label=Välj\ elev] select option{font-size:.88rem}.floating-message-filters{background:#f6fbf8;border-bottom:1px solid #dbe7df}.floating-message-filters .floating-class-select{border-bottom:0;padding-bottom:.45rem}.floating-message-filters .floating-class-select+.floating-class-select{padding-top:.2rem;padding-bottom:.75rem}.floating-contact-scroll.expanded{padding-bottom:1rem}@media (width>=761px) and (pointer:fine){.floating-messenger:not(.minimized){resize:none}.floating-resize-handle{z-index:4;background:0 0;position:absolute}.floating-resize-handle.n,.floating-resize-handle.s{cursor:ns-resize;height:.7rem;left:.8rem;right:.8rem}.floating-resize-handle.n{top:0}.floating-resize-handle.s{bottom:0}.floating-resize-handle.e,.floating-resize-handle.w{cursor:ew-resize;width:.7rem;top:.8rem;bottom:.8rem}.floating-resize-handle.e{right:0}.floating-resize-handle.w{left:0}.floating-resize-handle.ne,.floating-resize-handle.nw,.floating-resize-handle.se,.floating-resize-handle.sw{width:1rem;height:1rem}.floating-resize-handle.ne{cursor:nesw-resize;top:0;right:0}.floating-resize-handle.nw{cursor:nwse-resize;top:0;left:0}.floating-resize-handle.se{cursor:nwse-resize;bottom:0;right:0}.floating-resize-handle.sw{cursor:nesw-resize;bottom:0;left:0}}.managed-user-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:1.2rem;gap:1rem;margin-top:.75rem;padding:1rem;display:grid}.managed-user-controls{grid-template-columns:minmax(220px,1fr) minmax(180px,240px) minmax(260px,1.5fr);align-items:end;gap:.75rem;display:grid}.managed-user-controls label,.managed-user-editor label{gap:.35rem;font-weight:700;display:grid}.managed-user-editor{background:#fff;border:1px solid #0f172a1a;border-radius:1rem;gap:.75rem;padding:1rem;display:grid}.managed-user-editor-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.managed-user-editor-header span{color:var(--muted);font-weight:700}.managed-user-row.compact{grid-template-columns:minmax(150px,.7fr) minmax(220px,1fr) minmax(240px,1.2fr) auto}@media (width<=900px){.managed-user-controls,.managed-user-row.compact{grid-template-columns:1fr}}.topbar{grid-template-columns:minmax(220px,1fr) auto;align-items:start;gap:16px 32px;display:grid}.topbar h1{margin-bottom:0}.view-tools{min-width:190px}.login-status,.logout-button{box-sizing:border-box;width:190px;min-width:190px}.logout-button{justify-content:center;align-items:center;display:inline-flex}.view-toggle .logout-button{width:190px;min-width:190px}@media (width>=801px){.view-tools .view-toggle{justify-content:flex-end;width:100%}}@media (width<=800px){.topbar{grid-template-columns:1fr}.view-tools,.login-status,.logout-button,.view-toggle .logout-button{width:100%;min-width:0}}.forgot-password-button{color:var(--primary);cursor:pointer;background:0 0;border:0;justify-self:center;width:fit-content;padding:4px 8px 0;font-weight:800}.forgot-password-button:hover{text-decoration:underline}.forgot-password-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;gap:10px;padding:14px;display:grid}.forgot-password-panel label{gap:6px;font-weight:700;display:grid}.forgot-password-panel input{border:1px solid var(--border);font:inherit;border-radius:12px;padding:10px 12px}.forgot-password-panel button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:11px 14px;font-weight:800}.forgot-password-panel button:disabled{opacity:.65;cursor:wait}.reset-success{color:#214d35;background:#eef8f2;border:1px solid #b9d7c6;border-radius:12px;padding:10px 12px;font-weight:700}.public-shell .topbar{grid-template-columns:minmax(260px,1fr) auto;align-items:end;margin-bottom:6px;padding-top:0;padding-bottom:8px}.public-shell .topbar>div:first-child{align-self:end;padding-bottom:4px}.public-shell .topbar h1{margin:0}.student-section-title{margin-top:0;margin-bottom:18px}@media (width<=800px){.public-shell .topbar{grid-template-columns:1fr;align-items:stretch}.public-shell .topbar>div:first-child{padding-bottom:0}}.login-card h1{margin-bottom:0}.admin-import-grid{grid-template-columns:1fr}.public-shell .topbar{margin-bottom:0;padding-bottom:0}.student-section-title-lowered{margin-top:22px;margin-bottom:12px}.accordion-header small:empty{display:none}@media (width<=800px){.public-shell .topbar h1{transform:none}.public-shell .control-strip{margin-top:0}}.accordion-header small,.accordion-content>p.intro:first-child{display:none!important}.topbar{align-items:flex-end;margin-bottom:4px}.topbar h1{margin:0;line-height:1.05}.card-heading-row{align-items:center}.topbar>div:first-child{padding-top:0!important}.public-shell .topbar h1{transform:none!important}.public-shell .control-strip{margin-top:0!important}.tabs{margin-top:12px;margin-bottom:14px}.teacher-phase-strip{margin-top:-2px;margin-bottom:14px}.teacher-phase-strip .phase-selector>span{display:none}.teacher-phase-strip .phase-selector,.teacher-phase-strip .round-buttons{width:100%}.admin-tools-card p,.server-accounts-card p,.managed-users-card>p,.period-lock-panel p,.card>p.demo-help,.compact-photo-note{display:none!important}.one-page-summary-page .accordion-content{padding-top:12px}.compact-summary-editor textarea{min-height:72px}.one-page-summary{max-width:900px;margin:0 auto;border-radius:18px!important;gap:12px!important;padding:18px!important}.compact-report-cover{justify-content:space-between;align-items:flex-start;gap:18px;display:flex;padding-bottom:10px!important}.compact-report-cover h2{margin:2px 0;font-size:28px}.compact-report-cover p,.compact-report-cover small{margin:0}.summary-date-box{border:1px solid var(--color-border,#e1e8e3);text-align:right;border-radius:14px;gap:4px;min-width:180px;padding:10px 12px;display:grid}.summary-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.summary-facts-grid p,.summary-three-column div,.summary-goal-row,.summary-signature-row div{border:1px solid var(--color-border,#e1e8e3);background:var(--color-card-soft,#f9fbf9);border-radius:14px;padding:10px 12px}.summary-facts-grid p{gap:3px;display:grid}.summary-facts-grid strong,.summary-three-column h3,.summary-goal-row h3,.summary-main-text h3{margin:0;font-size:13px}.summary-facts-grid span,.summary-main-text p,.summary-three-column p,.summary-goal-row p{margin:0;font-size:14px;line-height:1.35}.summary-main-text{border:1px solid var(--color-border,#e1e8e3);background:#fff;border-radius:14px;padding:12px 14px}.summary-main-text p,.summary-three-column p,.summary-goal-row p{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.summary-main-text p{-webkit-line-clamp:5}.summary-three-column p{-webkit-line-clamp:6}.summary-goal-row p{-webkit-line-clamp:3}.summary-three-column{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.summary-three-column div{align-content:start;gap:6px;display:grid}.summary-goal-row{gap:6px;display:grid}.summary-signature-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.summary-signature-row div{align-content:space-between;min-height:58px;display:grid}.summary-signature-row span{color:var(--color-muted,#687770);font-size:13px}@media print{@page{size:A4 portrait;margin:10mm}.one-page-summary{width:190mm;max-width:190mm;min-height:auto;max-height:277mm;font-size:11pt;overflow:hidden;gap:8px!important;padding:0!important}.compact-report-cover h2{font-size:22pt}.summary-facts-grid,.summary-three-column{gap:6px}.summary-facts-grid p,.summary-three-column div,.summary-goal-row,.summary-main-text,.summary-signature-row div{padding:7px 8px}.summary-facts-grid span,.summary-main-text p,.summary-three-column p,.summary-goal-row p{font-size:10pt;line-height:1.25}.summary-signature-row div{min-height:42px}}.page>h2{margin-bottom:4px}.rating-card.compact{box-shadow:none;border-radius:18px;gap:10px;margin-bottom:10px;padding:14px 16px;display:grid}.rating-compact-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.rating-compact-title h3{margin:0;font-size:16px}.rating-compact-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.score-chip{background:var(--primary-soft);color:var(--primary-dark);white-space:nowrap;border:1px solid #b8d1c5;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.rating-compact-row{grid-template-columns:minmax(420px,1.35fr) minmax(260px,.9fr);align-items:stretch;gap:12px;display:grid}.compact-scale.rating-grid{gap:6px;margin:0}.compact-scale .rating{text-align:center;align-content:center;min-height:58px;padding:8px 6px}.compact-scale .rating .number{margin:0;font-size:20px}.compact-scale .rating .rating-label{font-size:11px;line-height:1.1}.compact-scale .rating small,.rating-card.compact .question,.rating-card.compact .observe,.rating-card.compact .recommended-comment{display:none!important}.rating-card.compact textarea{resize:vertical;height:58px;min-height:58px;font-size:14px}@media (width<=950px){.rating-compact-row{grid-template-columns:1fr}}.class-plan-toolbar{border:1px solid var(--border);background:var(--surface-muted);border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.class-plan-toolbar div:first-child{flex-direction:column;gap:.2rem;display:flex}.class-plan-toolbar span{color:var(--muted);font-size:.92rem}.class-plan-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.class-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.class-plan-panel{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:1rem}.class-plan-panel h3,.class-add-panel h3{margin:0 0 .75rem}.class-plan-list{gap:.6rem;display:grid}.class-plan-list .moment-choice{align-items:flex-start;min-height:auto;padding:.8rem}.class-plan-list .moment-choice span{flex:1}.class-plan-list .moment-choice small{margin-top:.2rem;line-height:1.35}.class-add-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:20px;margin-top:1rem;padding:1rem}.compact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.tiny-danger{color:#8a2f2a;cursor:pointer;background:#fff7f6;border:1px solid #d8aaa8;border-radius:999px;padding:.35rem .65rem;font-weight:700}@media (width<=900px){.class-plan-toolbar,.class-plan-grid,.compact-form-grid{grid-template-columns:1fr}.class-plan-toolbar{align-items:stretch}.class-plan-actions{justify-content:flex-start}}:root{--primary:#245a43;--primary-dark:#173d2d;--primary-soft:#eaf3ee;--accent:#e5b43b;--page-bg:#f6f8f5;--surface:#fff;--text:#17231d;--muted:#65756f;--border:#d9e4dd;--ui-bg:#f6f8f5;--ui-surface:#fff;--ui-surface-2:#f8faf8;--ui-line:#d9e4dd;--ui-text:#17231d;--ui-muted:#65756f;--ui-primary:#245a43;--ui-primary-soft:#eaf3ee;--ui-yellow-soft:#fff5cf;--ui-green-soft:#e4f5ea}body{background:radial-gradient(circle at top left, #4fa26b29 0, transparent 38%), var(--page-bg)}.yrka-logo{color:var(--primary-dark);align-items:center;gap:14px;display:inline-flex}.yrka-logo-mark{flex:none;width:72px;height:72px;overflow:visible}.yrka-logo-full .yrka-logo-mark{width:92px;height:92px}.yrka-logo-compact .yrka-logo-mark{width:42px;height:42px}.yrka-logo-icon .yrka-logo-mark{width:34px;height:34px}.yrka-trunk{fill:url(#yrkaTreeGradient)}.yrka-node{fill:#245a43}.yrka-node-top{fill:#4fa26b}.yrka-node-right{fill:#2e7b55}.yrka-icon-line,.yrka-plus{fill:none;stroke:#fff;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}.yrka-plus{stroke-width:1.6px}.yrka-icon-fill,.yrka-icon-fill-light{fill:#fff}.yrka-leaf{fill:#8ac97a}.yrka-logo-text{gap:4px;line-height:1.05;display:grid}.yrka-logo-text strong{letter-spacing:-.055em;color:var(--primary-dark);font-size:clamp(2.3rem,5vw,4.6rem);font-weight:900}.yrka-logo-text span{color:var(--primary);letter-spacing:.02em;font-size:clamp(1rem,1.8vw,1.55rem)}.yrka-logo-compact .yrka-logo-text strong{letter-spacing:-.04em;font-size:1.55rem}.brand{gap:0;padding-bottom:18px}.brand .yrka-logo{width:100%}.login-card{border-top:7px solid var(--primary)}.login-brand{margin-bottom:1.35rem}.login-brand .yrka-logo{align-items:center}.login-brand .yrka-logo-text span{margin-top:2px}.login-button,.install-app-button,.tabs button.active,.view-toggle button.active,button.primary,.primary-button{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.login-button:hover,.install-app-button:hover,.view-toggle button.active:hover,.tabs button.active:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important}.login-status strong,.stat-card strong,.metric-card strong,.summary-card strong{color:var(--primary-dark)}.sidebar-context,.info-card,.context-strip,.next-action-card{background:var(--primary-soft);border-color:#cfe0d6}.accent-dot,.notification-dot{background:var(--accent)}@media (width<=700px){.yrka-logo-full .yrka-logo-mark{width:72px;height:72px}.yrka-logo-text strong{font-size:2.8rem}.yrka-logo-text span{font-size:1rem}}.privacy-action-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.privacy-action-button{min-height:112px;color:var(--text,#17231d);text-align:left;cursor:pointer;background:#fff;border:1px solid #245a432e;border-radius:18px;padding:18px;transition:transform .15s,border-color .15s,box-shadow .15s;box-shadow:0 12px 28px #173d2d0f}.privacy-action-button:hover,.privacy-action-button:focus-visible{border-color:#245a4361;outline:none;transform:translateY(-1px);box-shadow:0 16px 34px #173d2d1a}.privacy-action-button strong{margin-bottom:8px;font-size:1rem;display:block}.privacy-action-button span{color:var(--muted,#59665f);line-height:1.45;display:block}.audit-always-on{background:var(--primary-soft,#eaf3ee);border:1px solid #245a4329;border-radius:18px;margin-top:14px;padding:16px 18px}.audit-always-on strong,.audit-always-on span{display:block}.audit-always-on span{color:var(--muted,#59665f);margin-top:5px}.policy-modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f1c165c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.policy-modal-window{background:#fff;border:1px solid #245a432e;border-radius:24px;width:min(760px,100%);max-height:min(82vh,760px);overflow:hidden;box-shadow:0 28px 80px #0c1e1642}.policy-modal-header{background:linear-gradient(180deg, #fff 0%, var(--primary-soft,#eaf3ee) 100%);border-bottom:1px solid #245a431f;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px;display:flex}.policy-modal-header strong,.policy-modal-header span{display:block}.policy-modal-header strong{font-size:1.25rem}.policy-modal-header span{color:var(--muted,#59665f);margin-top:6px;line-height:1.45}.policy-modal-header button{width:40px;height:40px;color:var(--primary-dark,#173d2d);cursor:pointer;background:#245a431a;border:0;border-radius:999px;font-size:1.5rem}.policy-modal-body{max-height:calc(min(82vh,760px) - 104px);padding:22px 24px 26px;overflow:auto}.policy-modal-body article+article{border-top:1px solid #245a431f;margin-top:18px;padding-top:18px}.policy-modal-body h3{margin:0 0 6px;font-size:1rem}.policy-modal-body p{color:var(--muted,#59665f);margin:0;line-height:1.55}.pilot-data-panel{gap:1rem;display:grid}.pilot-data-actions{flex-wrap:wrap;gap:.65rem;display:flex}.pilot-purge-box{background:#fff8f6;border:1px solid #7a2d2d38;border-radius:18px;gap:.55rem;padding:1rem;display:grid}.pilot-purge-box span{color:#6a5750;line-height:1.45}.pilot-purge-row{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:.75rem;display:grid}.pilot-purge-row input{width:100%}@media (width<=760px){.pilot-purge-row{grid-template-columns:1fr}}.pilot-scope-grid{grid-template-columns:minmax(180px,.45fr) minmax(240px,1fr);gap:.75rem;display:grid}.pilot-scope-grid label{gap:.35rem;font-weight:700;display:grid}.pilot-scope-grid select{width:100%}.compact-actions{margin-top:.1rem}.full-purge-box{background:#fff4f1;border-color:#7a2d2d57}.security-check-panel{background:var(--primary-soft,#eaf3ee);border:1px solid #245a4333;border-radius:18px;gap:.75rem;padding:1rem;display:grid}.security-check-list{gap:.5rem;display:grid}.security-check-row{background:#fff;border:1px solid #0000000f;border-radius:14px;grid-template-columns:28px 1fr;align-items:start;gap:.65rem;padding:.65rem .75rem;display:grid}.security-check-row>span{border-radius:999px;place-items:center;width:24px;height:24px;font-weight:800;display:inline-grid}.security-check-row.ok>span{color:#245a43;background:#eaf3ee}.security-check-row.warning>span{color:#8a5200;background:#fff2cf}.security-check-row small{color:var(--muted,#59665f);margin-top:.2rem;display:block}@media (width<=760px){.pilot-scope-grid{grid-template-columns:1fr}}.teacher-quick-page .accordion-section{max-width:1180px}.teacher-quick-hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.teacher-quick-hero>div,.teacher-quick-card,.teacher-quick-panel{background:var(--surface,#fff);border:1px solid #173d2d1f;border-radius:18px;padding:1rem;box-shadow:0 8px 22px #173d2d0d}.teacher-quick-hero span,.teacher-quick-card span{color:#607268;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.35rem;font-size:.78rem;font-weight:800;display:block}.teacher-quick-hero strong,.teacher-quick-card strong{color:#173d2d;font-size:1.25rem;line-height:1.2;display:block}.teacher-quick-hero small,.teacher-quick-card small{color:#516258;margin-top:.35rem;display:block}.teacher-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.teacher-quick-card{text-align:left;cursor:pointer}.teacher-quick-card:hover{border-color:#245a4352;transform:translateY(-1px)}.teacher-quick-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.teacher-quick-panel h3{margin-top:0;margin-bottom:.7rem}.teacher-quick-panel p,.teacher-quick-panel li{color:#25342b;line-height:1.45}.teacher-quick-panel ul{margin:0;padding-left:1.1rem}.teacher-quick-note label{margin-top:.8rem;font-weight:800;display:block}.teacher-quick-note textarea{width:100%;margin-top:.35rem}.teacher-quick-actions{flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}@media (width<=900px){.teacher-quick-hero,.teacher-quick-columns,.teacher-quick-grid{grid-template-columns:1fr}.teacher-quick-card strong{font-size:1.1rem}}.public-actions{flex-direction:column;gap:.55rem;width:100%;display:flex}.guide-button{color:#173d2d;cursor:pointer;background:#eaf3ee;border:1px solid #245a4333;border-radius:.9rem;width:100%;padding:.85rem 1rem;font-weight:800;box-shadow:0 10px 22px #173d2d14}.guide-button:hover{background:#dcece3;transform:translateY(-1px)}.tutorial-overlay{z-index:9999;pointer-events:auto;position:fixed;inset:0}.tutorial-scrim{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f6f8f538;position:absolute;inset:0}.tutorial-spotlight{pointer-events:none;background:#e5b43b1a;border:3px solid #e5b43b;border-radius:1rem;transition:top .18s,left .18s,width .18s,height .18s;position:fixed;box-shadow:0 0 0 9999px #173d2d1a,0 14px 36px #173d2d2e,inset 0 0 0 2px #ffffffa6}.tutorial-bubble{color:#17231d;z-index:10001;background:#fff;border:1px solid #245a432e;border-radius:1.15rem;width:min(420px,100vw - 2rem);padding:1.15rem;position:fixed;box-shadow:0 20px 60px #0d18133d}.tutorial-bubble-pointer{background:#fff;border-top:1px solid #245a432e;border-left:1px solid #245a432e;width:1.15rem;height:1.15rem;position:absolute;left:2rem;transform:rotate(45deg)}.tutorial-bubble-bottom .tutorial-bubble-pointer{top:-.6rem}.tutorial-bubble-top .tutorial-bubble-pointer{bottom:-.6rem;transform:rotate(225deg)}.tutorial-kicker{color:#245a43;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.45rem;font-size:.74rem;font-weight:900}.tutorial-bubble h2{color:#173d2d;margin:0 0 .55rem;font-size:1.25rem}.tutorial-bubble p{color:#31443a;margin:0;line-height:1.5}.tutorial-focus-pill{color:#173d2d;background:#eaf3ee;border-radius:999px;align-items:center;gap:.25rem;margin-top:.9rem;padding:.5rem .7rem;font-size:.85rem;display:inline-flex}.tutorial-dots{gap:.4rem;margin:.95rem 0 .85rem;display:flex}.tutorial-dots span{background:#d9e6df;border-radius:50%;width:.55rem;height:.55rem}.tutorial-dots span.active{background:#245a43}.tutorial-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tutorial-actions>div{gap:.55rem;display:flex}.tutorial-actions button{color:#fff;cursor:pointer;background:#245a43;border:0;border-radius:.85rem;padding:.72rem .9rem;font-weight:800}.tutorial-actions button.secondary-action{color:#245a43;background:#fff;border:1px solid #245a432e}.tutorial-actions button:disabled{opacity:.45;cursor:not-allowed}[data-tour]{scroll-margin:110px}@media (width<=640px){.tutorial-bubble{border-radius:1.1rem;width:calc(100vw - 1.2rem);left:.6rem!important}.tutorial-focus-pill{display:none}.tutorial-actions{flex-direction:column;align-items:stretch}.tutorial-actions>div{grid-template-columns:1fr 1fr;display:grid}}
