@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--primary:#b91c2c;--primary-dark:#8e1422;--secondary:#e5a900;--accent:#0e9f6e;--surface:#fffcf7;--ink:#211b19;--muted:#746c68;--line:#eee8df;--white:#fff;--sidebar:252px;color:var(--ink);font-synthesis:none;background:#f8f6f2;font-family:DM Sans,Noto Sans Lao,sans-serif}*{box-sizing:border-box}body{background:#f8f6f2;min-width:320px;margin:0}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e5a90040}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;padding:22px 16px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 5px 18px;display:flex}.brand-logo{background:#fff;border:1px solid #f0e3bd;border-radius:13px;place-items:center;width:48px;height:48px;display:grid;overflow:hidden;box-shadow:0 3px 12px #5a23141a}.brand-logo img{object-fit:contain;width:100%;height:100%}.brand strong{letter-spacing:-.2px;font-size:14px;display:block}.brand span{color:var(--muted);margin-top:3px;font-family:Noto Sans Lao,sans-serif;font-size:9px;display:block}.school-pill{color:#176d52;background:#ecf8f2;border:1px solid #d5eee3;border-radius:8px;align-items:center;gap:7px;margin-bottom:18px;padding:8px 10px;font-size:11px;font-weight:600;display:flex}.sidebar nav{flex-direction:column;gap:4px;display:flex}.nav-title{letter-spacing:1.3px;color:#a39a95;margin:7px 0;padding:0 11px;font-size:9px;font-weight:700}.sidebar nav button,.sidebar-bottom>button{color:#665e5a;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;font-size:13px;font-weight:600;transition:all .2s;display:flex;position:relative}.sidebar nav button:hover,.sidebar-bottom>button:hover{color:var(--ink);background:#faf6f2}.sidebar nav button.active{color:var(--primary);background:#fff0f1}.sidebar nav button.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;left:-16px}.sidebar nav button b{background:var(--primary);color:#fff;border-radius:20px;place-items:center;min-width:18px;height:18px;margin-left:auto;font-size:9px;display:grid}.sidebar-bottom{margin-top:auto}.sidebar-bottom>button{width:100%}.user-mini{border-top:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:9px;margin-top:5px;padding:15px 5px 9px;display:grid}.avatar,.top-avatar{background:linear-gradient(145deg,var(--primary),#d85a53);color:#fff;border-radius:50%;place-items:center;font-weight:700;display:grid}.user-mini strong,.user-mini span{display:block}.user-mini span{color:var(--muted);margin-top:2px;font-size:9px}.sidebar-bottom>p{color:#aaa29d;text-align:center;margin:4px;font-size:9px}.sidebar-bottom>p span{color:#d0c9c5}.mobile-close{display:none}.main-area{margin-left:var(--sidebar);min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;height:68px;padding:0 34px;display:flex;position:sticky;top:0}.search{color:#978e89;flex:1;align-items:center;gap:9px;max-width:390px;display:flex}.search input{width:100%;color:var(--ink);background:0 0;border:0;font-size:12px}.top-actions{align-items:center;gap:12px;display:flex}.role-switch,.lang-select{border:1px solid var(--line);height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:10px;display:flex}.role-switch span{white-space:nowrap}.role-switch select,.lang-select select{appearance:none;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:1;min-width:0;font-size:10px;font-weight:700}.role-switch>svg:last-child,.lang-select>svg:last-child{pointer-events:none;flex:none}.lang-select{padding-left:10px}.icon-btn,.menu-btn{color:#5f5753;background:0 0;border:0}.notification{position:relative}.notification i{background:var(--primary);border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:3px}.page-wrap{max-width:1420px;margin:0 auto;padding:30px 34px 60px}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-1px;margin:3px 0 5px;font-size:27px}.page-header>div>p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px}.eyebrow{letter-spacing:1.5px;font-weight:700;color:var(--primary)!important;margin:0!important;font-size:9px!important}.primary-btn,.outline-btn{white-space:nowrap;border:0;border-radius:9px;align-items:center;gap:8px;padding:10px 14px;font-size:11px;font-weight:700;display:flex}.primary-btn{background:var(--primary);color:#fff;box-shadow:0 5px 14px #b91c2c30}.primary-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.outline-btn{color:var(--ink);border:1px solid var(--line);background:#fff}.outline-btn b{background:var(--primary);color:#fff;border-radius:12px;padding:2px 5px;font-size:9px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:13px;padding:17px;display:flex;position:relative;box-shadow:0 3px 12px #3a281e06}.stat-icon,.activity-icon,.tile-icon{border-radius:10px;flex:none;place-items:center;display:grid}.stat-card strong{font-size:20px;line-height:1}.stat-card small{color:#228262;align-items:center;gap:3px;font-size:8px;display:flex}.stat-card small.warn{color:#bf7719}.stat-arrow{color:#c8c0bb;position:absolute;right:13px}.dashboard-grid{grid-template-columns:1.35fr .8fr 1fr;gap:16px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 3px 14px #3a281e06}.activity-card{grid-column:span 2}.card-title{justify-content:space-between;align-items:center;padding:18px 19px 12px;display:flex}.card-title h2{letter-spacing:-.2px;margin:0;font-size:14px}.card-title p{color:var(--muted);margin:3px 0 0;font-size:9px}.card-title button{color:var(--primary);background:0 0;border:0;align-items:center;gap:2px;font-size:9px;font-weight:700;display:flex}.activity-row{border-top:1px solid #f3efea;align-items:center;gap:11px;padding:10px 0;display:flex}.activity-row:first-child{border-top:0}.activity-icon{width:34px;height:34px}.activity-row div{min-width:0}.activity-row strong{font-size:10px;display:block}.activity-row p{color:var(--muted);margin:3px 0 0;font-size:9px}.activity-row time{color:#aaa19c;margin-left:auto;font-size:8px}.birthday-card{grid-row:span 2}.birthday-hero{text-align:center;padding:3px 18px 14px;position:relative}.birthday-hero .student-photo{width:59px;height:59px;margin:2px auto 9px}.student-photo{color:#5f3933;border:3px solid #fff;border-radius:50%;place-items:center;width:50px;height:50px;font-size:13px;font-weight:800;display:grid;box-shadow:0 2px 9px #321e141a}.coral{background:linear-gradient(145deg,#f4c0af,#e69387)}.birthday-hero h3{margin:0;font-size:13px}.birthday-hero p{color:var(--muted);margin:4px;font-size:9px}.birthday-hero button{color:#9a6800;background:#fff9e8;border:1px solid #f3d8aa;border-radius:8px;align-items:center;gap:6px;margin-top:7px;padding:7px 12px;font-size:9px;font-weight:700;display:inline-flex}.confetti{color:var(--secondary);font-size:25px;position:absolute;top:0;left:25%}.upcoming{border-top:1px solid var(--line);padding:11px 18px}.upcoming>span{color:#99908a;text-transform:uppercase;letter-spacing:.7px;font-size:8px;font-weight:700}.upcoming p{color:var(--muted);margin:8px 0;font-size:9px}.upcoming b{color:var(--ink);margin-right:7px}.events-card,.pulse-card{min-height:196px}.event-row{border-top:1px solid #f3efea;grid-template-columns:41px 1fr auto;align-items:center;gap:10px;margin:0 18px;padding:9px 0;display:grid}.event-row:first-of-type{border-top:0}.date-box{text-align:center;border-radius:8px;place-content:center;width:39px;height:39px;display:grid}.date-box b{font-size:15px;line-height:1}.date-box span{margin-top:2px;font-size:6px;font-weight:800}.event-row strong{font-size:9px;display:block}.event-row p{color:var(--muted);margin:4px 0 0;font-size:8px}.event-row>svg{color:#c8c0bb}.donut-wrap{align-items:center;gap:25px;padding:3px 20px 18px;display:flex}.donut{background:conic-gradient(var(--accent) 0 96%,#e2b03e 96% 98%,#e57070 98%);border-radius:50%;place-items:center;width:105px;height:105px;display:grid;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;width:71px;height:71px;position:absolute}.donut>div{z-index:1;text-align:center}.donut strong{font-size:18px;display:block}.legend{flex:1}.legend p{color:var(--muted);grid-template-columns:8px 1fr auto;align-items:center;gap:6px;margin:10px 0;font-size:8px;display:grid}.legend b{color:var(--ink)}.legend i{border-radius:50%;width:6px;height:6px}.present{background:var(--accent)}.absent{background:#e57070}.late{background:#e2b03e}.attendance-banner{color:#fff;background:linear-gradient(100deg,#0b7658,#0e9f6e);border-radius:14px;align-items:center;gap:14px;margin-bottom:24px;padding:16px 20px;display:flex;box-shadow:0 5px 15px #0e9f6e1f}.banner-icon{background:#ffffff24;border-radius:50%;place-items:center;width:43px;height:43px;display:grid}.attendance-banner h3{margin:0;font-size:13px}.attendance-banner p{opacity:.85;margin:4px 0 0;font-size:9px}.attendance-banner>span{opacity:.78;margin-left:auto;font-size:9px}.attendance-banner button{color:#fff;background:#ffffff1a;border:1px solid #fff6;border-radius:8px;padding:7px 12px;font-size:9px;font-weight:700}.section-heading{margin:0 0 11px;font-size:14px}.quick-grid{grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:18px;display:grid}.quick-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:10px;min-height:104px;padding:14px 12px;display:grid;box-shadow:0 3px 10px #321e1405}.quick-card:hover{border-color:#e7d3cd;transform:translateY(-2px);box-shadow:0 7px 18px #321e1412}.quick-card span{border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.quick-card strong{grid-column:1/-1;font-size:10px}.quick-card>svg{color:#b8afaa;grid-area:1/2}.teacher-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.tasks label{border-top:1px solid #f3efea;align-items:center;gap:10px;padding:11px 0;display:flex}.tasks label:first-child{border:0}.tasks input{accent-color:var(--accent);width:16px;height:16px}.tasks span,.tasks b,.tasks small{display:block}.tasks small{color:var(--muted);margin-top:3px;font-size:8px}.tasks .done{opacity:.55}.tasks .done b{text-decoration:line-through}.compact{padding-top:3px}.child-switch{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:9px;margin-bottom:15px;padding:7px 10px;display:inline-flex}.child-switch .student-photo{width:32px;height:32px;font-size:8px}.child-switch span,.child-switch strong{display:block}.child-switch span{color:var(--muted);font-size:7px}.child-switch>svg{margin-left:7px}.parent-hero{color:#fff;background:linear-gradient(115deg,#9d1726,#ca3540);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:23px 26px;display:flex;position:relative;overflow:hidden}.parent-hero:after{content:"";border:1px solid #ffd96338;border-radius:50%;width:210px;height:210px;position:absolute;right:-40px}.parent-hero>div:first-child{z-index:1;max-width:590px}.parent-hero h2{margin:9px 0 6px;font-size:19px}.parent-hero p{opacity:.85;margin:0 0 11px;font-size:10px;line-height:1.6}.parent-hero button{color:var(--primary);background:#fff;border:0;border-radius:8px;align-items:center;gap:5px;padding:8px 11px;font-size:9px;font-weight:700;display:flex}.live-dot{text-transform:uppercase;letter-spacing:1px;background:#ffffff24;border-radius:20px;padding:5px 8px;font-size:8px}.hero-illustration{z-index:1;color:#ffd661;place-items:center;width:110px;height:90px;display:grid;position:relative}.hero-illustration span{font-size:37px;position:absolute}.parent-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.parent-tile{border:1px solid var(--line);text-align:left;background:#fff;border-radius:13px;grid-template-columns:39px 1fr auto;align-items:center;gap:11px;padding:15px;display:grid}.parent-tile:hover{border-color:#e5c7c1;box-shadow:0 5px 16px #3c1e140d}.tile-icon{width:38px;height:38px}.parent-tile small,.parent-tile strong,.parent-tile p{display:block}.parent-tile p{color:var(--muted);margin:3px 0;font-size:8px}.parent-tile>svg{color:#c5bdb8}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:12px;gap:9px;margin-bottom:15px;padding:10px;display:flex}.local-search{border:1px solid var(--line);color:#9d948f;border-radius:8px;flex:1;align-items:center;gap:7px;padding:0 10px;display:flex}.local-search input{border:0;width:100%;font-size:10px}.filter-bar select,.filter-bar>button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;padding:8px 10px;font-size:9px}.filter-bar>button{align-items:center;gap:5px;display:flex}.student-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.student-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:13px;padding:17px;position:relative}.student-card>.student-photo{margin:0 auto 9px}.student-card>button{color:#9e9691;background:0 0;border:0;position:absolute;top:12px;right:12px}.student-card h3{margin:0;font-size:12px}.student-card>p{color:var(--muted);margin:5px;font-size:9px}.student-card>div:not(.student-photo){border-top:1px solid var(--line);text-align:left;margin-top:13px;padding-top:11px}.student-card>div span,.student-card>div strong{display:block}.student-card>div span{color:var(--muted);text-transform:uppercase;font-size:7px}.student-card>div strong{margin-top:4px;font-size:9px}.student-card footer{gap:6px;margin-top:12px;display:flex}.student-card footer button{border:1px solid var(--line);background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:7px 9px;font-size:8px;display:flex}.student-card footer button:first-child{color:var(--primary);flex:1;font-weight:700}.messenger{grid-template-columns:310px 1fr;height:625px;display:grid;overflow:hidden}.messenger>aside{border-right:1px solid var(--line);padding:12px}.message-search{color:#a29a95;background:#f7f5f2;border-radius:8px;align-items:center;gap:6px;margin-bottom:9px;padding:8px;display:flex}.message-search input{background:0 0;border:0;width:100%;font-size:9px}.messenger aside>button{text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:36px 1fr auto;gap:9px;width:100%;padding:10px;display:grid}.messenger aside .avatar{grid-row:span 2}.avatar.soft{color:#8d443c;background:#f0d8d2;border:0}.messenger aside>button>div:nth-child(2)>div{justify-content:space-between;display:flex}.messenger aside time,.messenger aside small,.messenger aside p{color:var(--muted);font-size:7px}.messenger aside p{white-space:nowrap;text-overflow:ellipsis;margin:4px 0;overflow:hidden}.messenger aside>button>b{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:7px;display:grid}.messenger>section{flex-direction:column;min-width:0;display:flex}.messenger section>header{border-bottom:1px solid var(--line);align-items:center;gap:9px;height:65px;padding:0 17px;display:flex}.messenger section header strong,.messenger section header span{display:block}.messenger section header span{color:var(--muted);margin-top:3px;font-size:8px}.messenger section header button{background:0 0;border:0;margin-left:auto}.chat{background:#fbfaf8;flex-direction:column;flex:1;gap:9px;padding:24px;display:flex;overflow:auto}.day-separator{text-align:center;color:#a89f99;font-size:7px}.bubble{border-radius:11px;max-width:65%;padding:10px 12px;font-size:10px;line-height:1.5}.bubble time{opacity:.65;margin-top:4px;font-size:6px;display:block}.bubble.theirs{border:1px solid var(--line);background:#fff;border-bottom-left-radius:3px;align-self:flex-start}.bubble.mine{background:var(--primary);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}.messenger form{border-top:1px solid var(--line);align-items:center;gap:8px;height:64px;padding:10px 14px;display:flex}.messenger form input{background:#f7f5f2;border:0;border-radius:9px;flex:1;padding:10px;font-size:10px}.messenger form button{background:0 0;border:0}.messenger form .send{background:var(--primary);color:#fff;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.category-tabs{gap:5px;margin-bottom:15px;display:flex;overflow:auto}.category-tabs button{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:20px;padding:7px 12px;font-size:8px}.category-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.album-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.album-grid article{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.album-art{place-items:center;height:150px;display:grid;position:relative;overflow:hidden}.album-art:before,.album-art:after{content:"";filter:blur(2px);border-radius:50%;position:absolute}.album-art:before{background:#ffffff4d;width:160px;height:160px;top:20px;left:-30px}.album-art:after{background:#ffffff40;width:110px;height:110px;top:-30px;right:-20px}.album-art>span{z-index:1;filter:drop-shadow(0 5px 7px #321e1426);font-size:50px}.album-art small{color:#fff;background:#1e140fa6;border-radius:12px;padding:4px 7px;font-size:7px;position:absolute;bottom:10px;right:10px}.paint{background:linear-gradient(145deg,#f1c4a1,#e98a86)}.meal{background:linear-gradient(145deg,#c8e4c5,#78b49c)}.birthday{background:linear-gradient(145deg,#f3d4df,#cda6d3)}.trip{background:linear-gradient(145deg,#b7dbe0,#79b4c3)}.draw{background:linear-gradient(145deg,#fae2a6,#eab95b)}.party{background:linear-gradient(145deg,#c9c6e8,#9e8bc5)}.album-grid article>div span{color:var(--primary);text-transform:uppercase;font-size:7px;font-weight:700}.album-grid p{color:var(--muted);margin:0;font-size:8px}.homework-list{flex-direction:column;gap:10px;display:flex}.homework-card{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:47px 1fr auto;align-items:start;gap:14px;padding:17px;display:grid}.subject-icon{border-radius:10px;place-items:center;width:45px;height:45px;font-weight:800;display:grid}.homework-card>div:nth-child(2)>span{color:#938a85;letter-spacing:.6px;font-size:7px;font-weight:700}.homework-card p{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.homework-card footer{color:#958c87;align-items:center;gap:6px;margin-top:9px;font-size:8px;display:flex}.homework-card footer i{font-style:normal}.status{color:#756d69;white-space:nowrap;background:#f2f0ed;border-radius:20px;justify-self:end;padding:5px 8px;font-size:7px;font-weight:700;display:inline-block}.status.new{color:#a56a00;background:#fff1dc}.status.done{color:#087251;background:#e8f7ef}.homework-card.completed{opacity:.7}.payment-layout{grid-template-columns:1fr 320px;gap:16px;display:grid}.invoice-head{align-items:center;gap:11px;display:flex}.invoice-head small{color:var(--primary);font-size:7px;font-weight:700}.invoice-head h2{margin:5px 0 0;font-size:14px}.invoice-head>.status{margin-left:auto}.amount{background:#faf7f2;border-radius:11px;justify-content:space-between;align-items:center;margin:22px 0;padding:19px;display:flex}.amount span{color:var(--muted);font-size:9px}.amount strong{color:var(--primary);font-size:24px}.invoice-details p{border-top:1px solid var(--line);justify-content:space-between;margin:0;padding:11px 0;font-size:9px;display:flex}.invoice-details span{color:var(--muted)}.qr-card{text-align:center;padding:20px}.qr-card>span{font-size:9px;font-weight:700;display:block}.qr-card img{width:150px;margin:12px}.qr-card strong,.qr-card small{display:block}.qr-card strong{font-size:9px}.qr-card small{color:var(--muted);margin:4px;font-size:8px}.qr-card button{background:var(--accent);color:#fff;border:0;border-radius:8px;align-items:center;gap:5px;margin:12px;padding:9px 15px;font-size:9px;font-weight:700;display:inline-flex}.qr-card p{color:var(--muted);margin:0;font-size:7px}.payment-table{overflow:hidden}.table-head,.table-row{grid-template-columns:1.4fr 1.2fr .8fr .9fr .7fr;align-items:center;gap:10px;padding:12px 17px;display:grid}.table-head{color:#8d8580;text-transform:uppercase;background:#faf8f5;font-size:7px;font-weight:700}.table-row{border-top:1px solid var(--line);font-size:8px}.table-row>span:first-child{align-items:center;gap:8px;display:flex}.table-row .avatar{width:28px;height:28px;font-size:7px;font-style:normal}.table-row .status{justify-self:start}.calendar-layout{grid-template-columns:1fr 360px;gap:16px;display:grid}.calendar>header{justify-content:space-between;align-items:center;display:flex}.calendar>header button{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px}.weekdays,.days{grid-template-columns:repeat(7,1fr);display:grid}.weekdays span{text-align:center;color:#8e8580;text-transform:uppercase;padding:10px;font-size:7px;font-weight:700}.days>div{border-top:1px solid var(--line);border-left:1px solid var(--line);height:65px;padding:7px;font-size:8px;position:relative}.days>div:nth-child(7n){border-right:1px solid var(--line)}.days>div:nth-last-child(-n+7){border-bottom:1px solid var(--line)}.days .muted{color:#c9c2bd;background:#fbfaf8}.days .today span{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.days i{border-radius:50%;width:5px;height:5px;margin:17px 2px 0;display:inline-block}.red-dot{background:var(--primary)}.green-dot{background:var(--accent)}.gold-dot{background:var(--secondary)}.days small{position:absolute;bottom:4px;right:5px}.agenda{align-self:start;padding-bottom:10px}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;background:#221a1775;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:17px;width:min(450px,100%);padding:26px;position:relative;box-shadow:0 20px 60px #140a0538}.modal-close{background:#f5f2ef;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:14px;right:14px}.modal-brand{border:1px solid var(--line);border-radius:12px;width:54px;height:54px;margin-bottom:15px;overflow:hidden}.modal-brand img{object-fit:contain;width:100%;height:100%}.modal h2{margin:0 0 6px;font-size:18px}.modal>p{color:var(--muted);margin:0 0 16px;font-size:10px;line-height:1.5}.modal label{color:#6d6561;margin-top:11px;font-size:8px;font-weight:700;display:block}.modal select,.modal textarea{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:100%;margin-top:6px;padding:9px;font-size:10px;display:block}.modal textarea{resize:none;height:80px}.modal-submit{justify-content:center;width:100%;margin-top:17px}.toast{z-index:80;color:#fff;background:#211b19;border-radius:10px;align-items:center;gap:8px;padding:11px 15px;font-size:10px;animation:.25s toastin;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 9px 25px #1e140f33}.toast span{background:var(--accent);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}@keyframes toastin{0%{opacity:0;transform:translateY(12px)}}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.activity-card{grid-column:span 2}.birthday-card{grid-row:auto}.parent-grid,.student-grid,.album-grid{grid-template-columns:repeat(2,1fr)}.calendar-layout{grid-template-columns:1fr 300px}}@media (width<=780px){:root{--sidebar:0}.sidebar{width:268px;transition:all .25s;transform:translate(-100%);box-shadow:10px 0 40px #1e140f26}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:29;background:#1e140f66;border:0;display:block;position:fixed;inset:0}.mobile-close{background:#f5f2ef;border:0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:9px;right:9px}.main-area{margin-left:0}.topbar{height:60px;padding:0 15px}.menu-btn{display:block}.topbar>.search,.role-switch span,.top-avatar{display:none}.page-wrap{padding:22px 15px 88px}.page-header{align-items:flex-start}.page-header h1{font-size:23px}.page-header .primary-btn{padding:10px;font-size:0}.page-header .primary-btn svg{margin:0}.dashboard-grid,.teacher-grid{grid-template-columns:1fr}.activity-card{grid-column:auto}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:12px}.stat-card strong{font-size:17px}.stat-card small{display:none}.quick-grid{grid-template-columns:repeat(2,1fr)}.attendance-banner{flex-wrap:wrap;align-items:flex-start}.attendance-banner>span{display:none}.attendance-banner button{margin-left:auto}.parent-grid{grid-template-columns:1fr}.parent-hero{padding:20px}.hero-illustration{display:none}.student-grid,.album-grid{grid-template-columns:1fr 1fr}.messenger{grid-template-columns:1fr;height:670px}.messenger>aside{display:none}.payment-layout,.calendar-layout{grid-template-columns:1fr}.payment-table{overflow:auto}.table-head,.table-row{min-width:680px}.calendar-layout .agenda{display:none}}@media (width<=500px){.stats-grid{grid-template-columns:1fr 1fr}.stat-icon{width:36px;height:36px}.stat-card{gap:8px}.stat-card p{font-size:8px}.student-grid,.album-grid{grid-template-columns:1fr}.page-header{gap:8px}.page-header>div>p:not(.eyebrow){font-size:10px}.role-switch{max-width:115px}.role-switch select{max-width:80px}.lang-select{display:none}.top-actions{gap:5px}.homework-card{grid-template-columns:42px 1fr}.homework-card>.status{grid-column:2}.bubble{max-width:84%}.filter-bar{flex-wrap:wrap}.filter-bar .local-search{flex-basis:100%;height:36px}.quick-grid{gap:8px}.quick-card{min-height:94px}.amount{flex-direction:column;align-items:flex-start;gap:7px}.calendar{padding:10px}.days>div{height:46px}.parent-hero h2{font-size:16px}}:root{--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--shadow-xs:0 1px 2px #2523210a;--shadow-sm:0 4px 14px #2523210e;--shadow-md:0 12px 32px #25232117;--motion:.18s cubic-bezier(.2, .8, .2, 1);--touch:44px;color:var(--ink);background:var(--background)}html{background:var(--background);scroll-behavior:smooth}body{background:var(--background);color:var(--ink);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button{transition:transform var(--motion), background-color var(--motion), color var(--motion), border-color var(--motion), box-shadow var(--motion), opacity var(--motion)}button:active{transform:scale(.975)}button:disabled{cursor:not-allowed;opacity:.5}.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}::selection{background:var(--primary-soft);color:var(--primary-dark)}.app-shell,.main-area{background:var(--background)}.sidebar{width:264px;box-shadow:inset -1px 0 var(--border);background:color-mix(in srgb, var(--surface) 96%, var(--background));border-right:0;padding:24px 18px 18px}.main-area{margin-left:264px}.brand{gap:12px;padding:0 6px 20px}.brand-logo{border:1px solid var(--border);width:44px;height:44px;box-shadow:var(--shadow-xs);border-radius:13px}.brand strong{letter-spacing:-.25px;font-size:14px}.brand span{color:var(--ink-muted);font-size:10px}.school-pill{border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--success);border:0;margin:0 4px 24px;padding:9px 11px;font-size:11px}.nav-title{color:var(--ink-muted);opacity:.72;letter-spacing:.09em;margin:8px 0 7px;padding:0 12px;font-size:10px}.sidebar nav{gap:3px}.sidebar nav button,.sidebar-bottom>button{min-height:var(--touch);color:var(--ink-muted);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:550}.sidebar nav button svg,.sidebar-bottom>button svg{stroke-width:1.9px}.sidebar nav button:hover,.sidebar-bottom>button:hover{background:var(--surface-muted);color:var(--ink)}.sidebar nav button.active{background:var(--primary-soft);color:var(--primary);font-weight:650}.sidebar nav button.active:before{display:none}.sidebar nav button b{background:var(--primary);min-width:20px;height:20px;font-size:10px}.sidebar-bottom>p{font-size:10px}.user-mini{border-color:var(--border);padding:16px 5px 10px}.user-mini strong{font-size:12px}.user-mini span{font-size:10px}.avatar{width:38px;height:38px;font-size:11px}.topbar{border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);height:72px;padding:0 40px}.search{max-width:430px;color:var(--ink-muted);gap:10px}.search input{height:var(--touch);font-size:13px}.search input::placeholder{color:color-mix(in srgb, var(--ink-muted) 75%, white)}.top-actions{gap:10px}.role-switch,.lang-select{border:1px solid var(--border);height:40px;color:var(--ink-muted);background:var(--surface);border-radius:10px;padding:0 11px;font-size:11px}.role-switch select,.lang-select select{font-size:11px}.icon-btn,.menu-btn{min-width:var(--touch);min-height:var(--touch);border-radius:50%;place-items:center;display:grid}.menu-btn{display:none}.icon-btn:hover,.menu-btn:hover{background:var(--surface-muted)}.top-avatar{width:38px;height:38px;font-size:11px}.mobile-navigation,.mobile-wordmark{display:none}.coming-soon-button{cursor:help;position:relative}.coming-soon-button:hover,.coming-soon-button:active{transform:none}.coming-soon-button small{color:inherit;letter-spacing:.01em;white-space:nowrap;background:#ffffff29;border-radius:999px;align-items:center;margin-left:3px;padding:3px 6px;font-size:8px;font-weight:700;display:inline-flex}.primary-btn.coming-soon-button{border:1px solid var(--border);background:var(--surface-muted);color:var(--ink-muted);box-shadow:none}.primary-btn.coming-soon-button:hover{background:var(--surface-muted);color:var(--ink-muted);box-shadow:none}.sidebar-coming-soon{width:100%}.icon-btn.coming-soon-button{color:var(--ink-muted);opacity:.72}.icon-btn.coming-soon-button:hover{background:var(--surface-muted)}.quick-card.coming-soon-button{cursor:help;opacity:.84}.quick-card.coming-soon-button:hover{border-color:var(--border);box-shadow:var(--shadow-xs);transform:none}.quick-card.coming-soon-button small{color:var(--ink-muted);background:0 0;grid-column:1/-1;justify-self:start;margin:0;padding:0;font-size:9px}.attendance-soon{color:#fff;background:#ffffff1a;border:1px solid #ffffff59;border-radius:9px;min-height:38px;padding:8px 12px;font-size:10px;font-weight:700}.birthday-soon{background:var(--secondary-soft);min-height:38px;color:var(--warning);border:0;border-radius:9px;margin-top:8px;padding:8px 12px;font-size:10px;font-weight:700}.filter-soon{min-height:var(--touch);border:1px solid var(--border);background:var(--surface-muted);color:var(--ink-muted);border-radius:10px;align-items:center;gap:6px;padding:9px 12px;font-size:10px;display:inline-flex}.student-soon{border:1px solid var(--border);background:var(--surface-muted);width:100%;min-height:40px;color:var(--ink-muted);border-radius:9px;justify-content:center;align-items:center;gap:6px;font-size:9px;font-weight:700;display:flex}.payment-soon{min-height:var(--touch);border:1px solid var(--border);background:var(--surface-muted);color:var(--ink-muted);border-radius:9px;align-items:center;gap:6px;margin:12px;padding:10px 15px;font-size:10px;font-weight:700;display:inline-flex}.preparation-modal{text-align:left}.preparation-icon{background:var(--secondary-soft);width:52px;height:52px;color:var(--warning);border-radius:15px;place-items:center;margin-bottom:16px;display:grid}.preparation-modal .eyebrow{margin-bottom:7px!important}.preparation-close{justify-content:center;width:100%;margin-top:18px}.composer-disabled{border-top:1px solid var(--border);background:var(--surface);min-height:70px;color:var(--ink-muted);justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:11px;display:flex}.message-search input:disabled{cursor:not-allowed;opacity:.72}.static-card,.static-row,.album-grid article{cursor:default}.card:hover,.static-card:hover,.student-card:hover,.album-grid article:hover{box-shadow:var(--shadow-xs);transform:none}.static-tabs span{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink-muted);white-space:nowrap;border-radius:20px;align-items:center;padding:8px 14px;font-size:10px;display:inline-flex}.static-tabs span.active{border-color:var(--border);background:var(--surface-muted);color:var(--ink);font-weight:700}.conversation-list-head{justify-content:space-between;align-items:center;min-height:44px;padding:4px 10px 10px;display:flex}.conversation-list-head strong{font-size:12px}.mobile-list-close,.mobile-conversation-bar{display:none}.conversation-indicators{flex-direction:column;align-items:center;gap:5px;display:flex}.conversation-indicators b{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:8px;display:grid}.priority-mark{color:var(--warning)}.priority-mark.priority-urgent{color:var(--error)}.priority-mark.priority-info{color:var(--primary)}.priority-badge{background:var(--secondary-soft);border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:5px 8px;font-weight:700;color:var(--warning)!important;font-size:9px!important;display:inline-flex!important}.conv-type-badge{letter-spacing:.04em;border-radius:999px;align-items:center;padding:1px 6px;font-size:9px;font-weight:700;display:inline-flex}.conv-type-private{background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink-muted)}.conv-type-group{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary-dark)}.conv-type-announcement{background:color-mix(in srgb, var(--warning) 14%, transparent);color:color-mix(in srgb, var(--warning) 80%, var(--ink))}.msg-tabs{scrollbar-width:none;gap:4px;padding:0 0 16px;display:flex;overflow-x:auto}.msg-tabs::-webkit-scrollbar{display:none}.msg-tab{border:1px solid var(--border);color:var(--ink-muted);white-space:nowrap;transition:background var(--motion), color var(--motion), border-color var(--motion);background:0 0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.msg-tab:hover{background:var(--surface-muted);color:var(--ink)}.msg-tab.active{background:var(--primary-soft);color:var(--primary);border-color:#0000}.msg-tab-count{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:4px;font-size:8px;display:inline-flex}.conv-meta-row{align-items:center;gap:5px;margin:2px 0;display:flex}.conv-meta-row small{color:var(--ink-muted);font-size:10px}.thread-subject-row{align-items:center;gap:6px;display:flex}.bubble{overflow-wrap:break-word;word-break:break-word}.receipt-summary{border-bottom:1px solid var(--border);background:var(--surface-muted);min-height:34px;color:var(--ink-muted);justify-content:flex-end;gap:5px;padding:7px 18px;font-size:9px;display:flex}.receipt-summary span+span:before{content:"·";margin-right:5px}.bubble>b{opacity:.72;margin-bottom:4px;font-size:9px;display:block}.message-composer{height:auto!important;min-height:72px!important}.message-composer .send:disabled{background:var(--surface-muted);color:var(--ink-muted);opacity:1}.compose-modal{max-height:min(760px,100vh - 32px);overflow:auto}.compose-icon{background:var(--primary-soft);width:52px;height:52px;color:var(--primary);border-radius:15px;place-items:center;margin-bottom:14px;display:grid}.compose-modal input,.compose-modal select,.compose-modal textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:10px;margin-top:6px;padding:10px 11px;font-size:12px}.compose-modal textarea{resize:vertical;min-height:108px}.compose-modal optgroup{color:var(--ink-muted);font-weight:700}.form-error{background:var(--primary-soft);color:var(--danger);border-radius:9px;margin-top:12px;padding:10px 12px;font-size:10px}.form-success{border:1px solid color-mix(in srgb, var(--success) 25%, var(--border));background:var(--accent-soft);color:var(--success);border-radius:9px;margin:-12px 0 18px;padding:10px 12px;font-size:11px}.class-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.class-card-head h3{min-width:0}.student-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-card>.student-photo{width:64px;min-width:64px;height:64px;min-height:64px;margin:0 auto 9px;position:relative;overflow:hidden}.student-card>.student-photo img{object-fit:cover;object-position:center;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.class-edit,.student-edit{min-width:36px;min-height:36px;padding:8px}.student-number{color:var(--ink-muted);letter-spacing:.04em;margin-top:4px;font-size:9px;font-weight:650;display:block}.student-card-meta{border-top:1px solid var(--border);color:var(--ink-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:9px;font-size:9px;display:flex}.student-card-meta span{color:var(--primary);font-weight:700}.student-card-meta time{color:var(--ink-muted);font-size:9px}.class-form-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.class-form-actions .modal-submit{margin-top:0}.student-profile-form{max-height:min(900px,90vh);overflow:auto}.student-number-label{color:var(--ink-muted);margin:-2px 0 12px!important}.student-number-label strong{color:var(--ink)}.student-form-section{border:1px solid var(--border);border-radius:14px;min-width:0;margin:18px 0 0;padding:14px}.student-form-section legend{color:var(--ink);padding:0 6px;font-size:11px;font-weight:750}.student-form-section>label{margin-top:9px}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;display:grid}.student-form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.student-form-section input,.student-form-section select,.student-form-section textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:42px;color:var(--ink);border-radius:10px;margin-top:6px;padding:10px 11px;font-size:12px}.student-form-section textarea{resize:vertical;min-height:72px}.student-form-section input:focus,.student-form-section select:focus,.student-form-section textarea:focus{border-color:color-mix(in srgb, var(--primary) 55%, var(--border));box-shadow:0 0 0 4px var(--primary-soft);outline:none}.student-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-contact-block{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 56%, var(--surface));border-radius:11px;padding:12px}.student-contact-block h3{color:var(--ink);margin:0 0 8px;font-size:11px}.student-contact-block label{margin-top:9px}.checkbox-label{align-items:center;gap:7px;color:var(--ink-muted)!important;display:flex!important}.checkbox-label input{accent-color:var(--primary);width:17px!important;min-height:17px!important;margin:0!important}.student-sensitive-section{border-color:color-mix(in srgb, var(--warning) 28%, var(--border));background:color-mix(in srgb, var(--secondary-soft) 24%, var(--surface))}.student-sensitive-hint{color:var(--ink-muted);margin:0 0 8px;font-size:10px;line-height:1.45}.student-photo-field{grid-template-columns:92px 1fr;align-items:center;gap:12px;display:grid}.student-photo-preview{border:1px solid var(--border);background:var(--surface-muted);width:92px;height:92px;color:var(--ink-muted);border-radius:16px;place-items:center;display:grid;overflow:hidden}.student-photo-preview img{object-fit:cover;width:100%;height:100%}.student-photo-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.student-photo-actions .outline-btn{min-height:38px;padding:8px 10px;font-size:10px}.student-photo-actions .danger{color:var(--danger)}.student-photo-help{color:var(--ink-muted);grid-column:1/-1;margin:0;font-size:9px}.student-photo-confirmation{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border));background:color-mix(in srgb, var(--primary-soft) 72%, white);color:var(--ink);border-radius:10px;gap:4px;margin-bottom:10px;padding:10px 12px;font-size:10px;line-height:1.45;display:grid}.student-photo-confirmation strong{color:var(--primary);font-size:10px}.student-photo-confirmation small{color:var(--ink-muted);font-size:10px;font-weight:700}.student-photo-confirmation-target{gap:8px;scroll-margin-block:20px;display:grid}.student-photo-editor{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;grid-column:1/-1;gap:10px;margin-top:4px;padding:14px;display:grid}.student-photo-editor-heading{color:var(--primary);justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-photo-editor-heading h4{color:var(--ink);margin:0;font-size:12px;font-weight:700}.student-photo-editor-heading p{color:var(--ink-muted);margin:4px 0 0;font-size:10px;line-height:1.45}.student-photo-editor-stage{aspect-ratio:1;border:1px solid var(--border);background:var(--ink);border-radius:14px;width:min(100%,360px);margin:0 auto;overflow:hidden}.student-photo-crop-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.student-photo-crop-canvas:active{cursor:grabbing}.student-photo-crop-canvas:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent);outline-offset:-3px}.student-photo-editor-status{color:var(--ink);text-align:center;margin:0;font-size:10px;font-weight:600}.student-photo-editor-help{color:var(--ink-muted);text-align:center;margin:0;font-size:9px;line-height:1.45}.student-photo-zoom{color:var(--ink);grid-template-columns:auto 1fr;align-items:center;gap:12px;font-size:10px;font-weight:600;display:grid}.student-photo-zoom input{width:100%;accent-color:var(--primary)}.student-photo-editor-controls,.student-photo-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.student-photo-editor .outline-btn,.student-photo-editor .primary-btn{min-height:38px;padding:8px 11px}.student-photo-editor .student-photo-confirm-attention{z-index:1;outline:3px solid color-mix(in srgb, var(--primary) 34%, transparent);outline-offset:3px;box-shadow:0 0 0 6px color-mix(in srgb, var(--primary) 15%, transparent), 0 8px 18px color-mix(in srgb, var(--primary) 22%, transparent);font-weight:800;animation:.9s ease-out student-photo-confirm-pulse;position:relative}@keyframes student-photo-confirm-pulse{0%,to{transform:scale(1)}45%{transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.student-photo-editor .student-photo-confirm-attention{animation:none;transform:none}}.student-paper-import{width:min(720px,100vw - 28px);max-height:min(860px,100dvh - 28px);overflow:auto}.student-paper-privacy{color:var(--ink-muted);margin:0 0 18px;font-size:11px;line-height:1.55}.student-paper-source,.student-paper-crop-step,.student-paper-review{gap:12px;display:grid}.student-paper-source>p,.student-paper-crop-step>p,.student-paper-review>p{color:var(--ink-muted);margin:0;font-size:11px;line-height:1.55}.student-paper-source-actions,.student-paper-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.student-paper-source-actions{justify-content:center;margin:18px 0 8px}.student-paper-step-title{font-weight:800;color:var(--ink)!important;font-size:14px!important}.student-paper-preview{border:1px solid var(--border);background:var(--ink);border-radius:14px;place-items:center;min-height:260px;max-height:48vh;transition:transform .18s;display:grid;overflow:hidden}.student-paper-preview img{object-fit:contain;max-width:100%;max-height:48vh;display:block}.student-paper-confidence-legend{flex-wrap:wrap;gap:8px;font-size:10px;font-weight:700;display:flex}.student-paper-quality{color:var(--ink-muted)!important;margin:-4px 0 0!important;font-size:10px!important}.student-paper-advanced-offer,.student-paper-consent{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border));background:color-mix(in srgb, var(--primary-soft) 70%, white);border-radius:10px;gap:9px;padding:12px;display:grid}.student-paper-advanced-offer p,.student-paper-consent p{margin:0;line-height:1.5;color:var(--ink)!important;font-size:11px!important}.student-paper-advanced-offer small{color:var(--ink-muted);font-size:10px;line-height:1.4}.student-paper-advanced-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-paper-consent{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));box-shadow:0 10px 28px color-mix(in srgb, var(--primary) 10%, transparent)}.student-paper-consent h3{color:var(--ink);margin:0;font-size:13px}.student-paper-confidence{border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:700;display:inline-block}.confidence-high{color:#087443;background:#e8f8ef}.confidence-review{color:#8a5200;background:#fff3d9}.confidence-none{color:var(--ink-muted);background:var(--surface-muted)}.student-paper-summary{border:1px solid var(--border);background:var(--surface-muted);color:var(--ink-muted);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 12px;font-size:10px;line-height:1.4;display:grid}.student-paper-summary strong{color:var(--ink)}.student-paper-summary p{color:var(--ink);grid-column:1/-1;margin:3px 0 0;font-weight:600}.student-paper-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.student-paper-fields label{color:var(--ink);gap:5px;font-size:10px;font-weight:700;display:grid}.student-paper-fields input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:38px;color:var(--ink);font:inherit;border-radius:9px;padding:9px 10px;font-weight:500}.student-paper-human-check{border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));background:color-mix(in srgb, var(--primary-soft) 72%, white);border-radius:10px;padding:10px 12px;color:var(--ink)!important}.student-paper-unassigned{border:1px dashed var(--border);background:var(--surface-muted);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.student-paper-section-toggle{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.student-paper-section-toggle strong{font-size:12px}.student-paper-section-toggle small{color:var(--ink-muted);font-size:10px;font-weight:600}.student-paper-section-toggle svg{transition:transform .16s}.student-paper-section-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.student-paper-unassigned-list{gap:8px;display:grid}.student-paper-unassigned p{color:var(--ink-muted);margin:0;font-size:10px;line-height:1.45}.student-paper-unassigned-row{grid-template-columns:minmax(0,1fr) minmax(145px,.8fr) auto auto;align-items:center;gap:6px;display:grid}.student-paper-unassigned-value{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.student-paper-unassigned-row input,.student-paper-unassigned-row select{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--ink);font:inherit;border-radius:8px;padding:8px 9px;font-size:10px}.student-paper-raw{border:1px solid var(--border);color:var(--ink-muted);border-radius:9px;padding:8px 10px;font-size:10px}.student-paper-raw summary{cursor:pointer;font-weight:700}.student-paper-raw pre{white-space:pre-wrap;max-height:180px;font:inherit;margin:10px 0 0;line-height:1.45;overflow:auto}.student-paper-sticky-actions{z-index:2;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:flex-end;gap:8px;margin:2px -18px -18px;display:flex;position:sticky;bottom:-18px}@media (width<=640px){.student-paper-import{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px}.student-paper-fields{grid-template-columns:1fr}.student-paper-source-actions,.student-paper-actions{justify-content:stretch}.student-paper-source-actions>button,.student-paper-actions>button{flex:100%;justify-content:center}.student-paper-preview{min-height:200px}.student-paper-summary{grid-template-columns:1fr}.student-paper-summary p{grid-column:auto}.student-paper-unassigned-row{grid-template-columns:minmax(0,1fr) auto auto}.student-paper-unassigned-row select{grid-column:1/-1}.student-paper-sticky-actions{justify-content:stretch}.student-paper-sticky-actions>button{flex:1;justify-content:center}.student-paper-advanced-actions{align-items:stretch}.student-paper-advanced-actions>button{flex:100%;justify-content:center}}.date-input-hint{color:var(--ink-muted);margin-top:4px;font-size:9px;font-weight:400;display:block}.photo-publication{overflow:hidden}.publication-open{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0}.publication-open:hover .album-art>i{opacity:1;transform:scale(1)}.photo-publication .album-art>img{object-fit:cover;width:100%;height:100%}.photo-publication .album-art>i{z-index:2;color:#fff;opacity:.75;width:34px;height:34px;transition:var(--motion);background:#14121094;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px;transform:scale(.94)}.photo-publication .activity{background:linear-gradient(145deg,#f1c4a1,#e98a86)}.photo-publication .meal{background:linear-gradient(145deg,#c8e4c5,#78b49c)}.photo-publication .birthday{background:linear-gradient(145deg,#f3d4df,#cda6d3)}.photo-publication .trip{background:linear-gradient(145deg,#b7dbe0,#79b4c3)}.photo-publication .drawing{background:linear-gradient(145deg,#fae2a6,#eab95b)}.photo-publication .event{background:linear-gradient(145deg,#c9c6e8,#9e8bc5)}.publication-copy>span{color:var(--primary);text-transform:uppercase;font-size:9px;font-weight:700}.publication-copy h3{margin:5px 0;font-size:13px}.publication-copy p,.publication-copy time{color:var(--ink-muted);margin:0;font-size:9px;display:block}.photo-loading,.photo-load-error{width:100%;height:100%;color:var(--ink-muted);place-items:center;font-size:10px;display:grid}.photo-loading svg,.spin{animation:.9s linear infinite spin}.visually-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.photo-compose-modal{width:min(560px,100%);max-height:min(820px,100vh - 30px);overflow:auto}.photo-picker{border:1.5px dashed color-mix(in srgb, var(--primary) 35%, var(--border));background:var(--primary-soft);width:100%;min-height:92px;color:var(--primary);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin:6px 0 14px;display:flex}.photo-picker span{color:var(--ink-muted);font-size:9px}.photo-previews{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px;display:grid}.photo-previews>div{aspect-ratio:1;background:var(--surface-muted);border-radius:10px;position:relative;overflow:hidden}.photo-previews img{object-fit:cover;width:100%;height:100%}.photo-previews button{color:#fff;background:#191614b8;border:0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:4px;right:4px}.photo-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.photo-compose-modal label{position:relative}.photo-compose-modal .optional{float:right;color:var(--ink-muted);font-size:8px;font-weight:500}.photo-compose-modal select,.photo-compose-modal textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:10px;margin-top:6px;padding:10px 11px;font-size:11px}.photo-compose-modal textarea{resize:vertical;min-height:84px}.photo-viewer{z-index:90;color:#fff;animation:fade-in var(--motion);background:#121110f5;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.photo-viewer>header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:15px;min-height:72px;padding:14px 20px;display:flex}.photo-viewer header span,.photo-viewer header strong{display:block}.photo-viewer header span{color:#ffffff9e;text-transform:uppercase;font-size:9px}.photo-viewer header strong{margin-top:3px;font-size:13px}.photo-viewer header button{color:#fff;background:#ffffff1a;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.viewer-stage{place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.viewer-image{object-fit:contain;max-width:100%;max-height:100%}.seed-viewer-art{filter:drop-shadow(0 18px 24px #0000004d);font-size:clamp(90px,22vw,210px)}.viewer-stage>button{color:#fff;background:#ffffff1f;border:0;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.viewer-stage>button:active{transform:translateY(-50%)scale(.96)}.viewer-previous{left:18px}.viewer-next{right:18px}.photo-viewer>footer{color:#ffffffb8;border-top:1px solid #ffffff1a;justify-content:center;align-items:center;gap:12px;min-height:64px;padding:12px 20px;font-size:10px;display:flex}.photo-viewer footer p{margin:0}.photo-card-skeleton{border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.photo-card-skeleton i,.photo-card-skeleton span{background:linear-gradient(90deg,var(--surface-muted),#fafaf8,var(--surface-muted));background-size:250% 100%;animation:1.4s linear infinite shimmer;display:block}.photo-card-skeleton i{height:190px}.photo-card-skeleton span{border-radius:8px;width:70%;height:44px;margin:16px}@keyframes spin{to{transform:rotate(360deg)}}.page-wrap{max-width:1400px;padding:38px 40px 72px}.page-header{align-items:center;margin-bottom:28px}.page-header h1{letter-spacing:-.035em;margin:3px 0 6px;font-size:clamp(26px,2.1vw,34px);font-weight:720;line-height:1.15}.page-header>div>p:not(.eyebrow){color:var(--ink-muted);font-size:14px;line-height:1.45}.eyebrow{letter-spacing:.12em;color:var(--primary)!important;font-size:10px!important}.section-heading{letter-spacing:-.015em;margin:0 0 14px;font-size:17px}.primary-btn,.outline-btn{min-height:var(--touch);border-radius:11px;gap:8px;padding:10px 16px;font-size:13px}.primary-btn{background:var(--primary);box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 20%, transparent)}.primary-btn:hover{background:var(--primary-dark);box-shadow:0 6px 18px color-mix(in srgb, var(--primary) 24%, transparent);transform:translateY(-1px)}.primary-btn:active{transform:translateY(0)scale(.97)}.outline-btn{border-color:var(--border);background:var(--surface)}.outline-btn:hover{border-color:color-mix(in srgb, var(--primary) 28%, var(--border));box-shadow:var(--shadow-sm)}.outline-btn:active{transform:scale(.97)}.card,.stat-card,.quick-card,.parent-tile,.student-card,.homework-card,.album-grid article{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs)}.card:hover,.stat-card:hover,.parent-tile:hover,.student-card:hover,.album-grid article:hover{box-shadow:var(--shadow-sm)}.stat-card{transition:transform var(--motion), box-shadow var(--motion)}.stat-card:hover{transform:translateY(-3px)}.student-card{transition:transform var(--motion), box-shadow var(--motion)}.student-card:hover{transform:translateY(-2px)}.homework-card{transition:transform var(--motion), box-shadow var(--motion), border-color var(--motion)}.homework-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.card-title h2{letter-spacing:-.02em;font-size:16px}.card-title p{color:var(--ink-muted);margin-top:4px;font-size:11px}.card-title button{min-height:36px;color:var(--primary);font-size:11px}.stats-grid{gap:14px;margin-bottom:18px}.stat-card{gap:14px;min-height:112px;padding:20px}.stat-icon{border-radius:12px;width:44px;height:44px}.stat-card strong{letter-spacing:-.03em;font-size:24px}.stat-card p{color:var(--ink-muted);margin:5px 0;font-size:12px}.stat-card small{font-size:10px}.stat-arrow{color:var(--ink-muted);opacity:.55}.red{color:var(--danger);background:var(--primary-soft)}.green{color:var(--success);background:var(--accent-soft)}.gold{color:var(--warning);background:var(--secondary-soft)}.blue{color:#3673a7;background:#edf5fa}.purple{color:#765191;background:#f3edf7}.teal{color:var(--accent);background:var(--accent-soft)}.dashboard-grid{gap:18px}.activity-list{padding:0 22px 14px}.activity-row{border-color:var(--border);min-height:62px;transition:background var(--motion);padding:12px 0;border-radius:10px;gap:13px;margin-inline:-6px;padding-inline:6px}.activity-row:hover{background:color-mix(in srgb, var(--primary-soft) 55%, transparent)}.activity-icon{border-radius:11px;width:38px;height:38px}.activity-row strong{font-size:12px}.activity-row p{color:var(--ink-muted);margin-top:4px;font-size:10px}.activity-row time{color:var(--ink-muted);font-size:9px}.birthday-hero{padding:8px 20px 18px}.birthday-hero .student-photo{width:64px;height:64px}.birthday-hero h3{font-size:15px}.birthday-hero p{color:var(--ink-muted);font-size:10px}.birthday-hero button{background:var(--secondary-soft);min-height:40px;color:var(--warning);border:0;padding:8px 13px;font-size:10px}.upcoming{border-color:var(--border);padding:14px 20px}.upcoming>span{font-size:9px}.upcoming p{font-size:10px}.event-row{border-color:var(--border);min-height:60px;margin:0 20px;padding:11px 0}.date-box{border-radius:10px;width:42px;height:42px}.date-box b{font-size:16px}.date-box span{font-size:7px}.event-row strong{font-size:11px}.event-row p{font-size:9px}.donut-wrap{padding:8px 22px 22px}.donut{background:conic-gradient(var(--success) 0 96%, var(--warning) 96% 98%, var(--danger) 98%);width:112px;height:112px}.donut strong{font-size:20px}.donut span{color:var(--ink-muted);font-size:9px}.legend p{grid-template-columns:8px 1fr auto;font-size:10px}.attendance-banner{border-radius:var(--radius-md);background:linear-gradient(120deg, color-mix(in srgb, var(--success) 92%, #000), var(--success));box-shadow:var(--shadow-sm);padding:18px 20px}.attendance-banner h3{font-size:15px}.attendance-banner p,.attendance-banner>span{font-size:11px}.attendance-banner button{min-height:38px;padding:8px 13px;font-size:11px}.quick-grid{gap:12px;margin-bottom:20px}.quick-card{min-height:116px;padding:16px}.quick-card:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.quick-card span{border-radius:12px;width:42px;height:42px}.quick-card strong{font-size:12px}.teacher-grid{gap:18px}.tasks{padding:0 22px 14px}.tasks label{border-color:var(--border);min-height:62px;padding:12px 0}.tasks input{width:18px;height:18px}.tasks b{font-size:12px}.tasks small{margin-top:4px;font-size:10px}.child-switch{border-color:var(--border);min-height:50px;box-shadow:var(--shadow-xs);border-radius:12px;padding:8px 12px}.child-switch span{font-size:9px}.child-switch strong{font-size:11px}.parent-hero{border-radius:var(--radius-lg);background:linear-gradient(120deg, color-mix(in srgb, var(--primary) 88%, #fff), var(--primary));min-height:180px;box-shadow:0 10px 28px color-mix(in srgb, var(--primary) 15%, transparent);padding:28px 30px}.parent-hero h2{letter-spacing:-.025em;margin:11px 0 7px;font-size:23px}.parent-hero p{max-width:620px;margin-bottom:15px;font-size:12px;line-height:1.6}.parent-hero button{border-radius:10px;min-height:42px;padding:9px 13px;font-size:11px}.live-dot{padding:5px 9px;font-size:9px}.parent-grid{gap:14px}.parent-tile{gap:13px;min-height:104px;padding:18px}.tile-icon{border-radius:12px;width:42px;height:42px}.parent-tile small{color:var(--ink-muted);margin-bottom:4px;font-size:10px}.parent-tile p{color:var(--ink-muted);margin-top:4px;font-size:10px}.filter-bar{border-color:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);gap:10px;padding:12px}.local-search{min-height:var(--touch);border-color:var(--border);border-radius:10px}.local-search input{font-size:12px}.filter-bar select,.filter-bar>button{min-height:var(--touch);border-color:var(--border);border-radius:10px;padding:9px 12px;font-size:11px}.student-grid,.album-grid{gap:16px}.student-card h3{font-size:14px}.student-card>p{color:var(--ink-muted);font-size:11px}.student-card>div:not(.student-photo){border-color:var(--border)}.student-card>div span{color:var(--ink-muted);font-size:9px}.student-card>div strong{font-size:11px}.student-card footer button{border-color:var(--border);border-radius:9px;min-height:40px;font-size:10px}.messenger{border-color:var(--border);border-radius:var(--radius-md);height:min(680px,100vh - 190px)}.message-search{background:var(--surface-muted);min-height:42px}.message-search input{font-size:11px}.messenger aside>button{min-height:86px;transition:background var(--motion), box-shadow var(--motion);padding:12px}.messenger aside>button:hover:not(.selected){background:color-mix(in srgb, var(--primary-soft) 45%, transparent)}.messenger aside>button.selected{background:var(--primary-soft)}.messenger aside strong{font-size:11px}.messenger aside time,.messenger aside small,.messenger aside p{font-size:9px}.messenger section>header{height:72px}.messenger section header strong{font-size:12px}.messenger section header span{font-size:10px}.chat{background:var(--background)}.bubble{border-radius:14px;padding:11px 13px;font-size:12px}.bubble time{font-size:8px}.bubble.theirs{border-color:var(--border)}.messenger form{min-height:70px}.messenger form input{min-height:44px;font-size:12px}.messenger form .send{width:44px;height:44px}.category-tabs{gap:8px;margin-bottom:18px;padding-bottom:2px}.category-tabs button{border-color:var(--border);background:var(--surface);min-height:40px;padding:8px 14px;font-size:10px}.album-grid article{transition:transform var(--motion), box-shadow var(--motion)}.album-grid article:hover{transform:translateY(-2px)}.album-art{height:180px}.album-grid article>div:last-child{padding:16px}.album-grid article>div span{font-size:9px}.album-grid h3{margin:5px 0;font-size:13px}.album-grid p{color:var(--ink-muted);font-size:10px}.homework-list{gap:12px}.homework-card{gap:16px;padding:20px}.homework-card>div:nth-child(2)>span{font-size:9px}.homework-card h3{margin:6px 0;font-size:14px}.homework-card p{font-size:11px}.homework-card footer{margin-top:11px;font-size:10px}.status{padding:6px 9px;font-size:9px}.invoice{padding:26px}.invoice-head small{font-size:9px}.invoice-head h2{font-size:17px}.amount{background:var(--surface-muted);padding:22px}.amount span{font-size:11px}.amount strong{font-size:28px}.invoice-details p{border-color:var(--border);padding:13px 0;font-size:11px}.qr-card{padding:24px}.qr-card>span,.qr-card strong{font-size:11px}.qr-card small{font-size:10px}.qr-card button{min-height:var(--touch);background:var(--success);padding:10px 16px;font-size:11px}.qr-card p{font-size:9px}.table-head,.table-row{padding:14px 20px}.table-head{background:var(--surface-muted);font-size:9px}.table-row{border-color:var(--border);min-height:62px;font-size:10px}.calendar{padding:20px}.calendar>header h2{font-size:17px}.calendar>header button{min-width:var(--touch);min-height:var(--touch);border-color:var(--border)}.weekdays span{font-size:9px}.days>div{border-color:var(--border);height:72px;font-size:10px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in var(--motion);background:#1c1a1861}.modal{border:1px solid color-mix(in srgb, var(--border) 75%, transparent);border-radius:var(--radius-lg);width:min(480px,100%);padding:30px;animation:.24s cubic-bezier(.2,.8,.2,1) modal-in;box-shadow:0 24px 80px #1c1a1833}.modal-close{background:var(--surface-muted);width:40px;height:40px}.modal-brand{border-color:var(--border);width:58px;height:58px}.modal h2{letter-spacing:-.025em;font-size:21px}.modal>p{font-size:12px}.modal label{margin-top:14px;font-size:10px}.modal select,.modal textarea{border-color:var(--border);border-radius:10px;min-height:44px;padding:11px;font-size:12px}.modal textarea{min-height:96px}.toast{min-height:52px;box-shadow:var(--shadow-md);border-radius:12px;padding:12px 16px;font-size:12px;bottom:28px;right:28px}.connectivity-banner{z-index:100;background:var(--ink);color:#fff;box-shadow:var(--shadow-md);border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.empty-state{text-align:center;border-radius:var(--radius-md);background:var(--surface);align-content:center;place-items:center;min-height:320px;padding:32px;display:grid}.empty-state>span{background:var(--surface-muted);width:52px;height:52px;color:var(--ink-muted);border-radius:15px;place-items:center;display:grid}.empty-state h2{margin:16px 0 5px;font-size:17px}.empty-state p{max-width:340px;color:var(--ink-muted);margin:0;font-size:12px}.empty-state button{background:var(--primary-soft);min-height:42px;color:var(--primary);border:0;border-radius:10px;margin-top:16px;padding:9px 14px;font-size:11px;font-weight:700}.error-state>span{background:var(--primary-soft);color:var(--danger)}.skeleton-shell{background:var(--background);grid-template-columns:264px 1fr;min-height:100vh;display:grid}.skeleton-sidebar{background:var(--surface);box-shadow:inset -1px 0 var(--border);flex-direction:column;gap:14px;padding:30px 24px;display:flex}.skeleton-sidebar i,.skeleton-content i,.skeleton-topbar{background:linear-gradient(90deg, var(--surface-muted) 20%, #fafaf8 45%, var(--surface-muted) 70%);background-size:250% 100%;border-radius:10px;animation:1.4s linear infinite shimmer;display:block;overflow:hidden}.skeleton-sidebar i{width:100%;height:42px}.skeleton-sidebar i:first-child{width:72%;height:52px;margin-bottom:20px}.skeleton-topbar{border-radius:0;height:72px}.skeleton-content{padding:42px}.skeleton-content .wide{width:44%;height:72px}.skeleton-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px;display:grid}.skeleton-stats i{height:112px}.skeleton-content .panel{height:300px;margin-top:18px}.skeleton-content .panel.small{width:55%;height:180px}@keyframes shimmer{to{background-position:-250% 0}}@keyframes fade-in{0%{opacity:0}}@keyframes content-rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.photo-compose-modal{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.photo-compose-modal>p:not(.eyebrow){max-width:44ch;margin-bottom:16px}.photo-picker{border-style:dashed;border-width:1px;border-color:color-mix(in srgb, var(--primary) 38%, var(--border));background:linear-gradient(145deg, var(--primary-soft), color-mix(in srgb, var(--surface) 64%, var(--primary-soft)));min-height:108px;margin-bottom:12px}.photo-picker:hover:not(:disabled){border-color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 10%, transparent)}.photo-picker>svg{background:var(--surface);width:38px;height:38px;box-shadow:var(--shadow-xs);border-radius:12px;padding:9px}.photo-picker strong{font-size:12px}.photo-picker span{background:color-mix(in srgb, var(--surface) 72%, transparent);border-radius:999px;padding:3px 8px;font-size:9px;font-weight:650}.photo-processing{background:var(--surface-muted);color:var(--ink-muted);border-radius:12px;margin:0 0 14px;padding:12px 14px}.photo-processing>div{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:10px;display:flex}.photo-processing b{color:var(--primary);font-size:10px}.photo-processing progress{background:var(--border);appearance:none;border:0;border-radius:999px;width:100%;height:7px;display:block;overflow:hidden}.photo-processing progress::-webkit-progress-bar{background:var(--border);border-radius:999px}.photo-processing progress::-webkit-progress-value{background:linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 68%, var(--secondary)));border-radius:999px;transition:width .18s}.photo-processing progress::-moz-progress-bar{background:linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 68%, var(--secondary)));border-radius:999px}.photo-selection{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 84%, var(--surface-muted));border-radius:14px;margin-bottom:16px;padding:12px}.photo-selection>header{color:var(--ink-muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px;font-weight:650;display:flex}.photo-selection>header span{align-items:center;gap:6px;display:inline-flex}.photo-selection>header b{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:3px 8px;font-size:9px}.photo-selection .photo-previews{margin-bottom:0}.photo-previews>div{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);box-shadow:var(--shadow-xs);animation:.26s cubic-bezier(.22,1,.36,1) both photo-preview-in}.photo-previews>div>span{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#191614b3;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:8px;font-weight:700;display:grid;position:absolute;bottom:5px;left:5px}.photo-previews button{opacity:.88;transition:transform var(--motion), opacity var(--motion), background var(--motion)}.photo-previews button:hover{opacity:1;background:var(--danger);transform:scale(1.05)}.photo-form-grid label,.photo-compose-modal>label{color:var(--ink);font-size:9px}.photo-compose-modal select:focus,.photo-compose-modal textarea:focus{border-color:color-mix(in srgb, var(--primary) 48%, var(--border));box-shadow:0 0 0 4px var(--primary-soft);outline:none}.photo-form-error{align-items:flex-start;gap:8px;line-height:1.45;display:flex}.photo-form-error svg{flex:none;margin-top:1px}.photo-compose-modal .modal-submit{z-index:2;box-shadow:0 -8px 20px var(--surface), 0 8px 20px color-mix(in srgb, var(--primary) 17%, transparent);position:sticky;bottom:-1px}.photo-publication .album-art:after{transition:opacity var(--motion)}.publication-open:focus-visible{border-radius:inherit;outline:3px solid color-mix(in srgb, var(--primary) 28%, transparent);outline-offset:-3px}.publication-copy>span{background:var(--primary-soft);border-radius:999px;padding:3px 7px;display:inline-flex}.publication-copy p{margin-top:8px}.publication-copy time{margin-top:7px}.photo-loading{background:linear-gradient(100deg, var(--surface-muted), var(--surface), var(--surface-muted));background-size:220% 100%;animation:1.2s linear infinite shimmer}.photo-load-error{background:var(--surface-muted);color:var(--danger);text-align:center;padding:18px}.photo-viewer{background:radial-gradient(circle at 50% 35%,#302d2a,#131210 68%)}.photo-viewer>header{z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#121110a3}.photo-viewer header span{color:color-mix(in srgb, var(--secondary) 72%, white)}.photo-viewer header button:hover{background:#ffffff2e}.viewer-stage{touch-action:pan-y}.viewer-media{place-items:center;width:100%;height:100%;animation:.26s cubic-bezier(.22,1,.36,1) viewer-photo-in;display:grid}.viewer-media .photo-loading,.viewer-media .photo-load-error{border-radius:18px;width:min(420px,72vw);height:min(420px,48vh)}.viewer-image{filter:drop-shadow(0 22px 50px #00000047)}.viewer-stage>button{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff1a}.viewer-stage>button:hover{background:#fff3}.photo-viewer>footer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#121110ad;justify-content:space-between;min-height:76px;padding:12px 22px}.viewer-count{align-items:center;gap:6px;min-width:68px;display:flex}.viewer-count strong{color:#fff;font-size:13px}.viewer-details{justify-content:flex-end;align-items:center;gap:16px;display:flex}.viewer-details span,.viewer-details time{color:#ffffffa8;white-space:nowrap;align-items:center;gap:5px;display:inline-flex}@keyframes photo-preview-in{0%{opacity:0;transform:scale(.94)}}@keyframes viewer-photo-in{0%{opacity:0;transform:scale(.985)}}@media (width<=700px){.student-profile-form{max-height:92vh}.student-form-grid,.student-form-grid-three,.student-contact-grid{grid-template-columns:1fr}.student-photo-field{grid-template-columns:76px 1fr}.student-photo-preview{width:76px;height:76px}.student-card>.student-photo{width:58px;min-width:58px;height:58px;min-height:58px}.photo-compose-modal{padding:22px 18px 18px}.photo-picker{min-height:96px}.photo-selection{margin-inline:-2px;padding:10px}.photo-previews{grid-template-columns:repeat(3,1fr);gap:7px}.photo-viewer>footer{align-items:flex-start;gap:12px;min-height:88px}.viewer-details{flex:1;grid-template-columns:1fr;gap:3px;display:grid}.viewer-details span,.viewer-details time{font-size:9px}.viewer-stage>button{top:auto;bottom:16px;transform:none}.viewer-stage>button:active{transform:scale(.96)}.viewer-previous{left:14px}.viewer-next{right:14px}}@media (width<=1100px){.dashboard-grid{grid-template-columns:1fr 1fr}.parent-grid{grid-template-columns:repeat(2,1fr)}.calendar-layout{grid-template-columns:1fr 320px}.messenger{grid-template-columns:minmax(210px,38%) 1fr}.messenger>aside{padding:9px}.bubble{max-width:82%}}@media (width<=780px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom));font-size:16px}.sidebar{width:min(320px,88vw);padding:24px 18px}.main-area{margin-left:0}.topbar{height:60px;padding:0 12px}.student-import-draft{scroll-margin-top:calc(60px + 16px + env(safe-area-inset-top))}.topbar .menu-btn{display:none}.mobile-wordmark{align-items:center;gap:8px;display:flex}.mobile-wordmark img{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:10px;width:34px;height:34px}.mobile-wordmark strong{letter-spacing:-.01em;font-size:13px}.top-actions{margin-left:auto}.role-switch{max-width:132px;height:40px}.role-switch select{max-width:94px}.notification{min-width:40px;min-height:40px}.page-wrap{padding:24px 16px 36px}.page-header{align-items:flex-start;margin-bottom:22px}.page-header h1{font-size:27px}.page-header>div>p:not(.eyebrow){font-size:13px}.page-header .primary-btn{min-width:44px;min-height:44px;padding:10px}.page-header .primary-btn svg{width:20px;height:20px}.page-header .primary-btn.coming-soon-button{width:auto;max-width:168px;padding:9px 11px;font-size:10px}.page-header .primary-btn.coming-soon-button small{display:none}.mobile-navigation{z-index:28;right:8px;bottom:max(8px, env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--border) 75%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(22px)saturate(170%);backdrop-filter:blur(22px)saturate(170%);border-radius:20px;grid-template-columns:repeat(5,1fr);height:66px;padding:5px 7px;display:grid;position:fixed;left:8px;box-shadow:0 14px 40px #25232129}.mobile-navigation button{min-width:0;min-height:54px;color:var(--ink-muted);background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.mobile-navigation button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;font-weight:600;overflow:hidden}.mobile-navigation button.active{background:var(--primary-soft);color:var(--primary)}.mobile-navigation button svg{flex:none}.mobile-close{width:40px;height:40px}.stats-grid{gap:10px}.dashboard-grid,.teacher-grid{grid-template-columns:1fr}.activity-card{grid-column:auto}.birthday-card{grid-row:auto}.stat-card{min-height:100px;padding:15px}.stat-icon{width:40px;height:40px}.stat-card strong{font-size:21px}.stat-card p{font-size:10px}.dashboard-grid,.teacher-grid{gap:14px}.card-title{padding:20px 18px 12px}.activity-list{padding:0 18px 12px}.activity-row{min-height:66px}.activity-row strong{font-size:12px}.activity-row p{font-size:10px}.birthday-hero{padding-bottom:20px}.quick-grid{gap:10px}.quick-card{min-height:108px;padding:15px}.parent-hero{border-radius:20px;min-height:0;padding:24px 22px}.parent-hero h2{font-size:21px}.parent-hero p{font-size:12px}.parent-grid{gap:11px}.parent-tile{min-height:94px;padding:15px}.student-grid,.album-grid{gap:12px}.messenger{grid-template-columns:1fr;height:calc(100vh - 174px);min-height:540px;position:relative}.messenger>aside{display:none}.messenger.mobile-list-open>aside{z-index:4;background:var(--surface);border:0;display:block;position:absolute;inset:0;overflow:auto}.mobile-list-close{background:var(--surface-muted);border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.mobile-conversation-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:44px;padding:7px 14px;display:flex}.mobile-conversation-bar button{min-height:36px;color:var(--primary);background:0 0;border:0;align-items:center;gap:4px;font-size:10px;font-weight:700;display:inline-flex}.mobile-conversation-bar>span{background:var(--surface-muted);min-width:20px;height:20px;color:var(--ink-muted);border-radius:50%;place-items:center;font-size:9px;display:grid}.messenger section>header{height:auto;min-height:68px;padding:10px 14px}.receipt-summary{justify-content:flex-start}.compose-modal{max-height:90vh}.photo-compose-modal{width:100%;max-height:92vh}.photo-previews{grid-template-columns:repeat(4,1fr)}.photo-form-grid{grid-template-columns:1fr;gap:0}.photo-publication .album-art{height:170px}.photo-viewer>header{min-height:64px;padding:10px 14px}.viewer-stage>button{width:42px;height:42px}.viewer-previous{left:10px}.viewer-next{right:10px}.filter-bar{box-shadow:none;background:0 0;border:0;padding:0}.payment-layout{gap:12px}.invoice,.qr-card{padding:20px}.calendar{padding:14px}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:88vh;padding:26px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation-name:sheet-in;overflow:auto}.toast{right:12px;bottom:calc(84px + env(safe-area-inset-bottom));justify-content:center;left:12px}.skeleton-shell{grid-template-columns:1fr}.skeleton-sidebar{display:none}.skeleton-topbar{height:60px}.skeleton-content{padding:24px 16px}.skeleton-content .wide{width:76%;height:70px}.skeleton-stats{grid-template-columns:1fr 1fr;gap:10px}.skeleton-stats i{height:100px}.connectivity-banner{text-align:center;justify-content:center;width:calc(100% - 24px);top:8px}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}@media (width<=500px){.lang-select{gap:4px;height:38px;padding:0 8px;display:flex}.lang-select select{max-width:56px}.top-actions{gap:4px}.page-wrap{padding-inline:14px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{grid-template-columns:40px 1fr;display:grid}.stat-arrow{display:none}.parent-grid{grid-template-columns:1fr}.parent-tile{grid-template-columns:42px 1fr 20px}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{min-height:106px}.homework-card{padding:17px}.filter-bar>select,.filter-bar>button{flex:1}.amount strong{font-size:26px}.days>div{height:50px}}:root{--radius-xs:10px;--radius-sm:14px;--radius-md:18px;--radius-lg:26px;--shadow-xs:0 1px 2px #3d2c2009, 0 5px 14px #3d2c2006;--shadow-sm:0 10px 30px #3d2c2011;--shadow-md:0 24px 60px #3d2c201f;--motion:.22s cubic-bezier(.22, 1, .36, 1)}body{background:radial-gradient(circle at 92% -8%, color-mix(in srgb, var(--secondary-soft) 48%, transparent), transparent 31rem), var(--background);letter-spacing:-.008em}.app-shell svg{stroke-width:1.85px}.page-wrap{max-width:1440px;padding-top:34px}.page-wrap>*{animation:.42s cubic-bezier(.22,1,.36,1) both content-rise}.page-wrap>:nth-child(2){animation-delay:35ms}.page-wrap>:nth-child(3){animation-delay:70ms}.sidebar{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, var(--primary-soft)), var(--surface));box-shadow:inset -1px 0 var(--border), 14px 0 42px #3b291e06}.brand-logo{border-color:color-mix(in srgb, var(--secondary) 35%, var(--border));border-radius:16px;width:50px;height:50px;padding:2px}.brand strong{font-size:15px;font-weight:720}.brand span{margin-top:2px}.school-pill{background:linear-gradient(135deg, var(--accent-soft), color-mix(in srgb, var(--surface) 58%, var(--accent-soft)))}.sidebar nav button{transition:background var(--motion), color var(--motion);position:relative;overflow:hidden}.sidebar nav button svg{transition:transform var(--motion)}.sidebar nav button:hover svg{transform:translate(2px)}.sidebar nav button.active{box-shadow:inset 3px 0 var(--primary)}.sidebar nav button.active svg{filter:drop-shadow(0 2px 4px color-mix(in srgb, var(--primary) 24%, transparent));transform:none}.user-mini .avatar,.top-avatar{background:linear-gradient(145deg, var(--primary), var(--primary-dark));box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 20%, transparent)}.sidebar-bottom .sidebar-logout{width:100%;color:var(--ink-muted);cursor:pointer;transition:background var(--motion), color var(--motion);background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;margin-top:2px;padding:8px 12px;font-size:12px;display:flex}.sidebar-bottom .sidebar-logout:hover{background:var(--primary-soft);color:var(--primary)}.topbar{box-shadow:0 1px #fffc,0 8px 28px #37261b09}.role-switch,.lang-select{box-shadow:var(--shadow-xs);cursor:pointer}.role-switch select,.lang-select select{cursor:pointer;flex:1;min-width:0}.role-switch>svg,.lang-select>svg:last-child{pointer-events:none;flex:none}.role-switch:focus-within,.lang-select:focus-within{border-color:color-mix(in srgb, var(--primary) 42%, var(--border));box-shadow:0 0 0 4px var(--primary-soft)}.dashboard-hero{border-radius:var(--radius-lg);background:radial-gradient(circle at 78% 12%, #ffd65c3b, transparent 26%), linear-gradient(125deg, var(--primary-dark), var(--primary) 58%, color-mix(in srgb, var(--primary) 76%, var(--secondary)));min-height:218px;box-shadow:0 22px 48px color-mix(in srgb, var(--primary-dark) 21%, transparent);color:#fff;isolation:isolate;border:1px solid #fff3;align-items:flex-end;gap:28px;margin-bottom:20px;padding:30px 34px;display:flex;position:relative;overflow:hidden}.dashboard-hero:before{content:"";z-index:-1;opacity:.12;background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 75%);mask-image:linear-gradient(90deg,#000,#0000 75%)}.dashboard-hero-logo{z-index:-1;opacity:.075;filter:grayscale()brightness(4.5);width:330px;height:330px;position:absolute;bottom:-42%;right:3%;transform:rotate(-6deg)}.dashboard-hero-logo img{object-fit:contain;width:100%;height:100%}.dashboard-hero-copy{z-index:1;max-width:680px;position:relative}.dashboard-school{align-items:center;gap:10px;margin-bottom:25px;display:inline-flex}.dashboard-school>img{object-fit:contain;background:#fffffff0;border:1px solid #ffffff59;border-radius:11px;width:38px;height:38px;padding:2px;box-shadow:0 7px 18px #1e0c0e29}.dashboard-school span,.dashboard-school strong,.dashboard-school small{display:block}.dashboard-school strong{font-size:12px;font-weight:720}.dashboard-school small{color:#ffffffad;margin-top:1px;font-size:9px}.dashboard-hero .eyebrow{color:#ffe8a1db!important;margin-bottom:6px!important}.dashboard-hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(25px,3vw,36px);line-height:1.16}.dashboard-hero-copy>p:not(.eyebrow){color:#ffffffbd;max-width:560px;margin:8px 0 0;font-size:13px}.dashboard-meta{color:#ffffffe6;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;border-radius:999px;margin-top:14px;padding:6px 10px;font-size:9px;font-weight:700;display:inline-flex}.dashboard-hero-action{z-index:1;align-self:flex-end;margin-left:auto;position:relative}.dashboard-hero-action .outline-btn{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border-color:#ffffff47}.dashboard-hero-action .outline-btn:hover{background:#fff3}.dashboard-hero-action .primary-btn.coming-soon-button{color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border-color:#ffffff42}.card,.stat-card,.parent-tile,.student-card,.homework-card,.photo-publication{border-color:color-mix(in srgb, var(--border) 82%, transparent);box-shadow:var(--shadow-xs)}.card{border-radius:var(--radius-md)}.stat-card{border-radius:var(--radius-md);min-height:104px;padding:20px}.stat-icon,.activity-icon,.tile-icon,.subject-icon{border-radius:13px}.stat-icon{width:46px;height:46px}.stat-card strong{letter-spacing:-.04em;font-size:25px;font-weight:740}.stat-card p{margin-top:6px;font-size:11px}.card-title{padding:22px 22px 14px}.card-title h2{font-size:15px;font-weight:720}.card-title p{font-size:10px}.activity-list{padding-inline:22px}.activity-row{min-height:58px;padding:12px 0}.activity-card,.birthday-card,.pulse-card{position:relative;overflow:hidden}.activity-card:after,.birthday-card:after{content:"";pointer-events:none;opacity:.055;background:var(--tenant-logo) center/contain no-repeat;filter:grayscale();width:220px;height:220px;position:absolute;bottom:-62px;right:-52px}.birthday-hero,.upcoming{z-index:1;position:relative}.donut{box-shadow:inset 0 0 0 1px #fffc,0 10px 24px #2f5b4617}.attendance-banner{border-radius:var(--radius-md);background:linear-gradient(115deg, color-mix(in srgb, var(--accent) 82%, #0d4738), var(--accent));box-shadow:0 14px 32px color-mix(in srgb, var(--accent) 16%, transparent)}.quick-card{border-radius:var(--radius-md);min-height:112px}.quick-card.active-quick-card{border-color:color-mix(in srgb, var(--accent) 24%, var(--border));box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 9%, transparent)}.quick-card.active-quick-card:hover{box-shadow:0 15px 34px color-mix(in srgb, var(--accent) 14%, transparent);transform:translateY(-3px)}.child-switch{box-shadow:var(--shadow-xs);border-radius:14px;margin-bottom:18px;padding:8px 12px 8px 8px}.parent-hero{border-radius:var(--radius-lg);background:linear-gradient(125deg, var(--primary-dark), var(--primary));box-shadow:0 14px 34px color-mix(in srgb, var(--primary) 16%, transparent)}.parent-tile{border-radius:var(--radius-md);min-height:104px;padding:18px}.parent-tile:hover{border-color:color-mix(in srgb, var(--primary) 18%, var(--border));box-shadow:var(--shadow-sm);transform:translateY(-2px)}.parent-tile strong{font-size:12px}.filter-bar{border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:12px}.student-card,.homework-card{border-radius:var(--radius-md)}.student-card{padding:21px}.messenger{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.bubble{border-radius:15px;padding:12px 14px}.bubble.mine{background:linear-gradient(145deg, var(--primary), var(--primary-dark));box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 14%, transparent)}.photo-publication{border-radius:var(--radius-md);transition:transform var(--motion), box-shadow var(--motion), border-color var(--motion)}.photo-publication:hover{border-color:color-mix(in srgb, var(--primary) 18%, var(--border));box-shadow:var(--shadow-sm);transform:translateY(-4px)}.photo-publication .album-art{height:210px}.photo-publication .album-art>img{transition:transform .42s cubic-bezier(.22,1,.36,1)}.publication-copy{padding:18px}.publication-copy h3{font-size:14px;line-height:1.35}.category-tabs{gap:7px;padding-bottom:3px}.category-tabs button{min-height:38px;transition:transform var(--motion), box-shadow var(--motion), background var(--motion), border-color var(--motion);border-radius:999px;padding:8px 14px;font-size:10px}.category-tabs button:hover{transform:translateY(-1px)}.category-tabs button.active{box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 17%, transparent)}.modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid #ffffffb3;animation:.28s cubic-bezier(.22,1,.36,1) modal-in}.modal-backdrop{animation:.18s ease-out backdrop-in}.class-form-dialog-backdrop{animation:.18s ease-out both backdrop-in}.class-form-dialog{animation:.18s cubic-bezier(.22,1,.36,1) both modal-in}.student-form-dialog-backdrop{animation:.18s ease-out both backdrop-in}.student-form-dialog{animation:.18s cubic-bezier(.22,1,.36,1) both modal-in}.primary-btn{background:linear-gradient(145deg, var(--primary), var(--primary-dark));min-height:42px;box-shadow:0 8px 20px color-mix(in srgb, var(--primary) 17%, transparent);border-radius:11px}.outline-btn{min-height:42px;box-shadow:var(--shadow-xs);border-radius:11px}.mobile-navigation{border:1px solid color-mix(in srgb, var(--border) 75%, transparent);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(22px)saturate(170%);backdrop-filter:blur(22px)saturate(170%);box-shadow:0 -10px 32px #30221a12}.mobile-navigation button{border-radius:13px}.mobile-navigation button.active{background:var(--primary-soft)}.mobile-navigation button.active svg{filter:drop-shadow(0 3px 6px color-mix(in srgb, var(--primary) 20%, transparent))}.calendar-month-label{text-transform:capitalize;font-size:15px;font-weight:650}.feedback-fab{z-index:50;background:linear-gradient(145deg, var(--primary), var(--primary-dark));color:#fff;min-height:44px;box-shadow:0 8px 24px color-mix(in srgb, var(--primary) 28%, transparent), 0 2px 8px #00000014;transition:transform var(--motion), box-shadow var(--motion), background var(--motion);border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;display:flex;position:fixed;bottom:28px;right:28px}.feedback-fab:hover{box-shadow:0 12px 32px color-mix(in srgb, var(--primary) 32%, transparent);transform:translateY(-2px)}.feedback-fab:active{transform:translateY(0)scale(.97)}.feedback-modal{width:min(520px,100%);max-height:min(760px,100vh - 32px);overflow:auto}.feedback-subtitle{color:var(--ink-muted);margin:4px 0 16px;font-size:12px}.feedback-input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:10px;margin-top:6px;padding:10px 11px;font-size:12px;display:block}.feedback-screenshot{border:1px dashed var(--border);color:var(--ink-muted);cursor:not-allowed;opacity:.72;border-radius:10px;align-items:center;gap:7px;margin:12px 0;padding:9px 12px;font-size:10px;display:flex}.feedback-context{background:var(--surface-muted);color:var(--ink-muted);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 0;padding:8px 10px;font-size:9px;display:flex}.feedback-context span:last-child{color:var(--ink);font-weight:700}.feedback-actions{gap:8px;margin-top:18px;display:flex}.feedback-actions .outline-btn{flex:none}.feedback-actions .primary-btn{flex:1;justify-content:center}.feedback-sent{text-align:center;padding:12px 0 4px}.feedback-sent-icon{background:var(--primary-soft);width:58px;height:58px;color:var(--primary);border-radius:18px;place-items:center;margin:0 auto 16px;display:grid}.feedback-sent h2{margin:0 0 8px;font-size:20px}.feedback-sent p{color:var(--ink-muted);margin:0 0 20px;font-size:12px;line-height:1.5}.feedback-inbox-layout{grid-template-columns:360px 1fr;gap:16px;min-height:calc(100vh - 200px);display:grid}.feedback-list-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.feedback-list-header{border-bottom:1px solid var(--border);align-items:center;gap:9px;padding:18px 18px 12px;display:flex}.feedback-list-header h2{flex:1;margin:0;font-size:15px;font-weight:720}.feedback-count{background:var(--primary);color:#fff;border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:10px;font-weight:700;display:grid}.feedback-filters{border-bottom:1px solid var(--border);flex-direction:column;gap:7px;padding:10px 12px;display:flex}.feedback-search{border:1px solid var(--border);background:var(--surface-muted);min-height:38px;color:var(--ink-muted);border-radius:10px;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}.feedback-search input{background:0 0;border:0;flex:1;font-size:11px}.feedback-search button{background:0 0;border:0;place-items:center;padding:0;display:grid}.feedback-filter-row{gap:6px;display:flex}.feedback-select-wrap{cursor:pointer;flex:1;position:relative}.feedback-select-wrap select{appearance:none;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink-muted);cursor:pointer;border-radius:9px;padding:7px 28px 7px 10px;font-size:9px}.feedback-select-wrap>svg{pointer-events:none;color:var(--ink-muted);position:absolute;top:50%;right:8px;transform:translateY(-50%)}.feedback-list{flex:1;overflow-y:auto}.feedback-list-item{border:0;border-top:1px solid var(--border);text-align:left;width:100%;transition:background var(--motion);background:0 0;border-radius:0;gap:4px;padding:12px 16px;display:grid;position:relative}.feedback-list-item:first-child{border-top:0}.feedback-list-item:hover{background:var(--surface-muted)}.feedback-list-item.selected{background:var(--primary-soft)}.feedback-item-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.feedback-item-top time{color:var(--ink-muted);margin-left:auto;font-size:9px}.feedback-unread-dot{background:var(--primary);border-radius:50%;flex:none;width:7px;height:7px}.feedback-list-item strong{margin:2px 0;font-size:12px;display:block}.feedback-item-meta{color:var(--ink-muted);gap:5px;font-size:9px;display:flex}.feedback-chevron{color:var(--ink-muted);opacity:.55;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.feedback-empty{min-height:200px;color:var(--ink-muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:24px;font-size:12px;display:grid}.feedback-empty p{margin:0}.feedback-detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.feedback-empty-detail{min-height:320px;color:var(--ink-muted);text-align:center;align-content:center;place-items:center;gap:12px;padding:32px;display:grid}.feedback-empty-detail h3{margin:0;font-size:16px}.feedback-empty-detail p{margin:0;font-size:12px}.feedback-detail{padding:26px}.feedback-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.feedback-detail-badges{flex-wrap:wrap;gap:6px;display:flex}.feedback-detail-status-change{align-items:center;gap:8px;display:flex}.feedback-detail-status-change label{color:var(--ink-muted);white-space:nowrap;font-size:10px}.feedback-status-select{cursor:pointer;position:relative}.feedback-status-select select{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:9px;width:100%;padding:7px 28px 7px 10px;font-size:11px;font-weight:700}.feedback-status-select>svg{pointer-events:none;color:var(--ink-muted);position:absolute;top:50%;right:8px;transform:translateY(-50%)}.feedback-detail-title{letter-spacing:-.03em;margin:0 0 10px;font-size:22px;font-weight:740}.feedback-detail-description{color:var(--ink-muted);white-space:pre-wrap;margin:0 0 24px;font-size:13px;line-height:1.6}.feedback-meta-grid{border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(2,1fr);gap:0;margin-bottom:24px;display:grid;overflow:hidden}.feedback-meta-row{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding:12px 14px;display:flex}.feedback-meta-row:nth-child(2n){border-right:0}.feedback-meta-row span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px}.feedback-meta-row strong{word-break:break-all;font-size:11px}.feedback-notes-section{flex-direction:column;gap:9px;display:flex}.feedback-notes-label{color:var(--ink-muted);font-size:10px;font-weight:700}.feedback-notes-textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);resize:vertical;border-radius:10px;padding:10px 11px;font-size:12px}.feedback-save-notes{align-self:flex-end}.feedback-badge{border-radius:999px;padding:4px 9px;font-size:9px;font-weight:700;display:inline-flex}.feedback-badge.large{padding:6px 12px;font-size:10px}.feedback-type-suggestion{background:var(--accent-soft);color:var(--success)}.feedback-type-bug{background:var(--primary-soft);color:var(--danger)}.feedback-type-question{color:#3673a7;background:#edf5fa}.feedback-type-improvement{background:var(--secondary-soft);color:var(--warning)}.feedback-in-progress{color:#3673a7;background:#edf5fa}.status.large,.feedback-badge.large{padding:6px 12px;font-size:10px}@media (width<=780px){.feedback-fab{bottom:calc(84px + env(safe-area-inset-bottom));padding:10px 14px;font-size:0;right:16px}.feedback-fab svg{width:20px;height:20px;margin:0}.feedback-inbox-layout{grid-template-columns:1fr}.feedback-detail-panel{display:none}.feedback-meta-grid{grid-template-columns:1fr}.feedback-meta-row{border-right:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}.student-file-import-page{max-width:1120px;margin:0 auto;padding-bottom:36px}.student-file-import-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.student-file-import-header h1{margin:3px 0 6px;font-size:clamp(26px,2.1vw,34px);font-weight:700;line-height:1.15}.student-file-import-header p:not(.eyebrow){max-width:650px;color:var(--ink-muted);font-size:13px;line-height:1.5}.student-import-stepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.student-import-stepper button{border:1px solid var(--border);background:var(--surface);min-height:54px;color:var(--ink-muted);border-radius:10px;padding:8px 6px;font-size:10px;font-weight:600}.student-import-stepper button span{background:var(--surface-muted);width:24px;height:24px;color:var(--ink-muted);border-radius:50%;place-items:center;margin:0 auto 5px;display:grid}.student-import-stepper button.active{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));color:var(--primary);background:var(--primary-soft)}.student-import-stepper button.active span,.student-import-stepper button.complete span{background:var(--primary);color:#fff}.student-import-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);padding:clamp(20px,3vw,34px)}.student-import-panel>h2{margin:0 0 7px;font-size:21px}.student-import-panel>p{max-width:720px;color:var(--ink-muted);margin:0 0 22px;font-size:13px;line-height:1.5}.student-import-dropzone{text-align:center;border-style:dashed;align-content:center;place-items:center;min-height:360px;display:grid}.student-import-dropzone[data-active=true]{border-color:var(--primary);background:var(--primary-soft)}.student-import-dropzone svg{color:var(--primary);margin-bottom:14px}.student-import-dropzone h2{margin:0 0 7px;font-size:21px}.student-import-dropzone p{max-width:480px;color:var(--ink-muted);margin:0 auto 18px;font-size:13px}.student-import-dropzone small{color:var(--ink-muted);margin-top:13px;font-size:11px}.student-import-sheet-list,.student-import-structure-list,.student-import-mapping-list{gap:10px;display:grid}.student-import-sheet{border:1px solid var(--border);background:var(--surface-muted);cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:62px;padding:12px 14px;display:flex}.student-import-sheet input{width:18px;height:18px;accent-color:var(--primary)}.student-import-sheet span{gap:3px;display:grid}.student-import-sheet small,.student-import-structure-list span,.student-import-mapping-row small{color:var(--ink-muted);font-size:11px}.student-import-structure-list article,.student-import-mapping-list article{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;padding:16px}.student-import-structure-list article{justify-content:space-between;align-items:center;gap:18px;display:flex}.student-import-structure-list article>div{gap:4px;display:grid}.student-import-structure-list label{min-width:210px;color:var(--ink-muted);gap:5px;font-size:10px;font-weight:700;display:grid}.student-import-structure-list select,.student-import-mapping-row select,.student-import-form-grid input,.student-import-form-grid select{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--ink);border-radius:9px;padding:9px 10px;font-size:12px}.student-import-mapping-list article h3{margin:0 0 10px;font-size:14px}.student-import-mapping-row{border-top:1px solid var(--border);grid-template-columns:minmax(180px,1fr) minmax(170px,.75fr) 108px;align-items:center;gap:12px;padding:10px 0;display:grid}.student-import-mapping-row>span:first-child{gap:4px;display:grid}.mapping-confidence{font-size:10px;font-weight:700}.mapping-confidence.strong{color:var(--success)}.mapping-confidence.review{color:var(--warning)}.mapping-confidence.unmapped{color:var(--ink-muted)}.student-import-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.student-import-progress{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border));background:color-mix(in srgb, var(--primary-soft) 48%, var(--surface));border-radius:12px;gap:9px;margin:16px 0;padding:14px 16px;display:grid}.student-import-progress-heading,.student-import-progress-counts{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.student-import-progress-heading{color:var(--ink);justify-content:space-between;font-size:12px}.student-import-progress-heading>span{color:var(--primary);font-weight:800}.student-import-progress-track{background:color-mix(in srgb, var(--primary) 13%, var(--surface));border-radius:999px;height:8px;overflow:hidden}.student-import-progress-track>span{border-radius:inherit;background:var(--primary);height:100%;transition:width .16s ease-out;display:block}.student-import-progress-counts{color:var(--ink-muted);font-size:11px}.student-import-progress-counts span:first-child{color:var(--success)}.student-import-progress-counts span:nth-child(2){color:var(--warning)}.student-import-progress-counts span:nth-child(3){color:var(--danger)}.student-import-progress p{color:var(--ink-muted);margin:0;font-size:11px}.student-import-review-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.student-import-summary-strip{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.student-import-summary-strip span,.import-status{background:var(--surface-muted);color:var(--ink-muted);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700}.student-import-review-state{border:1px solid var(--border);min-height:0;margin-top:18px;padding:28px 20px}.student-import-review-state.validated{border-color:color-mix(in srgb, var(--success) 38%, var(--border));background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}.student-import-review-state.validated>span{background:var(--accent-soft);color:var(--success)}.student-import-review-state.ignored>span{background:var(--secondary-soft);color:var(--warning)}.student-import-review-state.review>span{background:var(--primary-soft);color:var(--primary)}.student-import-advanced{display:none}.student-import-file-summary{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:5px;margin:16px 0;padding:14px 16px;display:grid}.student-import-file-summary strong{color:var(--primary);font-size:16px}.student-import-file-summary span,.student-import-file-summary small{color:var(--ink-muted);font-size:11px}.student-import-recovery{border:1px solid color-mix(in srgb, var(--warning) 45%, var(--border));background:color-mix(in srgb, var(--warning) 8%, var(--surface));border-radius:10px;gap:10px;margin:16px 0;padding:14px 16px;display:grid}.student-import-recovery h3,.student-import-recovery p{margin:0}.student-import-recovery h3{font-size:14px}.student-import-recovery p{color:var(--ink-muted);font-size:11px;line-height:1.45}.student-import-recovery-sheet{border-top:1px solid var(--border);gap:8px;padding-top:8px;display:grid}.student-import-recovery-sheet label{color:var(--ink);gap:5px;font-size:11px;font-weight:700;display:grid}.student-import-recovery-sheet select{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink);border-radius:9px;padding:8px 10px}.student-import-missing-classes{border:1px solid color-mix(in srgb, var(--warning) 45%, var(--border));background:color-mix(in srgb, var(--warning) 8%, var(--surface));border-radius:10px;gap:12px;margin:16px 0;padding:16px;display:grid}.student-import-missing-classes h3,.student-import-missing-classes p{margin:0}.student-import-missing-classes h3{font-size:14px}.student-import-missing-classes p{color:var(--ink-muted);margin-top:4px;font-size:11px;line-height:1.45}.student-import-missing-class{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(170px,.7fr) auto;align-items:end;gap:12px;padding-top:12px;display:grid}.student-import-missing-class>div{gap:4px;min-width:0;display:grid}.student-import-missing-class>div span{color:var(--ink-muted);font-size:11px}.student-import-missing-class label{color:var(--ink);gap:5px;font-size:10px;font-weight:700;display:grid}.student-import-missing-class input{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink);border-radius:9px;padding:8px 10px;font-size:12px}.student-import-missing-class input[aria-invalid=true]{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 7%, var(--surface))}.student-import-created-classes{border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));background:color-mix(in srgb, var(--success) 8%, var(--surface));color:var(--success);border-radius:10px;gap:7px;margin:16px 0;padding:14px 16px;font-size:12px;display:grid}.student-import-created-classes ul{color:var(--ink);margin:0;padding-left:18px;font-size:11px;line-height:1.5}.student-import-advanced summary{cursor:pointer;color:var(--primary);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.student-import-advanced>p{color:var(--ink-muted);margin:10px 0 14px;font-size:11px}.student-import-advanced-sheet+.student-import-advanced-sheet{margin-top:12px}.student-import-structure-label{color:var(--ink-muted);gap:5px;margin:10px 0;font-size:10px;font-weight:700;display:grid}.student-import-structure-label select{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--ink);border-radius:9px;padding:8px 10px}.student-import-draft{scroll-margin-top:calc(72px + 16px + env(safe-area-inset-top));border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;padding:18px}.student-import-draft>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.student-import-draft h3{margin:3px 0 4px;font-size:18px}.student-import-draft header small{color:var(--ink-muted);font-size:11px}.import-status.ready,.import-status.validated{background:color-mix(in srgb, var(--success) 13%, var(--surface));color:var(--success)}.import-status.review{background:color-mix(in srgb, var(--warning) 15%, var(--surface));color:var(--warning)}.import-status.error{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger)}.student-import-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-import-form-grid label{color:var(--ink);gap:5px;font-size:10px;font-weight:700;display:grid}.student-import-form-grid label.has-error{color:var(--danger)}.student-import-form-grid label.has-error input,.student-import-form-grid label.has-error select{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 7%, var(--surface))}.student-import-class-interpretation{border:1px solid var(--border);background:var(--surface);color:var(--ink-muted);border-radius:9px;flex-wrap:wrap;gap:6px 14px;margin:12px 0;padding:10px 12px;font-size:11px;line-height:1.45;display:flex}.student-import-class-interpretation strong{color:var(--ink)}.student-import-field-error{color:var(--danger);font-size:10px;font-weight:600;line-height:1.35}.student-import-error-summary{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--surface));color:var(--danger);border-radius:9px;gap:6px;margin:12px 0;padding:10px 12px;font-size:11px;line-height:1.45;display:grid}.student-import-error-summary button{width:fit-content;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.student-import-draft>.student-import-blocking{display:none}.student-import-warning,.student-import-no-write{background:color-mix(in srgb, var(--warning) 12%, var(--surface));color:var(--ink);border-radius:9px;align-items:flex-start;gap:8px;margin:12px 0;padding:10px 12px;font-size:11px;line-height:1.45;display:flex}.student-import-blocking{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--surface));color:var(--danger);border-radius:9px;align-items:flex-start;gap:8px;margin:12px 0;padding:10px 12px;font-size:11px;line-height:1.45;display:flex}.student-import-no-write{background:var(--primary-soft);color:var(--primary)}.student-import-photo-review{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.student-import-photo-review h4,.student-import-duplicate h4{margin:0;font-size:13px}.student-import-duplicate{border:1px solid color-mix(in srgb, var(--warning) 35%, var(--border));background:color-mix(in srgb, var(--warning) 8%, var(--surface));border-radius:10px;grid-template-rows:minmax(32px,auto) minmax(266px,auto) auto auto;margin:12px 0;padding:14px;display:grid}.student-import-duplicate-heading{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:10px;display:flex}.student-import-duplicate-candidates{color:var(--ink-muted);white-space:nowrap;align-items:center;gap:5px;font-size:10px;font-weight:700;display:inline-flex}.student-import-duplicate-candidates .icon-btn{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:28px;min-width:28px;height:28px;min-height:28px}.student-import-duplicate-comparison{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:minmax(94px,.6fr) minmax(0,1fr) minmax(0,1fr);display:grid;overflow:hidden}.student-import-duplicate-column-heading{border-bottom:1px solid var(--border);min-height:32px;color:var(--ink-muted);align-items:center;padding:7px 10px;font-size:10px;font-weight:700;display:flex}.student-import-duplicate-column-heading:nth-child(2),.student-import-duplicate-column-heading:nth-child(3){border-left:1px solid var(--border)}.student-import-duplicate-row{display:contents}.student-import-duplicate-label,.student-import-duplicate-value{border-bottom:1px solid var(--border);align-items:center;min-width:0;min-height:36px;padding:7px 10px;font-size:11px;line-height:1.35;display:flex}.student-import-duplicate-label{color:var(--ink-muted);font-weight:700}.student-import-duplicate-value{border-left:1px solid var(--border);overflow-wrap:anywhere}.student-import-duplicate-value[data-difference=different]{background:color-mix(in srgb, var(--warning) 11%, var(--surface));color:var(--ink)}.student-import-duplicate-value[data-difference=review]{background:color-mix(in srgb, var(--primary) 7%, var(--surface))}.student-import-duplicate-marker{color:var(--ink-muted);margin-left:auto;padding-left:6px;font-size:12px;font-weight:800}.student-import-duplicate-photo-row>*{min-height:64px}.student-import-duplicate-photo{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:48px;height:48px}.student-import-duplicate-photo-empty{color:var(--ink-muted);font-size:10px}.student-import-duplicate-mobile-summary,.student-import-duplicate-mobile-details{display:none}.student-import-duplicate-details{color:var(--ink-muted);margin-top:8px;font-size:10px}.student-import-duplicate-details summary{cursor:pointer;font-weight:700}.student-import-duplicate-details p{margin:6px 0 0;line-height:1.4}.student-import-duplicate-actions{flex-wrap:wrap;justify-content:flex-end;align-self:end;gap:8px;margin:8px 0 12px;display:flex}.record-page{gap:20px;max-width:1040px;display:grid}.record-page-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.record-back{min-height:40px}.record-hero{border-bottom:1px solid var(--border);align-items:center;gap:16px;min-width:0;padding-bottom:20px;display:flex}.record-hero>div:last-child{min-width:0}.record-hero h1{margin:2px 0 4px}.record-hero p{color:var(--ink-muted);margin:0}.record-photo{flex:0 0 76px;width:76px;height:76px;font-size:22px}.record-number{color:var(--ink-muted);margin-top:7px;font-size:12px;font-weight:700;display:inline-block}.record-section{border-bottom:1px solid var(--border);padding:18px 0}.record-section h2{margin:0 0 14px;font-size:16px}.record-section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.record-section-heading h2{margin-bottom:0}.record-definition-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;margin:0;display:grid}.record-definition-list>div{min-width:0}.record-definition-list dt{color:var(--ink-muted);font-size:11px;font-weight:700}.record-definition-list dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:13px;line-height:1.45}.record-contact-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.record-contact{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:4px;min-width:0;padding:12px;font-size:12px;display:grid}.record-contact-primary{border-color:color-mix(in srgb, var(--primary) 38%, var(--border))}.record-contact span,.record-contact a{overflow-wrap:anywhere;min-width:0;color:var(--ink-muted)}.record-contact a{color:var(--primary);text-decoration:none}.record-empty,.record-restricted{color:var(--ink-muted);margin:0;font-size:13px;line-height:1.5}.student-import-draft details{color:var(--ink-muted);margin-top:14px;font-size:11px}.student-import-draft summary{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.student-import-draft pre{background:var(--surface);white-space:pre-wrap;font:inherit;border-radius:8px;margin:8px 0 0;padding:10px;overflow:auto}.student-import-final-summary{background:color-mix(in srgb, var(--success) 10%, var(--surface));color:var(--success);text-align:left;border-radius:12px;gap:7px;padding:18px;display:grid}.student-import-final-summary strong{font-size:38px;line-height:1}.student-import-final-summary small{color:var(--ink-muted)}.student-import-result{display:none}.student-import-adaptive-result{border:1px solid var(--border);background:var(--surface-muted);text-align:center;border-radius:12px;justify-items:center;gap:8px;margin:16px 0;padding:24px 18px;display:grid}.student-import-adaptive-result.success{border-color:color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success)}.student-import-adaptive-result.partial{border-color:color-mix(in srgb, var(--warning) 35%, var(--border));color:var(--warning)}.student-import-adaptive-result.failure{border-color:color-mix(in srgb, var(--danger) 30%, var(--border));color:var(--danger)}.student-import-adaptive-result h2,.student-import-adaptive-result p{margin:0}.student-import-adaptive-result p{color:var(--ink);font-size:13px;font-weight:700}.student-import-adaptive-icon{background:color-mix(in srgb, currentColor 12%, var(--surface));border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.student-import-adaptive-errors{width:min(100%,720px);color:var(--ink);text-align:left;margin:8px 0 0;padding-left:18px;font-size:11px;line-height:1.5}.student-import-result strong{font-size:44px;line-height:1}.student-import-result span{color:var(--ink);font-size:14px;font-weight:700}.student-import-result p{color:var(--danger);font-size:12px}.student-import-result.success{color:var(--success)}.student-import-result.partial{color:var(--warning)}.student-import-result.failure{color:var(--danger)}.student-import-result-message{color:var(--ink);font-size:14px;font-weight:700}.student-import-result-counts{color:var(--ink-muted);flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:11px;display:flex}.student-import-result-counts .success-count{color:var(--success)}.student-import-result-counts .warning-count{color:var(--warning)}.student-import-result-counts .danger-count{color:var(--danger)}.student-import-failures{border:1px solid color-mix(in srgb, var(--danger) 25%, var(--border));width:min(100%,720px);color:var(--ink);text-align:left;border-radius:9px;margin:0;padding:10px 16px;font-size:11px;line-height:1.55}.student-import-failures li+li{margin-top:4px}.student-import-report{width:min(100%,720px);color:var(--ink);text-align:left;margin-top:16px}.student-import-report h3{margin:16px 0 6px;font-size:13px}.student-import-report ul{margin:0;padding-left:18px;font-size:12px;line-height:1.55}.student-import-report small{color:var(--ink-muted);font-size:10px}@media (width>=761px){.student-import-panel{padding:22px}.student-import-file-summary{margin:10px 0;padding:10px 12px}.student-import-summary-strip{margin:10px 0}.student-import-draft{padding:14px 16px}.student-import-draft>header{margin-bottom:10px}.student-import-form-grid{gap:8px 10px}.student-import-structure-list select,.student-import-mapping-row select,.student-import-form-grid input,.student-import-form-grid select{min-height:38px;padding:7px 9px}.student-import-class-interpretation,.student-import-error-summary,.student-import-warning,.student-import-blocking{margin:8px 0;padding:8px 10px}.student-import-photo-review{margin-top:10px;padding-top:10px}.student-import-photo-review h4{margin-bottom:7px}.student-import-draft details{margin-top:8px}.student-import-draft .student-import-actions{flex-wrap:nowrap;align-items:center;margin-top:12px}.student-import-draft .student-import-actions .primary-btn{margin-left:auto}}@media (width>=761px) and (height<=800px){.student-import-draft .student-photo-field{grid-template-columns:72px 1fr;gap:10px}.student-import-draft .student-photo-preview{border-radius:12px;width:72px;height:72px}.student-import-draft .student-photo-actions .outline-btn{min-height:34px;padding:7px 9px}.student-import-draft .student-import-actions{margin-top:10px}}@media (width>=761px) and (height<=820px){.student-import-panel{padding:16px 18px}.student-import-review-header p,.student-import-file-summary small{display:none}.student-import-file-summary,.student-import-summary-strip{margin:8px 0}.student-import-draft{padding:12px 14px}.student-import-draft>header{margin-bottom:8px}.student-import-warning,.student-import-error-summary{margin:8px 0;padding:8px 10px}.student-import-duplicate{grid-template-rows:minmax(32px,auto) minmax(242px,auto) auto auto;margin:8px 0;padding:10px}.student-import-duplicate-heading{margin-bottom:7px}.student-import-duplicate-label,.student-import-duplicate-value{min-height:32px;padding:5px 8px}.student-import-duplicate-photo-row>*{min-height:56px}.student-import-duplicate-photo{width:42px;height:42px}.student-import-duplicate-actions{margin:7px 0 9px}.student-import-form-grid{gap:7px 10px}}@media (width<=760px){.student-file-import-header{flex-direction:column;align-items:stretch}.student-file-import-header>.outline-btn{align-self:flex-start}.student-import-stepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.student-import-stepper button{min-height:50px;font-size:9px}.student-import-mapping-row{grid-template-columns:1fr;gap:7px}.student-import-structure-list article,.student-import-review-header{flex-direction:column;align-items:stretch}.student-import-structure-list label{min-width:0}.student-import-form-grid{grid-template-columns:1fr}.student-import-missing-class{grid-template-columns:1fr;align-items:stretch}.student-import-missing-class .outline-btn{width:100%}.student-import-duplicate{grid-template-rows:auto auto auto auto}.student-import-duplicate-heading{flex-direction:column;align-items:flex-start}.student-import-duplicate-desktop-comparison{display:none}.student-import-duplicate-mobile-summary{gap:8px;display:grid}.student-import-duplicate-mobile-summary p{color:var(--ink-muted);margin:0;font-size:11px;line-height:1.45}.student-import-duplicate-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.student-import-duplicate-column-heading:first-child{display:none}.student-import-duplicate-row .student-import-duplicate-label{border-bottom:0;grid-column:1/-1;min-height:0;padding:8px 10px 4px}.student-import-duplicate-row .student-import-duplicate-value{min-height:38px}.student-import-duplicate-actions{bottom:calc(8px + env(safe-area-inset-bottom));z-index:3;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 96%, transparent);box-shadow:0 8px 18px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:9px;margin:10px 0;padding:8px;position:sticky}.student-import-duplicate-actions .outline-btn,.student-import-duplicate-actions .primary-btn{flex:100%;min-height:44px}.student-import-duplicate-mobile-details{margin-top:0;display:block}.student-import-duplicate-mobile-details .student-import-duplicate-comparison{margin-top:8px}.student-import-actions{z-index:2;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:20px -20px -20px;position:sticky;bottom:0}.record-page{gap:16px}.record-page-header{align-items:stretch}.record-page-header .outline-btn,.record-page-header .primary-btn{flex:1 1 0;justify-content:center}.record-hero{align-items:flex-start;gap:12px;padding-bottom:16px}.record-photo{flex-basis:62px;width:62px;height:62px}.record-definition-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}.record-section-heading{align-items:stretch;display:grid}.record-section-heading .local-search{width:100%}}@keyframes backdrop-in{0%{opacity:0}}@media (width<=900px){.page-wrap{padding-top:20px}.dashboard-hero{min-height:205px;padding:26px}.dashboard-hero-logo{width:280px;height:280px;right:-5%}.dashboard-school{margin-bottom:20px}}@media (width<=600px){.page-wrap{padding-top:14px}.dashboard-hero{border-radius:22px;align-items:flex-end;min-height:226px;padding:22px 20px}.dashboard-hero-copy{width:100%}.dashboard-school{margin-bottom:24px}.dashboard-school>img{width:42px;height:42px}.dashboard-hero h1{max-width:82%;font-size:27px}.dashboard-hero-copy>p:not(.eyebrow){max-width:85%;font-size:11px}.dashboard-hero-action{position:absolute;top:18px;right:18px}.dashboard-hero-action .primary-btn span,.dashboard-hero-action .primary-btn small{display:none}.dashboard-hero-action .primary-btn{border-radius:50%;justify-content:center;width:42px;height:42px;padding:0;font-size:0}.dashboard-hero-action .outline-btn{padding:9px 11px;font-size:0}.dashboard-hero-action .outline-btn b{font-size:9px}.dashboard-hero-logo{opacity:.07;width:250px;height:250px;bottom:-26%;right:-20%}.stats-grid{gap:10px}.stat-card{min-height:112px;padding:16px}.stat-card strong{font-size:22px}.parent-hero{padding:22px 20px}.photo-publication .album-art{height:230px}.photo-publication:hover{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.photo-publication .album-art>img{object-fit:contain;background:color-mix(in srgb, var(--surface-muted) 88%, var(--surface));padding:8px}.publication-open:hover .album-art>img{transform:scale(.995)}.login-shell{background:radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--secondary-soft) 60%, transparent), transparent 28rem), radial-gradient(circle at 10% 90%, color-mix(in srgb, var(--primary-soft) 40%, transparent), transparent 24rem), var(--background);place-items:center;min-height:100vh;padding:24px 16px;display:grid;position:relative;overflow:hidden}.login-bg-accent{pointer-events:none;background:radial-gradient(circle at 50% -20%, color-mix(in srgb, var(--primary) 6%, transparent), transparent 50%);position:absolute;inset:0}.login-card{z-index:1;background:var(--surface);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:var(--radius-lg);width:min(420px,100%);box-shadow:var(--shadow-md);padding:40px 36px 32px;animation:.34s cubic-bezier(.22,1,.36,1) both modal-in;position:relative}.login-header{text-align:center;margin-bottom:28px}.login-logo{border:1px solid color-mix(in srgb, var(--secondary) 30%, var(--border));background:var(--surface);width:68px;height:68px;box-shadow:0 8px 22px color-mix(in srgb, var(--primary) 10%, transparent);border-radius:18px;place-items:center;margin:0 auto 16px;padding:4px;display:grid;overflow:hidden}.login-logo img{object-fit:contain;width:100%;height:100%}.login-title{letter-spacing:-.03em;color:var(--ink);margin:6px 0 4px;font-size:clamp(18px,4vw,22px);font-weight:740}.login-school-sub{color:var(--ink-muted);margin:0;font-size:12px}.login-form{flex-direction:column;gap:14px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--ink-muted);letter-spacing:.02em;font-size:11px;font-weight:700}.login-field input{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);min-height:46px;color:var(--ink);transition:border-color var(--motion), box-shadow var(--motion);padding:0 14px;font-size:13px}.login-field input:focus{border-color:color-mix(in srgb, var(--primary) 50%, var(--border));box-shadow:0 0 0 4px var(--primary-soft);outline:none}.login-field input:disabled{opacity:.6;cursor:not-allowed}.login-password-wrap{position:relative}.login-password-wrap input{width:100%;padding-right:46px}.login-eye{color:var(--ink-muted);transition:color var(--motion);background:0 0;border:0;place-items:center;padding:4px;display:grid;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-eye:hover{color:var(--primary)}.login-error{border-radius:var(--radius-xs);background:var(--primary-soft);color:var(--danger);margin:0;padding:10px 12px;font-size:11px;line-height:1.5}.login-submit{width:100%;min-height:46px;transition:transform var(--motion), box-shadow var(--motion), background var(--motion);justify-content:center;margin-top:4px;font-size:13px}.login-submit:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.login-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.login-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;display:flex}.login-lang{border-radius:8px!important;gap:4px!important;height:30px!important;padding:0 8px!important;font-size:11px!important}.login-version{color:var(--ink-muted);opacity:.65;font-size:10px}@media (width<=480px){.login-card{padding:30px 22px 24px}.login-logo{width:58px;height:58px}}.collection-toolbar{flex-wrap:wrap;align-items:center}.collection-toolbar>select{flex:0 180px;min-width:146px}.collection-view-selector{min-height:var(--touch);border:1px solid var(--border);background:var(--surface);border-radius:11px;align-items:center;gap:3px;padding:3px;display:inline-flex}.collection-view-selector button{min-height:34px;color:var(--ink-muted);font:inherit;cursor:pointer;transition:background var(--motion), color var(--motion), box-shadow var(--motion);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.collection-view-selector button:hover{background:var(--surface-muted);color:var(--ink)}.collection-view-selector button[aria-pressed=true]{background:var(--primary-soft);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 17%, var(--border))}.collection-view-selector button:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 34%, transparent);outline-offset:2px}.gender-statistics{border:1px solid var(--border);background:var(--surface-muted);color:var(--ink-muted);border-radius:11px;flex-wrap:wrap;align-items:center;gap:7px 14px;margin:0 0 16px;padding:9px 12px;font-size:11px;display:flex}.gender-statistics span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.gender-statistics strong{color:var(--ink);font-size:12px}.gender-statistics [data-tone=female] svg{color:#bc5a92}.gender-statistics [data-tone=male] svg{color:var(--primary)}.gender-statistics [data-tone=unspecified] svg{color:var(--ink-muted)}.collection-card-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.collection-card-actions .student-soon{flex:1;justify-content:center}.student-collection-card .collection-card-actions{border-top:0;margin-top:12px;padding-top:0}.student-detail-grid,.class-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.student-detail-card,.class-detail-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs);padding:20px}.student-detail-card>header,.class-detail-card>header{align-items:flex-start;gap:12px;display:flex}.student-detail-card>header .student-photo,.class-detail-card>header .student-photo{flex:none;width:56px;min-width:56px;height:56px;min-height:56px;margin:0}.student-detail-card>header h3,.class-detail-card>header h3{color:var(--ink);margin:0;font-size:14px;line-height:1.35}.student-detail-card>header p,.class-detail-card>header p{color:var(--ink-muted);margin:3px 0;font-size:11px}.student-detail-card>header small{color:var(--ink-muted);font-size:10px}.student-detail-card>header .outline-btn,.class-detail-card>header .outline-btn{margin-left:auto}.student-detail-card dl{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:18px 0 0;padding-top:16px;display:grid}.student-detail-card dl>div{min-width:0}.student-detail-card dt{color:var(--ink-muted);text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:700}.student-detail-card dd{overflow-wrap:anywhere;min-width:0;color:var(--ink);margin:0;font-size:11px;line-height:1.45}.class-detail-card .gender-statistics{margin:18px 0 0}.collection-status{background:var(--primary-soft);max-width:100%;color:var(--primary);border-radius:999px;align-items:center;padding:4px 7px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.collection-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;box-shadow:var(--shadow-xs);overflow:hidden}.collection-table{border-collapse:collapse;table-layout:fixed;width:100%}.collection-table th,.collection-table td{border-bottom:1px solid var(--border);min-width:0;color:var(--ink);text-align:left;vertical-align:middle;overflow-wrap:anywhere;padding:12px 14px;font-size:11px;line-height:1.4}.collection-table th{color:var(--ink-muted);background:var(--surface-muted);text-transform:uppercase;font-size:9px;font-weight:700}.collection-table th:last-child,.collection-table td:last-child{text-align:right;width:48px}.collection-table tbody tr:last-child td{border-bottom:0}.collection-table tbody tr:hover{background:color-mix(in srgb, var(--primary-soft) 44%, var(--surface))}.table-record-link{width:100%;color:var(--primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-items:start;gap:2px;padding:0;font-weight:700;display:grid}.table-record-link small{color:var(--ink-muted);font-size:10px;font-weight:500}.table-edit{min-width:34px;min-height:34px;padding:7px}@media (width<=760px){.collection-toolbar>select{flex:calc(50% - 6px);min-width:0}.collection-view-selector{width:100%}.collection-view-selector button{flex:1}.student-detail-grid,.class-detail-grid{grid-template-columns:1fr;gap:12px}.student-detail-card,.class-detail-card{padding:16px}.student-detail-card dl{grid-template-columns:1fr;gap:10px}.collection-table{table-layout:auto;display:block}.collection-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.collection-table tbody{gap:0;display:grid}.collection-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:11px 10px;display:grid}.collection-table tbody tr:last-child{border-bottom:0}.collection-table th,.collection-table td{border:0;padding:0;font-size:10px}.collection-table td{display:none}.collection-table td:first-child,.collection-table td:nth-child(2),.collection-table td[data-summary=true],.collection-table td:last-child{display:block}.collection-table td:first-child{grid-column:1;font-size:11px}.collection-table td:nth-child(2),.collection-table td[data-summary=true]{color:var(--ink-muted);grid-column:1}.collection-table td:last-child{text-align:right;grid-area:1/2/span 3;width:auto;padding:0}.collection-table [data-optional=true]{display:none}}@media (width<=440px){.collection-toolbar>select{flex-basis:100%}.gender-statistics{gap:7px 10px;font-size:10px}.student-detail-card>header .student-photo,.class-detail-card>header .student-photo{width:48px;min-width:48px;height:48px;min-height:48px}}.sidebar{min-height:100vh;overflow:hidden}.sidebar nav{flex:auto;min-height:0;padding-bottom:10px;overflow-y:auto}.sidebar-bottom{flex-direction:column;flex:none;gap:6px;padding-top:8px;display:flex}.user-mini{flex:none}.sidebar-bottom .sidebar-logout{width:100%;min-height:var(--touch);color:var(--ink-muted);text-align:left;pointer-events:auto;background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:650;line-height:1.2;display:flex}.sidebar-bottom .sidebar-logout span{flex:auto;min-width:0}.sidebar-bottom .sidebar-logout:hover,.sidebar-bottom .sidebar-logout:focus-visible{background:var(--primary-soft);color:var(--primary)}@media (width<=780px){.topbar .menu-btn{display:grid}.sidebar{height:100dvh;min-height:100svh;max-height:none;padding:18px 16px calc(10px + env(safe-area-inset-bottom));overflow:hidden}.sidebar nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:auto;min-height:0;padding:0 2px 8px;overflow-y:auto}.sidebar-bottom{border-top:1px solid var(--border);background:var(--surface);flex:none;gap:8px;margin-top:auto;padding:12px 4px 0}.sidebar-bottom>p{display:none}.user-mini{border-bottom:0;align-items:center;gap:10px;padding:4px 2px 0;display:flex}.user-mini>div{grid-template-columns:minmax(0,1fr);gap:2px;min-width:0;display:grid}.user-mini>div:after{content:"v0.1";color:var(--ink-muted);font-size:9px;line-height:1.2}.sidebar-bottom .sidebar-logout{border:1px solid var(--border);background:var(--surface-muted);min-height:44px;color:var(--ink);border-radius:12px;justify-content:center;padding:10px 12px}.sidebar-bottom .sidebar-logout span{flex:0 auto;font-size:12px}.sidebar-bottom .sidebar-logout:hover,.sidebar-bottom .sidebar-logout:focus-visible{background:var(--primary-soft);color:var(--primary)}}.hianma-auth-shell,.hianma-auth-shell *{box-sizing:border-box}.hianma-auth-shell{color:#0f1e40;background:#f8fafc;place-items:center;width:100%;height:100dvh;min-height:100svh;padding:clamp(18px,3.1vh,36px) 24px;font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;position:fixed;inset:0;overflow:hidden}.hianma-auth-shell:before,.hianma-auth-shell:after{content:"";z-index:0;pointer-events:none;position:absolute}.hianma-auth-shell:before{opacity:.52;background-image:linear-gradient(#2563eb09 1px,#0000 1px),linear-gradient(90deg,#2563eb09 1px,#0000 1px);background-size:64px 64px;inset:0;-webkit-mask-image:radial-gradient(72% 72%,#000 0%,#0000 78%);mask-image:radial-gradient(72% 72%,#000 0%,#0000 78%)}.hianma-auth-shell:after{opacity:.28;background-image:radial-gradient(circle,#2563eb1f 0 1.5px,#0000 1.7px);background-size:24px 24px;width:220px;height:176px;top:12%;left:6%;-webkit-mask-image:linear-gradient(135deg,#000 0%,#0000 78%);mask-image:linear-gradient(135deg,#000 0%,#0000 78%)}.hianma-auth-card{z-index:1;background:#fff;border:1px solid #e5e7ebdb;border-radius:34px;flex-direction:column;align-items:center;width:min(680px,100%);max-height:calc(100dvh - 36px);margin-top:clamp(0px,1.5vh,16px);padding:clamp(30px,4.2vh,54px) clamp(28px,7vw,88px) clamp(28px,3.8vh,46px);animation:.25s ease-out both hianma-auth-card-in;display:flex;position:relative;box-shadow:0 20px 56px #0f1e400f}.hianma-auth-card-header{text-align:center;justify-items:center;width:100%;display:grid;position:relative}.hianma-auth-card-header:before{content:"";filter:blur(22px);opacity:0;pointer-events:none;background:#2563eb0b;border-radius:50%;width:clamp(160px,22vw,210px);height:clamp(72px,9vw,92px);animation:.6s ease-out .12s forwards hianma-auth-logo-halo;position:absolute;top:clamp(18px,2.8vh,28px);left:50%;transform:translate(-50%,-10px)scale(.92)}.hianma-auth-logo{z-index:1;object-fit:contain;width:clamp(218px,34vw,294px);height:auto;margin:0 0 clamp(36px,5vh,48px);display:block;position:relative}.hianma-auth-card-header h1{color:#0f1e40;letter-spacing:0;margin:0;font-size:clamp(2.2rem,4vw,2.85rem);font-weight:800;line-height:1.08}.hianma-auth-card-header p{color:#64748b;letter-spacing:0;margin:16px 0 clamp(28px,3.8vh,40px);font-size:clamp(1rem,2vw,1.18rem);line-height:1.55}.hianma-public-card{min-height:auto}.hianma-public-eyebrow{text-transform:uppercase;font-weight:700;color:#2563eb!important;margin:0 0 18px!important;font-size:.8rem!important}.hianma-public-title{font-variant-ligatures:none;letter-spacing:.015em}.hianma-public-actions{gap:12px;width:min(100%,520px);margin-top:8px;display:grid}.hianma-public-actions .hianma-auth-submit{width:100%;margin-top:0}.hianma-public-logout{color:#64748b;min-height:42px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.hianma-public-logout:hover{color:#2563eb;background:#eff6ff}.hianma-public-logout:focus-visible{outline:none;box-shadow:0 0 0 4px #2563eb2e}.hianma-auth-form{gap:clamp(16px,2.1vh,22px);width:min(100%,520px);display:grid}.hianma-auth-field{gap:9px;display:grid}.hianma-auth-field label{color:#0f1e40;letter-spacing:0;font-size:1rem;font-weight:700}.hianma-auth-input-wrap{color:#64748b;background:#fff;border:1px solid #e5e7eb;border-radius:16px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:0 18px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.hianma-auth-input-wrap:hover{border-color:#2563eb47}.hianma-auth-input-wrap:focus-within{border-color:#2563eb;transform:translateY(-1px);box-shadow:0 0 0 4px #2563eb1f,0 12px 30px #0f1e400f}.hianma-auth-input-wrap input{color:#0f1e40;caret-color:#2563eb;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:none;font-size:1.08rem}.hianma-auth-input-wrap input::placeholder{color:#64748b;opacity:.9}.hianma-auth-input-wrap input:disabled{cursor:not-allowed}.hianma-auth-password-wrap{grid-template-columns:34px minmax(0,1fr) 44px;padding-right:8px}.hianma-auth-eye{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;transition:color .18s,background .18s,box-shadow .18s;display:inline-flex}.hianma-auth-eye:hover{color:#2563eb;background:#f8fafc}.hianma-auth-eye:focus-visible,.hianma-auth-submit:focus-visible,.hianma-auth-language-button:focus-visible,.hianma-auth-language-option:focus-visible{outline:none;box-shadow:0 0 0 4px #2563eb2e}.hianma-auth-error{color:#ef4444;background:#ef444413;border:1px solid #ef44443d;border-radius:14px;margin:0;padding:12px 14px;font-size:.92rem;line-height:1.45}.hianma-auth-submit{isolation:isolate;color:#fff;min-height:58px;font:inherit;cursor:pointer;background:#2563eb;border:0;border-radius:14px;justify-content:center;align-items:center;gap:14px;margin-top:clamp(6px,1.2vh,12px);font-size:1.16rem;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 18px 32px #2563eb33}.hianma-auth-submit:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(105deg,#0000,#fff3,#0000);width:34%;animation:.9s ease-out .42s both hianma-auth-button-sheen;position:absolute;inset:0;transform:translate(-180%)skew(-18deg)}.hianma-auth-submit>*{z-index:1;position:relative}.hianma-auth-submit:hover:not(:disabled){background:#1d4ed8;transform:translateY(-2px);box-shadow:0 22px 38px #2563eb3d}.hianma-auth-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 14px 24px #2563eb33}.hianma-auth-submit:disabled{cursor:progress;opacity:.78}.hianma-auth-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.78s linear infinite hianma-auth-spin}@keyframes hianma-auth-spin{to{transform:rotate(360deg)}}@keyframes hianma-auth-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hianma-auth-logo-halo{0%{opacity:0;transform:translate(-50%,-10px)scale(.92)}to{opacity:.72;transform:translate(-50%)scale(1)}}.hianma-auth-meta{color:#64748b;justify-items:center;gap:clamp(14px,2vh,22px);width:min(100%,520px);margin-top:clamp(24px,3.4vh,34px);display:grid}.hianma-auth-language{z-index:12;width:min(272px,100%);position:relative}.hianma-auth-language-button{color:#64748b;cursor:pointer;width:100%;min-height:52px;font:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:16px;grid-template-columns:28px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:0 20px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.hianma-auth-language-button:hover,.hianma-auth-language-button[aria-expanded=true]{border-color:#2563eb52;transform:translateY(-1px);box-shadow:0 12px 28px #0f1e4012}.hianma-auth-language-value{color:#0f1e40;text-align:left;font-size:1rem;font-weight:600;line-height:1}.hianma-auth-language-chevron{pointer-events:none;transition:transform .16s}.hianma-auth-language-button[aria-expanded=true] .hianma-auth-language-chevron{transform:rotate(180deg)}.hianma-auth-language-menu{z-index:40;overscroll-behavior:contain;transform-origin:top;background:#fff;border:1px solid #e5e7eb;border-radius:16px;gap:4px;width:100%;max-height:min(176px,100dvh - 24px);padding:6px;animation:.15s ease-out hianma-auth-menu-in-down;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 16px 32px #0f1e401a}.hianma-auth-language-menu.is-up{transform-origin:bottom;animation-name:hianma-auth-menu-in-up;top:auto;bottom:calc(100% + 8px)}.hianma-auth-language-menu.is-closing{pointer-events:none;animation:.14s ease-in forwards hianma-auth-menu-out-down}.hianma-auth-language-menu.is-up.is-closing{animation-name:hianma-auth-menu-out-up}.hianma-auth-language-menu::-webkit-scrollbar{width:8px}.hianma-auth-language-menu::-webkit-scrollbar-thumb{background:#e5e7eb;border:2px solid #fff;border-radius:999px}@keyframes hianma-auth-button-sheen{0%{transform:translate(-180%)skew(-18deg)}to{transform:translate(470%)skew(-18deg)}}@keyframes hianma-auth-menu-in-down{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hianma-auth-menu-in-up{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hianma-auth-menu-out-down{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes hianma-auth-menu-out-up{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(4px)scale(.98)}}.hianma-auth-language-option{color:#0f1e40;cursor:pointer;min-height:44px;font:inherit;text-align:left;background:#fff;border:0;border-radius:10px;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:10px;padding:0 12px;font-size:.96rem;font-weight:650;transition:background .14s,color .14s,transform .14s;display:grid}.hianma-auth-language-option:hover,.hianma-auth-language-option.is-highlighted{color:#0f1e40;background:#eff6ff}.hianma-auth-language-option.is-selected{color:#fff;background:#2563eb}.hianma-auth-language-option.is-selected:hover,.hianma-auth-language-option.is-selected.is-highlighted{color:#fff;background:#1d4ed8}.hianma-auth-language-option svg{justify-self:end}.hianma-auth-language-option.is-selected svg{color:#fff}.hianma-auth-secure,.hianma-auth-help{color:#64748b;text-align:center;justify-content:center;align-items:center;gap:12px;margin:0;font-size:1rem;line-height:1.5;display:inline-flex}.hianma-auth-version{color:#64748b;margin:-6px 0 0;font-size:.96rem;line-height:1.2}.hianma-auth-help{flex-wrap:wrap;margin-top:clamp(18px,2.8vh,30px)}.hianma-auth-help a{color:#2563eb;font-weight:700;text-decoration:none}.hianma-auth-help a:hover{text-decoration:underline}@media (height<=760px) and (width>=721px){.hianma-auth-shell{padding:16px 24px}.hianma-auth-card{max-height:calc(100dvh - 24px);padding-top:26px;padding-bottom:24px}.hianma-auth-logo{width:260px;margin-bottom:24px}.hianma-auth-card-header h1{font-size:2.35rem}.hianma-auth-card-header p{margin-bottom:22px}.hianma-auth-input-wrap,.hianma-auth-submit{min-height:52px}.hianma-auth-meta{gap:12px;margin-top:18px}.hianma-auth-language-button{min-height:46px}.hianma-auth-help{margin-top:16px}}@media (width<=720px){.hianma-auth-shell{height:100dvh;min-height:100svh;padding:18px 20px}.hianma-auth-orb-top{width:230px;height:230px;top:-95px;right:-95px}.hianma-auth-orb-bottom{width:220px;height:220px;bottom:-105px;left:-105px}.hianma-auth-dots{background-size:22px 22px;width:100px;height:150px}.hianma-auth-dots-left{top:30px;left:-12px}.hianma-auth-dots-right{bottom:28px;right:-10px}.hianma-auth-shell:before,.hianma-auth-shell:after{opacity:.12}.hianma-auth-shell:after{display:none}.hianma-auth-card{border-radius:28px;width:100%;max-height:calc(100dvh - 24px);margin-top:0;padding:30px 22px 24px}.hianma-auth-logo{width:min(240px,78vw);margin-bottom:30px}.hianma-auth-card-header h1{font-size:2.2rem}.hianma-auth-card-header p{margin-bottom:24px;font-size:1rem}.hianma-auth-form{gap:16px}.hianma-auth-field label,.hianma-auth-secure,.hianma-auth-help,.hianma-auth-language-value{font-size:.94rem}.hianma-auth-input-wrap,.hianma-auth-submit{min-height:52px}.hianma-auth-input-wrap input{font-size:1rem}.hianma-auth-meta{gap:13px;margin-top:22px}.hianma-auth-language-button{min-height:48px}.hianma-auth-help{margin-top:18px}}@media (width<=380px),(height<=700px){.hianma-auth-card{padding-top:22px;padding-bottom:20px}.hianma-auth-logo{width:min(230px,76vw);margin-bottom:20px}.hianma-auth-card-header h1{font-size:1.95rem}.hianma-auth-card-header p{margin:10px 0 18px}.hianma-auth-form,.hianma-auth-meta{gap:12px}.hianma-auth-input-wrap,.hianma-auth-submit{min-height:48px}.hianma-auth-meta{margin-top:16px}.hianma-auth-language-button{min-height:46px}.hianma-auth-help{margin-top:12px}}@media (prefers-reduced-motion:reduce){.hianma-auth-card,.hianma-auth-card-header:before,.hianma-auth-submit:after,.hianma-auth-spinner,.hianma-auth-language-menu{transition-duration:.01ms!important;animation:none!important}}.intelligence-page{gap:20px;padding-bottom:20px;display:grid}.intelligence-hero{border:1px solid color-mix(in srgb, var(--primary) 20%, var(--border));background:radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--primary) 24%, transparent), transparent 34%), linear-gradient(135deg, color-mix(in srgb, var(--primary) 92%, #241216), color-mix(in srgb, var(--primary) 68%, #402229));color:#fff;border-radius:26px;align-items:flex-end;gap:22px;min-height:210px;padding:30px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 42px #3d1d2329}.intelligence-hero:after{content:"";border:1px solid #ffffff24;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-150px;right:-100px;box-shadow:0 0 0 34px #ffffff09,0 0 0 68px #ffffff06}.intelligence-hero-mark{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff3d;border-radius:18px;flex:0 0 58px;place-items:center;width:58px;height:58px;display:grid;position:relative}.intelligence-hero-copy{z-index:1;max-width:850px;position:relative}.intelligence-hero-topline{align-items:center;gap:12px;margin-bottom:7px;display:flex}.intelligence-hero .eyebrow{color:#ffe8a1e6;margin:0}.intelligence-hero h1{letter-spacing:-.04em;max-width:720px;margin:0;font-size:clamp(28px,4vw,42px);line-height:1.08}.intelligence-hero-copy>p{color:#ffffffc2;max-width:720px;margin:10px 0 0;font-size:14px;line-height:1.6}.intelligence-demo-badge{color:#ffffffe6;letter-spacing:.04em;text-transform:uppercase;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:9px;font-weight:750;display:inline-flex}.intelligence-hero-meta{flex-wrap:wrap;gap:10px 18px;margin-top:18px;display:flex}.intelligence-hero-meta span{color:#ffffffc7;align-items:center;gap:6px;font-size:10px;font-weight:650;display:inline-flex}.intelligence-primary-grid,.intelligence-secondary-grid{gap:20px;display:grid}.intelligence-primary-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.intelligence-secondary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.intelligence-card{border:1px solid var(--border);background:var(--surface);border-radius:22px;min-width:0;padding:24px;box-shadow:0 10px 32px #2523210e}.intelligence-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.intelligence-card-heading .eyebrow{margin:0 0 5px}.intelligence-card-heading h2{letter-spacing:-.025em;margin:0;font-size:20px}.intelligence-heading-icon{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:12px;flex:0 0 38px;place-items:center;display:grid}.intelligence-card-intro{color:var(--ink-muted);margin:9px 0 0;font-size:12px;line-height:1.55}.intelligence-health-summary{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:22px;margin-top:22px;display:grid}.intelligence-score{--score:0deg;aspect-ratio:1;background:conic-gradient(var(--primary) var(--score), color-mix(in srgb, var(--border) 70%, transparent) 0);border-radius:50%;place-items:center;width:132px;display:grid;position:relative}.intelligence-score:after{content:"";background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);border-radius:50%;position:absolute;inset:11px}.intelligence-score>div{z-index:1;align-items:baseline;display:flex;position:relative}.intelligence-score strong{letter-spacing:-.05em;font-size:38px;line-height:1}.intelligence-score span{color:var(--ink-muted);font-size:12px;font-weight:700}.intelligence-health-copy>strong{margin-top:8px;font-size:17px;display:block}.intelligence-health-copy p{color:var(--ink-muted);margin:6px 0 0;font-size:11px;line-height:1.55}.intelligence-trend{border-radius:999px;align-items:center;gap:4px;padding:5px 8px;font-size:10px;font-weight:750;display:inline-flex}.intelligence-trend.positive{color:#267451;background:#2f8f631f}.intelligence-trend.critical{color:#9b3544;background:#b84b581f}.intelligence-health-metrics{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.intelligence-health-metric{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, var(--background));border-radius:14px;padding:13px}.intelligence-health-metric>div:first-child{justify-content:space-between;gap:10px;font-size:11px;display:flex}.intelligence-health-metric>div:first-child span{font-weight:800}.intelligence-health-metric p{color:var(--ink-muted);margin:7px 0 0;font-size:9px;line-height:1.45}.intelligence-progress{background:color-mix(in srgb, var(--border) 70%, transparent);border-radius:99px;height:5px;margin-top:8px;overflow:hidden}.intelligence-progress span{border-radius:inherit;background:var(--primary);height:100%;display:block}.tone-positive .intelligence-progress span{background:#2f8f63}.tone-attention .intelligence-progress span{background:#c28b2c}.tone-critical .intelligence-progress span{background:#b84b58}.intelligence-priority-list{gap:10px;margin-top:18px;display:grid}.intelligence-priority{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--background));border-radius:16px;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px;display:grid}.intelligence-priority-index{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);border-radius:10px;place-items:center;font-size:11px;font-weight:800;display:grid}.intelligence-priority.tone-critical .intelligence-priority-index{color:#9b3544;background:#b84b581f}.intelligence-priority.tone-attention .intelligence-priority-index{color:#8c6019;background:#c28b2c26}.intelligence-priority-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.intelligence-priority h3{margin:0;font-size:13px}.intelligence-priority-title span{background:var(--background);color:var(--ink-muted);border-radius:99px;flex:none;padding:4px 7px;font-size:8px;font-weight:750}.intelligence-priority p{color:var(--ink-muted);margin:5px 0 0;font-size:10px;line-height:1.5}.intelligence-priority button{color:var(--primary);background:0 0;border:0;align-items:center;gap:5px;margin-top:8px;padding:0;font-size:10px;font-weight:750;display:inline-flex}.intelligence-activity-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.intelligence-activity-metric{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 91%, var(--background));border-radius:17px;min-height:145px;padding:16px;position:relative}.intelligence-activity-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:11px;place-items:center;display:grid}.intelligence-activity-metric.tone-positive .intelligence-activity-icon{color:#267451;background:#2f8f631f}.intelligence-activity-metric.tone-attention .intelligence-activity-icon{color:#8c6019;background:#c28b2c26}.intelligence-activity-metric>div{align-items:baseline;gap:4px;display:flex;position:absolute;top:15px;right:15px}.intelligence-activity-metric>div strong{letter-spacing:-.04em;font-size:25px}.intelligence-activity-metric>div small{color:var(--ink-muted);font-size:8px}.intelligence-activity-metric h3{margin:20px 0 0;font-size:12px}.intelligence-activity-metric p{color:var(--ink-muted);margin:5px 0 0;font-size:9px;line-height:1.45}.intelligence-alert-list{gap:10px;margin-top:18px;display:grid}.intelligence-alert{border:1px solid var(--border);border-radius:15px;grid-template-columns:36px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:13px;display:grid}.intelligence-alert.tone-critical{border-color:color-mix(in srgb, #b84b58 30%, var(--border));background:color-mix(in srgb, #b84b58 5%, var(--surface))}.intelligence-alert.tone-attention{border-color:color-mix(in srgb, #c28b2c 28%, var(--border));background:color-mix(in srgb, #c28b2c 5%, var(--surface))}.intelligence-alert-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:11px;place-items:center;display:grid}.intelligence-alert.tone-critical .intelligence-alert-icon{color:#9b3544;background:#b84b581f}.intelligence-alert.tone-attention .intelligence-alert-icon{color:#8c6019;background:#c28b2c26}.intelligence-alert-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.intelligence-alert h3{margin:0;font-size:12px}.intelligence-alert-title span{color:var(--ink-muted);flex:none;font-size:8px;font-weight:750}.intelligence-alert p{color:var(--ink-muted);margin:4px 0 0;font-size:9px;line-height:1.45}.intelligence-alert button{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--primary);border-radius:10px;place-items:center;display:grid}.intelligence-footnote{border:1px dashed var(--border);color:var(--ink-muted);border-radius:15px;align-items:flex-start;gap:9px;padding:14px 16px;display:flex}.intelligence-footnote svg{color:var(--primary);flex:none;margin-top:1px}.intelligence-footnote p{margin:0;font-size:10px;line-height:1.5}.intelligence-footnote strong{color:var(--ink)}@media (width<=1050px){.intelligence-primary-grid,.intelligence-secondary-grid{grid-template-columns:1fr}}@media (width<=720px){.intelligence-page{gap:14px}.intelligence-hero{border-radius:22px;align-items:flex-start;min-height:240px;padding:22px 19px}.intelligence-hero-mark{border-radius:15px;flex-basis:46px;width:46px;height:46px}.intelligence-hero h1{font-size:29px}.intelligence-hero-copy>p{font-size:12px}.intelligence-hero-meta{gap:8px;margin-top:14px}.intelligence-card{border-radius:19px;padding:18px}.intelligence-health-summary{grid-template-columns:104px minmax(0,1fr);gap:16px}.intelligence-score{width:104px}.intelligence-score strong{font-size:30px}.intelligence-health-metrics,.intelligence-activity-grid{grid-template-columns:1fr}.intelligence-activity-metric{min-height:126px}.intelligence-priority-title,.intelligence-alert-title{display:block}.intelligence-priority-title span,.intelligence-alert-title span{margin-top:5px;display:inline-block}}@media (width<=430px){.intelligence-hero{display:block}.intelligence-hero-mark{margin-bottom:18px}.intelligence-health-summary{grid-template-columns:1fr}.intelligence-score{width:118px;margin:0 auto}.intelligence-alert{grid-template-columns:34px minmax(0,1fr)}.intelligence-alert button{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){.intelligence-page *{scroll-behavior:auto}}.intelligence-state{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:24px;justify-content:center;align-items:center;gap:18px;min-height:320px;padding:36px;display:flex;box-shadow:0 10px 32px #2523210e}.intelligence-state-icon{background:var(--primary-soft);width:52px;height:52px;color:var(--primary);border-radius:16px;flex:0 0 52px;place-items:center;display:grid}.intelligence-state-icon.is-loading svg{animation:.9s linear infinite intelligence-spin}.intelligence-state h1{letter-spacing:-.025em;margin:0;font-size:22px}.intelligence-state p{max-width:560px;color:var(--ink-muted);margin:8px 0 0;font-size:12px;line-height:1.6}.intelligence-state button{background:var(--primary);color:#fff;border:0;border-radius:11px;align-items:center;gap:7px;margin-top:16px;padding:9px 13px;font-size:11px;font-weight:750;display:inline-flex}@keyframes intelligence-spin{to{transform:rotate(360deg)}}@media (width<=620px){.intelligence-state{justify-content:flex-start;align-items:flex-start;min-height:260px;padding:24px 20px}}.attendance-page{gap:18px;display:grid}.attendance-hero{border:1px solid var(--border,#e7e7e7);background:linear-gradient(135deg,#b91c2c14,#e5a90014);border-radius:24px;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:24px;display:grid;position:relative;overflow:hidden}.attendance-hero h1{margin:2px 0 6px;font-size:clamp(1.65rem,3vw,2.35rem)}.attendance-hero p{max-width:760px;margin:0}.attendance-hero-icon{background:var(--primary,#b91c2c);color:#fff;border-radius:18px;place-items:center;width:58px;height:58px;display:grid}.attendance-privacy{color:var(--muted,#667085);grid-column:2;align-items:center;gap:7px;font-size:.85rem;display:flex}.attendance-toolbar{border:1px solid var(--border,#e7e7e7);background:var(--surface,#fff);border-radius:18px;grid-template-columns:minmax(170px,.7fr) minmax(240px,1.3fr) auto;align-items:end;gap:12px;padding:16px;display:grid}.attendance-toolbar label,.attendance-note{gap:6px;display:grid}.attendance-toolbar label>span,.attendance-note>span{color:var(--muted,#667085);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.attendance-toolbar input,.attendance-toolbar select,.attendance-note input{border:1px solid var(--border,#d9dce1);width:100%;min-height:43px;color:inherit;background:#fff;border-radius:12px;padding:9px 12px}.attendance-all-present{white-space:nowrap;min-height:43px}.attendance-summary{border:1px solid var(--border,#e7e7e7);background:var(--surface,#fff);border-radius:18px;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.attendance-summary>div:first-child{gap:3px;display:grid}.attendance-summary>div:first-child span{color:var(--muted,#667085);font-size:.88rem}.attendance-summary-counts{flex-wrap:wrap;gap:8px;display:flex}.attendance-summary-counts span{background:#f4f4f5;border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:.82rem;font-weight:800;display:inline-flex}.attendance-summary-counts .present{color:#087a55;background:#e9f8f1}.attendance-summary-counts .absent{color:#b42318;background:#fff0ee}.attendance-summary-counts .late{color:#a15c00;background:#fff6df}.attendance-summary-counts .excused{color:#3553a4;background:#edf2ff}.attendance-summary-counts .unmarked{color:#596273;background:#f1f3f6}.attendance-completion{color:#9a4f00;background:#fff6df;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:.82rem;font-weight:800;display:inline-flex}.attendance-completion.complete{color:#087a55;background:#e9f8f1}.attendance-list{gap:10px;display:grid}.attendance-row{border:1px solid var(--border,#e3e5e8);background:var(--surface,#fff);border-left:4px solid #c8cdd5;border-radius:16px;grid-template-columns:minmax(210px,1fr) minmax(420px,1.8fr);align-items:center;gap:12px;padding:14px 16px;display:grid;box-shadow:0 2px 10px #10182808}.attendance-row.present{border-left-color:#19a974}.attendance-row.absent{border-left-color:#d92d20}.attendance-row.late{border-left-color:#e99a18}.attendance-row.excused{border-left-color:#5775c5}.attendance-student{align-items:center;gap:12px;min-width:0;display:flex}.attendance-student>div{min-width:0;display:grid}.attendance-student strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.attendance-student span:last-child{color:var(--muted,#667085);font-size:.8rem}.attendance-number{color:#596273;background:#f2f3f5;border-radius:10px;flex:0 0 34px;place-items:center;height:34px;font-size:.78rem;font-weight:800;display:grid}.attendance-statuses{grid-template-columns:repeat(4,minmax(96px,1fr));gap:7px;display:grid}.attendance-statuses button{color:#596273;cursor:pointer;background:#fff;border:1px solid #dfe2e6;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-height:39px;padding:7px 9px;font-weight:700;display:flex}.attendance-statuses button[aria-pressed=true].present{color:#087a55;background:#e9f8f1;border-color:#7fd5b4}.attendance-statuses button[aria-pressed=true].absent{color:#b42318;background:#fff0ee;border-color:#f1a39c}.attendance-statuses button[aria-pressed=true].late{color:#9a4f00;background:#fff6df;border-color:#edc36f}.attendance-statuses button[aria-pressed=true].excused{color:#3553a4;background:#edf2ff;border-color:#aab9e8}.attendance-note{grid-column:2}.attendance-savebar{z-index:5;border:1px solid var(--border,#ddd);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex;position:sticky;bottom:12px;box-shadow:0 12px 32px #10182824}.attendance-savebar>div{gap:4px;display:grid}.attendance-success{color:#087a55;align-items:center;gap:7px;font-weight:800;display:flex}.attendance-unsaved{color:#9a4f00;font-weight:800}.attendance-error{color:#b42318;font-size:.88rem}.attendance-state{text-align:center;border:1px dashed var(--border,#d8dce2);background:var(--surface,#fff);border-radius:22px;align-content:center;place-items:center;gap:10px;min-height:300px;padding:28px;display:grid}.attendance-state h1,.attendance-state h2,.attendance-state p{margin:0}.attendance-state p{max-width:560px;color:var(--muted,#667085)}.attendance-spin{animation:.9s linear infinite attendance-spin}@keyframes attendance-spin{to{transform:rotate(360deg)}}@media (width<=960px){.attendance-toolbar{grid-template-columns:1fr 1fr}.attendance-all-present{grid-column:1/-1}.attendance-summary,.attendance-row{grid-template-columns:1fr}.attendance-note{grid-column:1}.attendance-statuses{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.attendance-hero{grid-template-columns:1fr;padding:18px}.attendance-privacy{grid-column:1}.attendance-toolbar{grid-template-columns:1fr}.attendance-all-present{grid-column:1}.attendance-summary{padding:14px}.attendance-row{padding:13px}.attendance-statuses button span{font-size:.82rem}.attendance-savebar{flex-direction:column;align-items:stretch;bottom:74px}.attendance-savebar .primary-btn{justify-content:center;width:100%}}.parents-page{gap:18px;display:grid}.parents-hero{border:1px solid var(--border,#e6e8ec);background:linear-gradient(135deg,#b91c2c14,#0e9f6e14);border-radius:24px;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:24px;display:grid;position:relative;overflow:hidden}.parents-hero h1{margin:2px 0 6px;font-size:clamp(1.65rem,3vw,2.35rem)}.parents-hero p{max-width:760px;margin:0}.parents-hero-icon{background:var(--primary,#b91c2c);color:#fff;border-radius:18px;place-items:center;width:58px;height:58px;display:grid}.parents-privacy{color:var(--muted,#667085);grid-column:2;align-items:center;gap:7px;font-size:.85rem;display:flex}.parents-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.parents-stats article{border:1px solid var(--border,#e6e8ec);background:var(--surface,#fff);border-radius:17px;align-items:center;gap:12px;padding:16px;display:flex}.parents-stats article>svg{color:var(--primary,#b91c2c);flex:none}.parents-stats article div{gap:2px;display:grid}.parents-stats strong{font-size:1.35rem}.parents-stats span{color:var(--muted,#667085);font-size:.82rem}.parents-toolbar{border:1px solid var(--border,#e6e8ec);background:var(--surface,#fff);border-radius:17px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.parents-search{border:1px solid var(--border,#dfe2e6);background:#fff;border-radius:12px;flex:1;align-items:center;gap:8px;min-width:220px;padding:0 12px;display:flex}.parents-search input{background:0 0;border:0;outline:0;width:100%;min-height:42px}.parents-filters{flex-wrap:wrap;gap:7px;display:flex}.parents-filters button{border:1px solid var(--border,#dfe2e6);color:#596273;cursor:pointer;background:#fff;border-radius:999px;min-height:38px;padding:7px 11px;font-weight:700}.parents-filters button.active{color:var(--primary,#b91c2c);background:#b91c2c17;border-color:#b91c2c59}.parents-notice{border-radius:13px;align-items:center;gap:8px;padding:12px 14px;font-weight:700;display:flex}.parents-notice.success{color:#087a55;background:#e9f8f1}.parents-notice.error{color:#b42318;background:#fff0ee}.parents-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.parent-card{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:18px;gap:14px;padding:17px;display:grid;box-shadow:0 3px 14px #1018280a}.parent-card-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.parent-avatar{width:44px;height:44px;color:var(--primary,#b91c2c);background:linear-gradient(135deg,#b91c2c24,#e5a90029);border-radius:14px;place-items:center;font-weight:900;display:grid}.parent-identity{min-width:0}.parent-identity>span{letter-spacing:.05em;color:var(--muted,#667085);text-transform:uppercase;font-size:.72rem;font-weight:800}.parent-identity h2{white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-size:1.04rem;overflow:hidden}.parent-identity p{color:var(--muted,#667085);margin:0;font-size:.84rem}.parent-status{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.parent-status.linked{color:#087a55;background:#e9f8f1}.parent-status.ready{color:#3553a4;background:#edf2ff}.parent-status.revoked{color:#7b4d00;background:#fff6df}.parent-status.incomplete{color:#b42318;background:#fff0ee}.parent-primary{color:#8a5900;background:#fff6df;border-radius:999px;align-items:center;gap:7px;width:max-content;padding:6px 9px;font-size:.8rem;font-weight:800;display:flex}.parent-contact-details{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.parent-contact-details>div{background:#fafbfc;border:1px solid #edf0f2;border-radius:13px;min-width:0;padding:11px}.parent-contact-details dt{color:var(--muted,#667085);align-items:center;gap:6px;margin-bottom:5px;font-size:.75rem;font-weight:800;display:flex}.parent-contact-details dd{white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}.parent-child{background:#f7f8fa;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.parent-child>div{gap:2px;min-width:0;display:grid}.parent-child span{color:var(--muted,#667085);text-transform:uppercase;font-size:.72rem;font-weight:800}.parent-child strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.parent-child small{color:var(--muted,#667085)}.icon-action{border:1px solid var(--border,#dfe2e6);cursor:pointer;background:#fff;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.parent-requirements{color:var(--muted,#667085);align-items:center;gap:7px;margin:0;font-size:.8rem;display:flex}.parent-actions{justify-content:flex-end;gap:9px;display:flex}.parent-actions button{justify-content:center;align-items:center;gap:7px;min-height:40px;display:inline-flex}.danger-btn{color:#b42318;cursor:pointer;background:#fff0ee;border:1px solid #f1a39c;border-radius:11px;align-items:center;gap:7px;padding:9px 13px;font-weight:800;display:inline-flex}.danger-btn:disabled,.parent-actions button:disabled{opacity:.55;cursor:not-allowed}.parents-state{text-align:center;border:1px dashed var(--border,#d8dce2);background:var(--surface,#fff);border-radius:22px;align-content:center;place-items:center;gap:10px;min-height:300px;padding:28px;display:grid}.parents-state h1,.parents-state h2,.parents-state p{margin:0}.parents-state p{max-width:560px;color:var(--muted,#667085)}.parent-contact-dialog{gap:13px;max-width:560px;display:grid}.parent-contact-dialog label{gap:6px;font-weight:700;display:grid}.parent-contact-dialog input{border:1px solid var(--border,#d9dce1);border-radius:11px;min-height:43px;padding:9px 11px}.parent-dialog-help{color:var(--muted,#667085);margin:0}.parents-spin{animation:.9s linear infinite parents-spin}@keyframes parents-spin{to{transform:rotate(360deg)}}@media (width<=1050px){.parents-grid{grid-template-columns:1fr}.parents-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.parents-toolbar{flex-direction:column;align-items:stretch}.parents-search,.parents-filters{width:100%}.parents-filters button{flex:1}.parent-contact-details{grid-template-columns:1fr}}@media (width<=620px){.parents-hero{grid-template-columns:1fr;padding:18px}.parents-privacy{grid-column:1}.parents-stats{grid-template-columns:1fr 1fr}.parent-card-head{grid-template-columns:auto minmax(0,1fr)}.parent-status{grid-column:1/-1;width:max-content}.parent-actions{flex-direction:column}.parent-actions button{width:100%}.parents-filters button{flex:45%}}.parent-children-page,.parent-child-record{gap:18px;display:grid}.parent-children-header{border:1px solid var(--border,#e5e7eb);background:linear-gradient(135deg,#b91c2c12,#0e9f6e14);border-radius:22px;align-items:center;gap:14px;padding:22px;display:flex}.parent-children-header h1,.parent-children-header p{margin:0}.parent-children-header p{color:var(--ink-muted,#667085);margin-top:5px}.parent-children-header-icon{background:var(--primary,#b91c2c);color:#fff;border-radius:17px;place-items:center;width:54px;height:54px;display:grid}.parent-children-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.parent-child-card{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);text-align:left;cursor:pointer;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px;display:grid}.parent-child-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px #10182812}.parent-child-avatar{width:48px;height:48px;color:var(--primary,#b91c2c);background:linear-gradient(135deg,#b91c2c24,#e5a90033);border-radius:15px;place-items:center;font-weight:900;display:grid}.parent-child-avatar.large{border-radius:22px;width:72px;height:72px;font-size:1.2rem}.parent-child-card-copy{gap:2px;min-width:0;display:grid}.parent-child-card-copy>span,.parent-child-record-hero p{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted,#667085);font-size:.72rem;font-weight:900}.parent-child-card-copy h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;overflow:hidden}.parent-child-card-copy p,.parent-child-card-copy small{color:var(--ink-muted,#667085);margin:0}.parent-child-state{border:1px dashed var(--border,#d8dce2);background:var(--surface,#fff);text-align:center;border-radius:22px;align-content:center;place-items:center;gap:10px;min-height:300px;padding:28px;display:grid}.parent-child-back{border:1px solid var(--border,#d8dce2);cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:7px;width:max-content;padding:8px 11px;font-weight:800;display:inline-flex}.parent-child-record-hero{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:22px;align-items:center;gap:16px;padding:22px;display:flex}.parent-child-record-hero h1,.parent-child-record-hero p,.parent-child-record-hero span,.parent-child-record-hero small{margin:0}.parent-child-record-hero>div:last-child{gap:4px;display:grid}.parent-child-record-hero small{color:var(--ink-muted,#667085)}.parent-child-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid}.parent-child-details>div{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:15px;padding:15px}.parent-child-details dt{color:var(--ink-muted,#667085);margin-bottom:5px;font-size:.76rem;font-weight:800}.parent-child-details dd{margin:0;font-weight:900}.parent-child-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.parent-child-actions button{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:52px;padding:12px 14px;font-weight:800;display:grid}.parent-child-actions button:hover{background:#b91c2c0a;border-color:#b91c2c59}@media (width<=900px){.parent-child-details,.parent-child-actions{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){.parent-children-grid,.parent-child-actions{grid-template-columns:1fr}.parent-child-details{grid-template-columns:1fr 1fr}.parent-child-record-hero{align-items:flex-start}}@media (width<=460px){.parent-child-details{grid-template-columns:1fr}.parent-children-header{align-items:flex-start}.parent-child-card{grid-template-columns:auto minmax(0,1fr)}}.parent-role-module>.page-header:not(.parent-module-heading){display:none}.parent-module-heading{margin-bottom:16px}.parent-role-module .msg-tabs{display:none}.parent-space-home{gap:18px;display:grid}.parent-space-welcome{border:1px solid var(--border,#e5e7eb);background:linear-gradient(135deg,#b91c2c14,#0e9f6e14);border-radius:22px;align-items:center;gap:15px;padding:22px;display:flex}.parent-space-welcome-icon{background:var(--primary,#b91c2c);color:#fff;border-radius:18px;place-items:center;width:56px;height:56px;display:grid}.parent-space-welcome p,.parent-space-welcome h1,.parent-space-welcome span{margin:0}.parent-space-welcome p{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted,#667085);font-size:.74rem;font-weight:900}.parent-space-welcome h1{margin:3px 0}.parent-current-child{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);text-align:left;cursor:pointer;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;display:grid}.parent-current-child div:nth-child(2){gap:2px;display:grid}.parent-current-child span{color:var(--ink-muted,#667085);text-transform:uppercase;font-size:.75rem;font-weight:800}.parent-space-highlight{background:linear-gradient(135deg,#fff7e6,#f4fbf7);border:1px solid #f0e4c4;border-radius:22px;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:22px;display:grid}.parent-space-highlight span{color:#8a5900;text-transform:uppercase;margin-bottom:5px;font-size:.75rem;font-weight:900;display:inline-flex}.parent-space-highlight h2,.parent-space-highlight p{margin:0}.parent-space-highlight p{color:var(--ink-muted,#667085);margin:7px 0 14px}.parent-space-highlight button{color:var(--primary,#b91c2c);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-weight:900;display:inline-flex}.parent-space-highlight-mark{background:#fff;border-radius:24px;place-items:center;width:76px;height:76px;font-size:2rem;display:grid}.parent-space-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.parent-space-actions>button{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);text-align:left;cursor:pointer;border-radius:17px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;display:grid}.parent-space-actions>button:hover{transform:translateY(-1px);box-shadow:0 8px 22px #1018280f}.parent-space-action-icon{border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.parent-space-action-icon.red{color:#b42318;background:#fff0ee}.parent-space-action-icon.blue{color:#3553a4;background:#edf2ff}.parent-space-action-icon.green{color:#087a55;background:#e9f8f1}.parent-space-action-icon.gold{color:#8a5900;background:#fff6df}.parent-space-action-icon.teal{color:#0b7f78;background:#e9f8f7}.parent-space-action-icon.purple{color:#6941c6;background:#f4efff}.parent-space-actions>button div:nth-child(2){gap:2px;min-width:0;display:grid}.parent-space-actions small{color:var(--ink-muted,#667085);font-weight:800}.parent-space-actions strong,.parent-space-actions p{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.parent-space-actions p{color:var(--ink-muted,#667085);font-size:.83rem}.parent-calendar-empty{color:var(--ink-muted,#667085);padding:16px}@media (width<=720px){.parent-space-actions,.parent-space-highlight{grid-template-columns:1fr}.parent-space-highlight-mark{display:none}}@media (width<=480px){.parent-space-welcome{align-items:flex-start}.parent-space-welcome-icon{width:48px;height:48px}.parent-space-actions>button{grid-template-columns:auto minmax(0,1fr)}}.student-space-page{gap:18px;display:grid}.student-demo-banner{color:#244a8f;background:#eef5ff;border:1px solid #a9c5f4;border-radius:14px;align-items:flex-start;gap:9px;padding:13px 15px;display:flex}.student-demo-banner strong{white-space:nowrap}.student-demo-banner span{color:#405d8f}.student-space-hero{border:1px solid var(--border,#e5e7eb);background:linear-gradient(135deg,#2b66cf17,#0e9f6e14);border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:22px;display:grid}.student-space-hero h1{margin:0 0 5px;font-size:clamp(1.6rem,3vw,2.2rem)}.student-space-hero p{color:var(--muted,#667085);margin:0}.student-space-hero-icon{color:#fff;background:#2b66cf;border-radius:17px;place-items:center;width:56px;height:56px;display:grid}.student-demo-pill{color:#244a8f;background:#eef5ff;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:800}.student-overview-card{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:18px;align-items:center;gap:15px;padding:18px;display:flex}.student-overview-card span{color:var(--muted,#667085);text-transform:uppercase;font-size:.76rem;font-weight:800}.student-overview-card h2{margin:3px 0}.student-overview-card p{color:var(--muted,#667085);margin:0}.student-avatar{color:#fff;background:linear-gradient(135deg,#2b66cf,#0e9f6e);border-radius:17px;place-items:center;width:54px;height:54px;font-weight:900;display:grid}.student-avatar.large{width:72px;height:72px;font-size:1.25rem}.student-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-kpis article{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:16px;grid-template-columns:auto 1fr;gap:8px 10px;padding:16px;display:grid}.student-kpis article svg{color:#2b66cf;grid-row:1/3}.student-kpis span{color:var(--muted,#667085);font-size:.8rem}.student-kpis strong{font-size:1.02rem}.student-quick-access{gap:12px;display:grid}.student-quick-access h2{margin:0}.student-quick-access>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.student-quick-access button{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);cursor:pointer;border-radius:15px;align-items:center;gap:10px;padding:14px;font-weight:800;display:flex}.student-quick-access button svg{color:#2b66cf}.student-profile-card{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:18px;align-items:center;gap:15px;padding:19px;display:flex}.student-profile-card h2{margin:0 0 4px}.student-profile-card p{color:var(--muted,#667085);margin:0}.student-profile-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.student-profile-details>div{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:15px;padding:15px}.student-profile-details dt{color:var(--muted,#667085);text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:800}.student-profile-details dd{align-items:center;gap:7px;margin:0;font-weight:800;display:flex}.student-timetable{gap:14px;display:grid}.student-day-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.student-day-tabs span{border:1px solid var(--border,#e5e7eb);text-align:center;background:#fff;border-radius:12px;padding:10px;font-weight:700}.student-day-tabs span.active{color:#244a8f;background:#eef5ff;border-color:#89aef0}.student-lessons{gap:9px;display:grid}.student-lessons article{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:15px;grid-template-columns:80px 1fr;align-items:center;gap:12px;padding:14px;display:grid}.student-lessons time{color:#2b66cf;font-weight:900}.student-lessons article div{gap:2px;display:grid}.student-lessons span{color:var(--muted,#667085);font-size:.83rem}.student-task-list{gap:11px;display:grid}.student-task-list article,.student-message-card,.student-calendar-card{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);border-radius:16px;align-items:center;gap:13px;padding:16px;display:flex}.student-task-list h2,.student-message-card h2,.student-calendar-card h2{margin:3px 0}.student-task-list p,.student-message-card p,.student-calendar-card p{color:var(--muted,#667085);margin:0}.student-task-list span,.student-message-card span,.student-calendar-card span{color:var(--muted,#667085);text-transform:uppercase;font-size:.76rem;font-weight:800}.student-task-icon{color:#2b66cf;background:#eef5ff;border-radius:13px;flex:0 0 42px;place-items:center;height:42px;display:grid}.student-message-card>div:nth-child(2){flex:1}.student-unread-dot{background:#b91c2c;border-radius:999px;width:10px;height:10px}.student-calendar-date{color:#244a8f;background:#eef5ff;border-radius:15px;flex:0 0 58px;place-items:center;height:58px;display:grid}.student-calendar-date strong{font-size:1.35rem}.student-calendar-date span{font-size:.7rem}.student-space-state{text-align:center;border:1px dashed var(--border,#d8dce2);background:var(--surface,#fff);border-radius:22px;align-content:center;place-items:center;gap:10px;min-height:300px;padding:28px;display:grid}.student-space-state.compact{min-height:230px}.student-space-state h1,.student-space-state h2,.student-space-state p{margin:0}.student-space-state p{max-width:600px;color:var(--muted,#667085)}.student-spin{animation:.9s linear infinite student-spin}@keyframes student-spin{to{transform:rotate(360deg)}}@media (width<=900px){.student-quick-access>div{grid-template-columns:repeat(2,minmax(0,1fr))}.student-kpis,.student-profile-details{grid-template-columns:1fr}}@media (width<=620px){.student-demo-banner{display:grid}.student-space-hero{grid-template-columns:1fr;padding:18px}.student-demo-pill{width:max-content}.student-quick-access>div{grid-template-columns:1fr}.student-day-tabs{display:flex;overflow-x:auto}.student-day-tabs span{min-width:100px}.student-lessons article{grid-template-columns:64px 1fr}}.students-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px;display:grid}.students-overview-card{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 3px 12px #3a281e06}.students-overview-icon{border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.students-overview-card strong,.students-overview-card span{display:block}.students-overview-card strong{font-size:20px;line-height:1}.students-overview-card span{color:var(--muted);margin-top:4px;font-size:10px;font-weight:700}.students-directory-head{justify-content:space-between;align-items:flex-end;gap:15px;margin:3px 0 11px;display:flex}.students-directory-head h2{margin:0;font-size:15px}.students-directory-head p{color:var(--muted);margin:4px 0 0;font-size:10px}.students-results-count{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:800}.students-toolbar{grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(135px,.7fr) auto auto;align-items:center;gap:10px;display:grid}.students-toolbar .local-search,.students-toolbar select{min-width:0}.students-clear-filters{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#fff;border-radius:9px;padding:9px 11px;font-size:10px;font-weight:800}.students-clear-filters:hover{background:#fff8f8;border-color:#dcc8c2}.students-page-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.student-card-meta .collection-status,.student-detail-card .collection-status,.collection-table .collection-status{color:#087a55;background:#eef8f3;border-radius:999px;align-items:center;width:max-content;padding:4px 8px;font-weight:800;display:inline-flex}.student-card-meta{align-items:center}.student-card-meta time{margin-left:auto}.student-detail-card dl dd{overflow-wrap:anywhere}.student-detail-card dl div{min-width:0}@media (width<=1120px){.students-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.students-toolbar{grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(140px,1fr))}.students-toolbar .collection-view-selector,.students-toolbar .students-clear-filters{grid-column:auto}.students-toolbar .students-results-count{grid-column:1/-1}}@media (width<=760px){.students-overview,.students-toolbar{grid-template-columns:1fr 1fr}.students-toolbar .local-search,.students-toolbar .collection-view-selector{grid-column:1/-1}.students-directory-head{flex-direction:column;align-items:flex-start}.students-page-actions{justify-content:stretch;width:100%}.students-page-actions button{flex:1;justify-content:center}}@media (width<=520px){.students-overview,.students-toolbar{grid-template-columns:1fr}.students-toolbar>*{grid-column:1!important}.students-page-actions{flex-direction:column}.students-page-actions button{width:100%}.students-overview-card{padding:14px}}.documentation-shell{color:#211b19;background:#f8f6f2;min-height:100vh}.documentation-topbar{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #ece5dc;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 clamp(18px,5vw,72px);display:grid;position:sticky;top:0}.documentation-topbar img{object-fit:contain;width:128px;height:42px}.documentation-topbar button{color:#625a56;background:0 0;border:0;justify-self:start;align-items:center;gap:7px;font-weight:700;display:flex}.documentation-topbar>span{color:#8b827d;justify-self:end;font-size:12px}.documentation-hero{text-align:center;background:radial-gradient(circle at 50% 10%,#fff 0,#fffaf3 42%,#f8f6f2 74%);padding:90px 20px 72px}.documentation-hero>p,.documentation-intro>div>p,.documentation-pilot>div>p{letter-spacing:1.7px;color:#b91c2c;font-size:11px;font-weight:800}.documentation-hero h1{letter-spacing:-2.5px;max-width:920px;margin:17px auto 18px;font-size:clamp(36px,6vw,66px);line-height:1.02}.documentation-hero>span{color:#716965;max-width:720px;margin:auto;font-size:17px;line-height:1.65;display:block}.documentation-principle{text-align:left;background:#fffaf0;border:1px solid #ecdcae;border-radius:16px;grid-template-columns:auto 1fr;gap:2px 13px;max-width:650px;margin:38px auto 0;padding:20px 24px;display:grid}.documentation-principle svg{color:#b77b00;grid-row:1/3}.documentation-principle p{color:#746c68;margin:3px 0 0}.documentation-content{max-width:1180px;margin:auto;padding:70px 24px 90px}.documentation-intro{grid-template-columns:1fr 1fr;align-items:end;gap:50px;margin-bottom:35px;display:grid}.documentation-intro h2,.documentation-pilot h2{letter-spacing:-1.2px;margin:8px 0 0;font-size:34px}.documentation-intro>p{color:#716965;margin:0;line-height:1.7}.documentation-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.documentation-grid article{background:#fff;border:1px solid #ece5dc;border-radius:16px;min-height:210px;padding:22px;box-shadow:0 5px 22px #3d2a1f09}.documentation-grid article>div{justify-content:space-between;align-items:center;display:flex}.documentation-grid article svg{color:#b91c2c}.documentation-grid article>div span{color:#d3ccc7;font-size:13px;font-weight:800}.documentation-grid h3{margin:30px 0 10px;font-size:17px}.documentation-grid p{color:#746c68;margin:0;font-size:13px;line-height:1.6}.documentation-pilot{color:#fff;background:#211b19;border-radius:22px;grid-template-columns:.9fr 1.1fr;gap:60px;margin-top:60px;padding:42px;display:grid}.documentation-pilot>div>p{color:#e5a900}.documentation-pilot>div>span{color:#c8bfba;margin-top:14px;line-height:1.7;display:block}.documentation-pilot ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.documentation-pilot li{background:#302824;border:1px solid #453a35;border-radius:11px;grid-template-columns:135px 1fr;gap:10px;padding:13px 15px;display:grid}.documentation-pilot li span{color:#bfb6b1;font-size:13px}.documentation-footer{border-top:1px solid #e7e0d8;justify-content:center;align-items:center;gap:11px;padding:30px;display:flex}.documentation-footer img{width:40px;height:40px}.documentation-footer p{margin:0}.documentation-footer strong,.documentation-footer span{display:block}.documentation-footer span{color:#857c77;margin-top:2px;font-size:11px}@media (width<=950px){.documentation-grid{grid-template-columns:repeat(2,1fr)}.documentation-pilot{grid-template-columns:1fr;gap:28px}}@media (width<=620px){.documentation-topbar{grid-template-columns:1fr auto}.documentation-topbar>span{display:none}.documentation-topbar img{width:105px}.documentation-hero{padding-top:65px}.documentation-hero h1{letter-spacing:-1.5px}.documentation-intro{grid-template-columns:1fr;gap:15px}.documentation-grid{grid-template-columns:1fr}.documentation-pilot{padding:27px 20px}.documentation-pilot li{grid-template-columns:1fr;gap:4px}.documentation-content{padding-left:15px;padding-right:15px}}body:has(.research-portal){min-width:0}.research-portal{color:#0f1e40;background:#f8fafc;min-height:100vh;font-family:Plus Jakarta Sans,DM Sans,system-ui,Segoe UI,sans-serif}.research-header{justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:22px 28px;display:flex}.research-brand{color:#0f1e40;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.research-brand b{color:#2563eb;font-weight:600}.research-mark{color:#fff;background:#2563eb;border-radius:10px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.research-header-actions{align-items:center;gap:12px;display:flex}.research-admin-link,.research-language{color:#475569;font-size:.8125rem;text-decoration:none}.research-language{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;display:inline-flex}.research-language select{color:inherit;font:inherit;background:0 0;border:0;outline:none}.research-language:focus-within{outline-offset:1px;border-color:#2563eb;outline:3px solid #dbeafe}.research-hero{text-align:center;max-width:720px;margin:8vh auto 0;padding:54px 28px 84px}.research-eyebrow{color:#2563eb;align-items:center;gap:7px;font-size:.8125rem;font-weight:700;display:inline-flex}.research-hero h1,.research-card h1{margin:18px 0 12px;font-size:2.25rem;line-height:1.2}.research-hero p{color:#64748b;max-width:560px;margin:0 auto;font-size:1.0625rem;line-height:1.6}.research-hero-actions,.research-actions{justify-content:center;align-items:center;gap:12px;margin-top:28px;display:flex}.research-trust{color:#64748b;align-items:center;gap:8px;margin-top:36px;font-size:.8125rem;display:inline-flex}.research-button{min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:700;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.research-button:hover:not(:disabled){transform:translateY(-1px)}.research-button:focus-visible,.research-choice-row button:focus-visible,.research-scale button:focus-visible,.research-ranking button:focus-visible,.research-journey-menu button:focus-visible{outline-offset:2px;outline:3px solid #bfdbfe}.research-button:disabled{cursor:not-allowed;opacity:.55}.research-button-primary{color:#fff;background:#2563eb;box-shadow:0 8px 18px #2563eb2e}.research-button-primary:hover:not(:disabled){background:#1d4ed8}.research-button-secondary{color:#0f1e40;background:#fff;border-color:#e2e8f0}.research-button-text{color:#475569;background:0 0;min-height:36px;padding-inline:8px}.research-button-danger{color:#fff;background:#dc2626}.research-button-danger:hover:not(:disabled){background:#b91c1c}.research-danger-button{color:#b91c1c}.research-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-width:820px;margin:26px auto;padding:28px;box-shadow:0 14px 34px #0f1e400d}.research-start{max-width:860px}.research-card-heading{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.research-card-heading h1{margin:0 0 5px;font-size:1.5rem}.research-card-heading p,.research-card>p{color:#64748b;margin:0;line-height:1.55}.research-step{color:#2563eb;background:#eff6ff;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:.8125rem;font-weight:700;display:grid}.research-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.research-field{color:#0f1e40;gap:7px;font-size:.8125rem;font-weight:700;display:grid}.research-field b{color:#ef4444}.research-field input,.research-field select,.research-field textarea,.research-answer{box-sizing:border-box;color:#0f1e40;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:11px 12px;font-size:1rem;line-height:1.45}.research-field textarea{resize:vertical}.research-field input:focus,.research-field select:focus,.research-field textarea:focus,.research-answer:focus{border-color:#2563eb;outline:3px solid #dbeafe}.research-message{border-radius:6px;margin:16px 0 0;padding:11px 12px;font-size:.875rem;line-height:1.45}.research-message-error{color:#b91c1c;background:#fef2f2}.research-message-success{color:#166534;background:#f0fdf4}.research-recovery,.research-admin-login,.research-thank-you{text-align:center;max-width:500px}.research-recovery form,.research-admin-login form{text-align:left;gap:16px;margin-top:24px;display:grid}.research-recovery .research-button-text{margin-top:12px}.research-loading{text-align:center;color:#64748b}.research-contribution{max-width:820px;margin:18px auto 60px;padding:0 20px}.research-progress{margin:16px 0}.research-progress>div:first-child{color:#475569;justify-content:space-between;gap:12px;font-size:.8125rem;display:flex}.research-progress strong{color:#0f1e40}.research-progress-track{background:#e2e8f0;border-radius:999px;height:7px;margin-top:9px;overflow:hidden}.research-progress-track span{border-radius:inherit;background:#2563eb;height:100%;transition:width .15s;display:block}.research-menu{margin-top:18px}.research-journey-menu{gap:10px;display:grid}.research-journey-menu button{color:#0f1e40;width:100%;min-height:66px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;transition:border-color .15s,background .15s;display:flex}.research-journey-menu button:hover{background:#f8fbff;border-color:#93c5fd}.research-journey-menu button.complete{background:#f0fdf4;border-color:#bbf7d0}.research-journey-menu strong,.research-journey-menu small{display:block}.research-journey-menu small{color:#64748b;margin-top:3px;font-size:.8125rem}.research-section-status{color:#2563eb;background:#eff6ff;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.research-journey-menu .complete .research-section-status{color:#15803d;background:#dcfce7}.research-menu-actions,.research-utility-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.research-utility-actions{max-width:820px;margin:-4px auto 32px;padding:0 20px}.research-question-card{flex-direction:column;min-height:405px;display:flex}.research-question-card h1{max-width:680px;font-size:1.5rem}.research-question-card>p{color:#64748b}.research-question-meta{color:#64748b;text-transform:capitalize;font-size:.75rem;font-weight:700}.research-question-card .research-actions{justify-content:space-between;margin-top:auto;padding-top:28px}.research-action-group{align-items:center;gap:8px;display:flex}.research-answer{margin-top:26px}.research-choice-row,.research-scale{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.research-choice-row button,.research-scale button{color:#334155;min-width:76px;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px}.research-choice-row button.selected,.research-scale button.selected{color:#2563eb;background:#eff6ff;border-color:#2563eb;font-weight:700}.research-options{gap:10px;margin-top:22px;display:grid}.research-options label,.research-check,.research-consent{color:#334155;align-items:flex-start;gap:9px;font-size:.9375rem;line-height:1.5;display:flex}.research-options input,.research-check input,.research-consent input{accent-color:#2563eb;width:18px;height:18px;margin-top:2px}.research-ranking button{color:#334155;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.research-ranking button.selected{color:#1d4ed8;background:#eff6ff;border-color:#2563eb;font-weight:700}.research-ranking button span{color:#fff;background:#2563eb;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:.75rem;display:grid}.research-answer-group{border:0;min-width:0;margin:0;padding:0}.research-glossary-single{align-content:start;gap:16px;min-height:475px;display:grid}.research-glossary-single h1{margin-bottom:0}.research-glossary-single>p{color:#64748b;margin:0}.research-lao{color:#0f1e40;background:#f8fafc;border-radius:8px;gap:5px;padding:14px;font-size:1.125rem;display:grid}.research-lao span{color:#64748b;font-size:.75rem;font-weight:700}.research-correctness{border:0;margin:0;padding:0}.research-correctness legend{color:#0f1e40;font-size:.8125rem;font-weight:700}.research-suggestions{grid-template-columns:1.2fr .8fr;gap:20px;display:grid}.research-suggestions .research-card{margin:0}.research-suggestions h1,.research-suggestions h2{margin-top:0;font-size:1.25rem}.research-upload{color:#475569;border:1px dashed #94a3b8;border-radius:8px;align-items:center;gap:10px;margin:16px 0;padding:12px;font-size:.8125rem;display:flex}.research-upload input{max-width:190px}.research-suggestion-list{gap:12px;padding:0;list-style:none;display:grid}.research-suggestion-list li{border-bottom:1px solid #e5e7eb;justify-content:space-between;gap:8px;padding-bottom:12px;display:flex}.research-suggestion-list p{color:#64748b;margin:5px 0 0;font-size:.8125rem;line-height:1.45}.research-suggestion-list button{color:#b91c1c;cursor:pointer;background:#fef2f2;border:0;border-radius:6px;width:32px;height:32px}.research-actions-start{justify-content:flex-start}.research-review>p{color:#64748b;max-width:680px}.research-review-list{gap:10px;margin:24px 0;display:grid}.research-review-list article{border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:12px 14px;display:flex}.research-review-list article.complete{background:#f0fdf4;border-color:#bbf7d0}.research-review-list strong,.research-review-list small{display:block}.research-review-list small{color:#64748b;margin-top:3px}.research-review-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.research-consent small{color:#64748b;margin-top:7px;display:block}.research-thank-you{margin-top:9vh}.research-thank-you>svg{color:#16a34a}.research-thank-you h1{font-size:1.75rem}.research-thank-you .research-button{margin-top:24px}.research-confirmation{z-index:50;background:#0f1e405c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.research-confirmation .research-card{width:min(100%,520px);margin:0}.research-confirmation h2{margin-top:0}.research-confirmation p{color:#475569;line-height:1.55}.research-admin{max-width:1120px;margin:18px auto 60px;padding:0 28px}.research-admin-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.research-admin-heading h1{margin:0;font-size:1.75rem}.research-admin-heading p{color:#64748b;margin:4px 0 0}.research-campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.research-campaign-grid .research-card{margin:0;padding:20px}.research-campaign-status{color:#64748b;justify-content:space-between;font-size:.75rem;display:flex}.research-status{border-radius:999px;align-items:center;gap:4px;min-height:23px;padding:0 7px;font-size:.6875rem;font-weight:700;display:inline-flex}.research-status-active{color:#166534;background:#dcfce7}.research-status-inactive,.research-status-draft{color:#64748b;background:#f1f5f9}.research-status-closed,.research-status-revoked{color:#991b1b;background:#fee2e2}.research-campaign-grid h2{margin:16px 0;font-size:1.1rem}.research-campaign-grid dl{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.research-campaign-grid dl div{background:#f8fafc;border-radius:6px;padding:9px}.research-campaign-grid dt{color:#64748b;font-size:.6875rem}.research-campaign-grid dd{margin:3px 0 0;font-weight:700}.research-admin-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.research-admin-actions button,.research-admin-table button{color:#334155;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font-size:.75rem}.research-admin-table{gap:0;display:grid}.research-admin-table>div{border-bottom:1px solid #e5e7eb;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:12px;min-height:56px;display:grid}.research-admin-table small{color:#64748b;margin-top:3px;display:block}@media (width<=760px){.research-header{padding:16px 18px}.research-admin-link{display:none}.research-hero{margin-top:4vh;padding:38px 20px 58px}.research-hero h1{font-size:1.875rem}.research-hero-actions,.research-menu-actions,.research-utility-actions,.research-review-list article{flex-direction:column;align-items:stretch}.research-hero-actions .research-button{width:100%}.research-card{margin:16px;padding:20px}.research-form-grid,.research-suggestions{grid-template-columns:1fr}.research-contribution{padding:0}.research-question-card{min-height:440px}.research-utility-actions{margin-inline:16px;padding:0}.research-action-group{flex-direction:column;align-items:stretch;gap:8px;display:flex}.research-question-card .research-actions,.research-glossary-single .research-actions{align-items:stretch}.research-question-card .research-actions>.research-button,.research-glossary-single .research-actions>.research-button{width:100%}.research-campaign-grid{grid-template-columns:1fr}.research-admin{padding:0 16px}.research-admin-table>div{grid-template-columns:1fr auto}.research-admin-table>div button{grid-column:1/-1;justify-self:start}}.research-muted{color:#64748b;font-size:.875rem}.research-question-details{color:#475569;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-top:14px}.research-question-details summary{color:#334155;cursor:pointer;padding:10px 12px;font-size:.8125rem;font-weight:700}.research-question-details p,.research-question-details ul{margin:0;padding:0 12px 12px;font-size:.875rem;line-height:1.55}.research-question-details ul{padding-left:30px}.research-details-fields{gap:12px;padding:0 12px 12px;display:grid}.research-other-field{margin-top:2px}.research-stable-actions{min-height:48px}.research-glossary-intro{text-align:center;max-width:640px}.research-glossary-intro .research-step{margin:0 auto 14px}.research-glossary-single{gap:14px;min-height:0}.research-glossary-definition{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);align-items:stretch;gap:14px;display:grid}.research-glossary-definition>div:first-child{border:1px solid #e5e7eb;border-radius:8px;padding:14px}.research-glossary-definition span{color:#64748b;margin-bottom:5px;font-size:.75rem;font-weight:700;display:block}.research-glossary-definition h1{margin:0;font-size:1.3rem}.research-glossary-definition p{color:#64748b;margin:7px 0 0;font-size:.8125rem;line-height:1.45}.research-glossary-definition .research-lao{min-height:72px;margin:0;font-size:1rem}.research-correctness .research-choice-row{margin-top:8px}.research-correctness .research-choice-row button{align-items:center;gap:6px;min-width:0;padding:0 13px;display:inline-flex}.research-glossary-actions{z-index:2;background:linear-gradient(#fff0,#fff 28%);margin-inline:-4px;padding:10px 4px 0;position:sticky;bottom:12px}.research-glossary-skip-tools{justify-content:flex-end;align-items:center;gap:6px;min-height:30px;display:flex}.research-glossary-skip-tools .research-button{font-size:.75rem}.research-question-card .research-actions{min-height:48px}.research-privacy-note{color:#64748b;margin:-8px 0 16px;font-size:.75rem;line-height:1.5}@media (width<=760px){.research-glossary-definition{grid-template-columns:1fr}.research-glossary-actions{padding-bottom:calc(8px + env(safe-area-inset-bottom));margin:0 -4px;bottom:0}.research-glossary-skip-tools{flex-direction:column;align-items:stretch}.research-glossary-skip-tools .research-button{width:100%}.research-review-actions{flex-direction:column;align-items:stretch}.research-review-actions .research-button{width:100%}}@media (prefers-reduced-motion:reduce){.research-button,.research-journey-menu button,.research-progress-track span{transition:none}.research-button:hover:not(:disabled){transform:none}}
