:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233049;background:#f4f6fc;font-synthesis:none;--blue:#3559ef;--muted:#778298;--border:#e6eaf3;--shadow:0 5px 8px #18385804,0 16px 35px #18385807}*{box-sizing:border-box}body{margin:0;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed;transform:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7294ff;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,2.6vw,2.8rem);letter-spacing:-1.3px;line-height:1.15;font-weight:750;margin-bottom:12px}h2{font-size:1.13rem;letter-spacing:-.3px;margin-bottom:8px}h3{font-size:1rem;margin-bottom:12px}p{color:#778298;font-size:.94rem;line-height:1.65}strong{font-weight:650}small{font-size:.8rem}input,select,textarea{border:1px solid #dce2ed;border-radius:10px;padding:11px 13px;color:#26334e;background:#fff;min-width:0;max-width:100%;transition:border .2s,box-shadow .2s}input:hover,select:hover,textarea:hover{border-color:#a9b8d3}input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}input[type=date]{font-size:.88rem}textarea{min-height:130px;resize:vertical}.app-shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--border);padding:34px 20px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;font-size:1.3rem;font-weight:750;letter-spacing:-.7px;margin:0 12px 34px}.brand-mark{display:grid;place-items:center;background:linear-gradient(140deg,#7291ff,#3853e3 65%,#7047db);color:white;width:40px;height:43px;border-radius:12px;box-shadow:0 5px 0 #293fc3,0 9px 15px #3853e325;transform:rotate(-5deg);font-size:1.55rem;font-weight:850}.brand-light{display:block;font-weight:400;letter-spacing:1.4px;font-size:.75rem;margin-top:3px}.workspace-tag{background:#f6f8fc;border:1px solid #ecf0f6;display:flex;align-items:center;gap:9px;border-radius:13px;padding:12px 9px;margin-bottom:32px}.workspace-tag strong{display:block;font-size:.85rem;line-height:1.4}.workspace-tag small{font-size:.75rem;color:var(--muted);line-height:1.5}.workspace-icon{background:#dde6fc;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--blue);flex-shrink:0;font-weight:700}.nav-label,.eyebrow{font-size:.73rem;font-weight:750;letter-spacing:1.6px;color:#8e9bb4}.nav-label{margin:0 14px 13px}.nav-item{display:flex;align-items:center;text-align:left;gap:12px;border:0;background:transparent;width:100%;border-radius:10px;color:#758198;font-size:.9rem;padding:12px 14px;margin:3px 0;transition:all .18s}.nav-item>span{font-size:1.3rem;width:24px;color:#7e8ba3}.nav-item:hover{background:#f1f5ff;transform:translateX(2px)}.nav-item.active{background:#eef2ff;color:var(--blue);font-weight:650}.nav-item.active>span{color:var(--blue)}.nav-item b{font-size:.72rem;margin-left:auto;background:#dfe6ff;border-radius:6px;padding:3px 6px}.sidebar-bottom{margin:30px 4px 24px;padding:24px 18px 6px;border:1px solid #edf0fb;border-radius:18px;background:linear-gradient(140deg,#f4f7ff,#f1eeff);position:relative;overflow:hidden;min-height:163px}.sidebar-bottom strong{display:block;font-size:.93rem;line-height:1.65}.sidebar-bottom p{font-size:.8rem;margin-top:6px}.mini-orbit{position:absolute;right:12px;top:12px;font-size:2.6rem;color:#758bf2;transform:rotate(-15deg);text-shadow:3px 6px #dfe5ff}.profile{display:flex;align-items:center;gap:9px;padding:17px 0 0;border-top:1px solid var(--border);margin-top:auto}.profile>span{background:#fff0dd;color:#a3763c;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;flex-shrink:0}.profile strong{display:block;font-size:.8rem}.profile small{color:var(--muted);font-size:.74rem}.profile .btn{margin-left:auto}main{min-width:0}.topbar{height:79px;display:flex;justify-content:space-between;align-items:center;padding:0 36px;border-bottom:1px solid var(--border);background:#ffffffa8}.breadcrumb{font-size:.84rem;color:#8591a8}.breadcrumb span{margin:0 12px;color:#c5ccd9}.top-actions{display:flex;align-items:center;gap:9px}.save-status{font-size:.77rem;color:#62817d;margin-right:12px}.content{padding:35px 36px 45px;max-width:1680px;margin:auto;animation:appear .4s ease-out}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading .eyebrow{display:block;color:#8b98b1;margin-bottom:13px}.page-heading p{margin-bottom:0}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid #dfe5ef;border-radius:10px;background:#fff;box-shadow:0 2px 2px #1e365004;font-size:.85rem;font-weight:600;color:#54617a;transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 12px #24407915;border-color:#bcc8e0}.btn:active{transform:translateY(1px);box-shadow:none}.btn.primary{background:linear-gradient(120deg,#5d80ff,#3d5aec 60%,#5b4fe2);color:white;border-color:transparent;box-shadow:0 4px 0 #3046c4,0 8px 20px #4968ee23}.btn.primary:hover{box-shadow:0 5px 0 #3046c4,0 12px 25px #4968ee40;transform:translateY(-3px)}.btn.success{color:#fff;background:linear-gradient(115deg,#39ba98,#199d83);border:0;box-shadow:0 3px 0 #157761}.btn.danger-ghost{color:#c95461;background:#fff8f8;border-color:#f1dce0}.icon-btn{border:1px solid #e3e8f2;background:#fff;color:#7c8aa1;border-radius:9px;min-width:32px;padding:7px 10px;font-size:1rem;line-height:1.2}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px;perspective:1000px}.stat{position:relative;padding:24px 23px 19px;border:1px solid #ffffffdd;border-radius:17px;overflow:hidden;box-shadow:0 4px 0 #e0e6f180,0 10px 23px #16346008;transition:transform .3s,box-shadow .3s;min-height:152px}.stat:hover{transform:translateY(-5px) rotateX(3deg);box-shadow:0 6px 0 #dfe5f3,0 18px 30px #16346014}.stat>span{font-size:.82rem;font-weight:500;color:#64738e}.stat strong{display:block;font-size:2.2rem;font-weight:750;letter-spacing:-.8px;margin-top:14px}.stat strong small{font-size:.83rem;letter-spacing:0;font-weight:450;color:#8b96ab}.stat-detail{font-size:.76rem;color:#8694aa;margin-top:8px}.stat i{position:absolute;right:23px;top:23px;font-size:1.5rem;font-style:normal;color:#8099e8;opacity:.7}.blue{background:linear-gradient(115deg,#eaf0ff,#f4f7ff)}.mint{background:linear-gradient(115deg,#e8f5f2,#f3faf8)}.peach{background:linear-gradient(115deg,#fff0e4,#fff7ef)}.lavender{background:linear-gradient(115deg,#eeebff,#f6f4ff)}.panel{background:white;border:1px solid var(--border);border-radius:18px;padding:26px;box-shadow:var(--shadow);margin-bottom:24px;min-width:0}.timetable-panel{padding:0;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:25px 25px 18px}.panel-heading h2{display:flex;align-items:center;gap:12px}.panel-heading p{margin:0;font-size:.8rem}.badge{font-size:.72rem;line-height:1.4;font-weight:600;color:#7887a6;background:#f0f3fa;border-radius:6px;padding:4px 8px;vertical-align:middle}.badge.green{background:#e7f6ee;color:#429074}.table-tools{border-top:1px solid #f1f3f8;padding:16px 25px;display:flex;align-items:center;gap:13px}.segmented{display:inline-flex;align-items:center;background:#f2f5fa;border-radius:9px;padding:4px;flex-shrink:0}.segmented button{font-size:.77rem;padding:8px 12px;border:0;border-radius:6px;background:transparent;color:#8a96ab}.segmented button.selected{background:white;color:#4c64bc;box-shadow:0 2px 5px #1328580b;font-weight:600}.table-tools select{padding:8px 30px 8px 12px;font-size:.84rem;min-width:130px}.table-hint{margin-left:auto;font-size:.74rem;color:#98a3b7}.table-scroll{overflow-x:auto;max-width:100%}.schedule{width:100%;border-collapse:collapse;table-layout:fixed;min-width:800px}.schedule th,.schedule td{border:1px solid #edf0f6;text-align:left;vertical-align:top}.schedule thead th{background:#f8faff;padding:17px 13px;font-size:.82rem;font-weight:600;color:#63718b}.schedule thead th:first-child{width:88px;text-align:center}.schedule thead th span{display:block;font-weight:400;font-size:.73rem;color:#9da7b9;margin-top:5px}.schedule tbody th{padding:20px 13px;text-align:center;vertical-align:top;background:#fdfdff}.schedule tbody th strong{font-size:.77rem;color:#6e7a90;font-weight:550}.schedule tbody th small{display:block;font-size:.7rem;color:#adb6c6;margin-top:7px}.schedule td{padding:8px;height:130px}.session{display:block;width:100%;text-align:left;padding:12px;border-radius:9px;border:1px solid #ffffff9c;box-shadow:0 3px 0 #1d315909,0 4px 8px #1d315905;transition:transform .2s,box-shadow .2s;position:relative;min-height:111px;color:#385787;overflow-wrap:anywhere}.session:hover{transform:translateY(-3px);box-shadow:0 5px 0 #1d31590c,0 7px 12px #1d315913}.session[draggable=true]{cursor:grab}.session strong{display:block;font-size:.88rem;line-height:1.45;margin:6px 0 4px}.session small{font-size:.73rem;display:block;opacity:.7}.session-code{display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.4px;font-weight:600;opacity:.8}.session-room{display:block;font-size:.68rem;margin-top:9px;opacity:.65}.color-0{background:linear-gradient(135deg,#eaf0ff,#e3ecff);color:#5374b4}.color-1{background:linear-gradient(135deg,#e5f5ef,#dff1e9);color:#4d9076}.color-2{background:linear-gradient(135deg,#fff0e0,#ffeada);color:#b08659}.color-3{background:linear-gradient(135deg,#f0eafd,#eae4fb);color:#8d75b5}.session.has-conflict{border:2px solid #df6a72}.empty-slot{width:100%;height:100%;min-height:110px;background:transparent;color:#c1cadb;border:1px dashed #e9edf6;border-radius:9px;font-size:1.2rem;transition:all .2s}.empty-slot:hover{background:#f2f6ff;border-color:#b2c2ee;color:#5978d9}.schedule td.break-cell{height:39px;padding:12px 4px;background:repeating-linear-gradient(135deg,#fafbfd,#fafbfd 6px,#f6f8fc 6px,#f6f8fc 7px);font-size:.69rem;color:#abb4c3;text-align:center;vertical-align:middle}.table-footer{display:flex;justify-content:space-between;padding:18px 25px;font-size:.75rem;color:#9aa6ba;gap:10px}.legend-dot{display:inline-block;height:7px;width:7px;background:#6f85db;border-radius:2px;margin-right:7px}.issue{border-left:3px solid #df9673;padding:11px 14px;background:#fff7ef;color:#aa7458;font-size:.88rem;line-height:1.6;border-radius:0 7px 7px 0}.issue-panel{margin-top:24px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card-grid .panel{margin:0}.person-card,.class-card,.room-card{transition:transform .25s}.person-card:hover,.class-card:hover,.room-card:hover{transform:translateY(-4px)}.person-head{display:flex;gap:13px;align-items:center;margin-bottom:22px}.person-head h2{margin:0 0 5px}.person-head p{font-size:.8rem;margin:0}.avatar{height:49px;min-width:49px;display:grid;place-items:center;border-radius:13px;font-weight:650;font-size:.9rem;box-shadow:0 3px 0 #1a30590b}.tags{display:flex;gap:6px;flex-wrap:wrap;min-height:45px;margin-bottom:20px}.tags span{font-size:.75rem;background:#f4f6fc;color:#7b89a3;border:1px solid #e8edf5;border-radius:6px;padding:5px 8px}.load-label{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;color:#8a96ab;margin:16px 0 10px}.load-label strong{color:#596983}.progress{height:8px;background:#f0f3fa;border-radius:12px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#8da6ff,#5d77eb);border-radius:12px;transition:width .6s}.mint-bar i{background:linear-gradient(90deg,#7acdb4,#40a98c)}.person-card>p,.class-card>p{font-size:.8rem;margin-top:10px}.search{width:340px;max-width:100%;margin-bottom:24px}.subject-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 0}.subject-list>div{display:flex;justify-content:space-between;padding:8px 0;font-size:.85rem;gap:10px}.subject-list span{color:#919bb0;white-space:nowrap}.room-visual{border-radius:13px;height:138px;display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:22px;box-shadow:inset 0 -6px #ffffff60}.room-visual span{font-size:4.3rem;transform:perspective(400px) rotateY(-20deg);text-shadow:5px 5px #ffffffa0}.room-visual b{font-size:1.1rem}.settings{max-width:880px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}label{display:flex;flex-direction:column;gap:9px;font-size:.85rem;color:#6d7d96;font-weight:500;margin-bottom:18px}label input,label select,label textarea{width:100%}.form-grid label{margin:0}.checks{display:flex;flex-wrap:wrap;gap:12px 20px;margin:15px 0 22px}.checks label,.check{display:flex;flex-direction:row;align-items:center;font-size:.85rem;font-weight:400;margin:0;gap:8px}.checks input,.check input{width:18px}.rule-summary{background:#f7f9ff;padding:23px;border-radius:12px;margin:25px 0}.rule-summary p:last-child{margin:0}.muted{font-size:.85rem;color:#96a0b2}.report-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.bar-row{display:grid;grid-template-columns:130px minmax(50px,1fr) 56px;align-items:center;gap:10px;margin:23px 0;font-size:.79rem;color:#7b88a0}.bar-row strong{text-align:right;color:#687991}.data-table{width:100%;border-collapse:collapse;min-width:520px}.data-table th{text-align:left;font-size:.76rem;color:#97a2b5;background:#f8faff;padding:14px 16px;font-weight:550}.data-table td{padding:16px;border-bottom:1px solid #eef1f7;font-size:.85rem;color:#6b7992}.activity>div{display:flex;gap:15px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #f1f4f9}.activity strong{font-size:.88rem}.activity p{font-size:.75rem;margin:6px 0 0}.activity-dot{width:8px;height:8px;background:#aebdf1;border-radius:50%;margin-top:6px}.assistant-orb{display:grid;place-items:center;width:68px;height:68px;border-radius:22px;background:linear-gradient(135deg,#7d9dff,#6952e5);color:white;font-size:2.1rem;box-shadow:0 7px 0 #e3e6fb,0 14px 24px #5766b523;margin-bottom:25px;animation:float 5s ease-in-out infinite}.assistant-card{background:linear-gradient(150deg,#fff,#f7f7ff)}.note{background:#eff4ff;color:#6d81a7;border-radius:10px;padding:17px;font-size:.86rem;line-height:1.6;margin:20px 0}.feature-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;font-size:1.5rem;margin-bottom:22px;box-shadow:0 4px 0 #e7edf4}.empty{text-align:center;padding:35px 20px;color:#9aa7bb}.empty>span{font-size:2rem;color:#b3c0e3}.empty h3{font-size:1rem;color:#7c8ba5;margin:15px 0 5px}.empty p{font-size:.87rem;max-width:460px;margin:0 auto}.free-label{color:#c3cbd9;font-size:.8rem;display:block;text-align:center;padding-top:30px}footer{padding:22px 36px;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:#a7b1c2;font-size:.75rem}dialog{border:1px solid #e5eaf4;border-radius:21px;width:min(590px,calc(100vw - 30px));padding:0;color:#263653;box-shadow:0 24px 90px #18234530;max-height:90vh}dialog.wide{width:min(880px,calc(100vw - 30px))}dialog::backdrop{background:#1b2e514f;backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .22s ease-out}dialog header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:25px 28px;background:#fafbff}dialog header h2{margin:9px 0 0;font-size:1.25rem}dialog header .eyebrow{font-size:.65rem}.dialog-body{padding:26px 28px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:26px;flex-wrap:wrap}.dialog-actions>span{flex:1}.subject-editor{padding:20px;border:1px solid var(--border);border-radius:12px;background:#fbfcff;margin-bottom:18px}.subject-editor .checks{margin-bottom:0}.availability-table{border-collapse:collapse;width:100%}.availability-table th,.availability-table td{padding:10px;border:1px solid var(--border);font-size:.8rem;text-align:center}.proposal-stats{display:flex;gap:25px;padding:20px;background:#f4f7ff;border-radius:14px;margin-bottom:20px}.proposal-stats strong{font-size:2rem;color:#5b73c5}.proposal-stats small{display:block;font-size:.8rem;font-weight:400;color:#8593b0;margin-top:5px}.proposal-notes{max-height:320px;overflow-y:auto}.banner{padding:18px 36px;font-size:.85rem;line-height:1.8}.banner .btn{margin:5px}.warning{background:#fff1dc;color:#986524}.danger{color:#c55464!important}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);z-index:20;max-width:min(620px,90vw);background:#263859;color:white;padding:14px 22px;border-radius:12px;box-shadow:0 8px 25px #13284b26;font-size:.9rem;opacity:0;pointer-events:none;transition:.25s;line-height:1.5}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#a84656}.boot{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:100vh;padding:30px;text-align:center}.boot .brand-mark{margin-bottom:25px}.skeleton{height:15px;width:220px;max-width:100%;border-radius:8px;background:linear-gradient(90deg,#e9edf5,#f9fbff,#e9edf5);background-size:200%;animation:shimmer 1.2s infinite}.spinner{width:15px;height:15px;border:2px solid #ffffff60;border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:white}.login-art{background:linear-gradient(140deg,#eff4ff,#e8edfd 60%,#e5e6fc);padding:60px 12%;overflow:hidden}.login-art h1{font-size:clamp(2.5rem,4.5vw,4.7rem);margin:75px 0 20px;color:#2c416d;letter-spacing:-2px}.login-art p{font-size:1.1rem}.login-form{align-self:center;max-width:460px;width:100%;padding:35px;justify-self:center}.login-form h2{font-size:2rem;line-height:1.2;margin:17px 0}.login-form form{margin-top:36px}.login-form .btn{width:100%;justify-content:space-between;padding:15px 20px}.login-cards{perspective:800px;position:relative;height:220px;margin-top:45px}.floating-card{transform:rotateY(-15deg) rotateX(10deg) rotateZ(-5deg);background:linear-gradient(120deg,#fff,#eef3ff);padding:26px 30px;border-radius:18px;box-shadow:0 6px 0 #d5def6,0 25px 30px #3956a51a;max-width:300px;color:#7e92c6;font-size:.8rem;animation:float 6s ease-in-out infinite}.floating-card strong{display:block;font-size:1.05rem;color:#5a76b6;margin:8px 0}.floating-card span{font-size:.76rem}.floating-card.second{margin:-12px 0 0 70px;background:linear-gradient(120deg,#f8fffc,#e9f6ef);box-shadow:0 6px 0 #d5e8e1,0 25px 30px #3956a51a;animation-delay:-3s;transform:rotateY(-15deg) rotateZ(6deg)}@keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes shimmer{to{background-position:-200%}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.schedule td{height:145px}.session{min-height:125px}.content{padding-top:44px}}@media(max-width:1250px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:28px 13px 20px}.content{padding:30px 24px}.topbar{padding:0 24px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.actions{align-self:flex-end;margin-top:-6px}.panel-heading{flex-wrap:wrap}.table-hint{display:none}.stat{padding:20px 17px}.stat i{right:16px;top:18px;font-size:1.2rem}.stat strong{font-size:1.9rem}.report-grid{grid-template-columns:1fr}.sidebar-bottom{padding-left:12px}.nav-item{font-size:.82rem;padding-left:10px;gap:8px}}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;height:auto;padding:16px 20px;display:block;border-right:0;border-bottom:1px solid var(--border)}.brand{margin:0;font-size:1.1rem;display:inline-flex}.brand-mark{width:34px;height:36px;font-size:1.3rem}.workspace-tag,.nav-label,.sidebar-bottom,.profile{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:6px;margin-top:18px;scrollbar-width:thin;padding-bottom:4px}.nav-item{width:auto;flex-shrink:0;padding:9px 12px;font-size:.8rem;margin:0}.nav-item>span{font-size:1.1rem;width:18px}.nav-item b{display:none}.topbar{height:57px}.content{padding-top:27px}.topbar .save-status{font-size:.7rem}.breadcrumb{font-size:.76rem}.page-heading>.actions{align-self:flex-start;margin-top:0}.panel-heading{padding:21px 20px}.table-tools{padding:14px 20px;flex-wrap:wrap}.login-art{padding:45px 10%}.login-art h1{font-size:2.9rem}.login-page{grid-template-columns:.9fr 1fr}.login-cards{display:none}}
@media(max-width:600px){body{font-size:16px}.sidebar{padding:16px}.content{padding:26px 16px}.topbar{padding:0 16px}.breadcrumb{max-width:45%;line-height:1.4}.breadcrumb span{margin:0 4px}.top-actions{gap:5px}.save-status{max-width:115px;text-align:right;margin:0 4px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:1.9rem;letter-spacing:-.8px}.page-heading p{font-size:.87rem}.page-heading .eyebrow{font-size:.65rem}.page-heading .actions{width:100%}.page-heading .actions .btn{flex:1}.stats-grid{gap:12px;margin-bottom:22px}.stat{padding:18px 14px 15px;min-height:135px}.stat>span{font-size:.75rem}.stat i{display:none}.stat strong{font-size:1.9rem;margin-top:12px}.stat small{font-size:.7rem!important}.stat-detail{font-size:.69rem}.panel-heading{padding:20px 15px 16px}.panel-heading>.actions{gap:6px}.panel-heading input[type=date]{width:144px;padding:8px 9px}.panel-heading .btn{padding:9px 10px;font-size:.77rem}.table-tools{padding:13px 15px;gap:10px}.table-tools select{min-width:80px;max-width:100%;flex:1}.segmented button{padding:8px 10px;font-size:.74rem}.table-footer{padding:16px;flex-direction:column;font-size:.72rem}.card-grid,.form-grid{grid-template-columns:1fr}.card-grid{gap:17px}.panel{padding:22px 18px}.timetable-panel{padding:0}.panel-heading h2{font-size:1.05rem}.report-grid{gap:0}.bar-row{grid-template-columns:110px 1fr 45px;font-size:.75rem}.dialog-body{padding:22px 18px}dialog header{padding:21px 18px}.dialog-actions .btn{font-size:.8rem}.proposal-stats{gap:18px;padding:15px}.proposal-stats strong{font-size:1.7rem}.proposal-stats small{font-size:.7rem}.subject-editor{padding:16px}.login-page{display:block}.login-art{padding:27px 30px}.login-art h1{font-size:2.4rem;margin:38px 0 14px}.login-art p{font-size:.9rem;margin-bottom:0}.login-form{padding:40px 27px;max-width:none}.login-form h2{font-size:1.7rem}.login-form .eyebrow{font-size:.66rem}footer{padding:20px 16px;font-size:.68rem;gap:10px}footer span{text-align:right;max-width:60%}.banner{padding:16px}.search{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.session:hover,.stat:hover,.btn:hover{transform:none}}
@media print{@page{size:landscape;margin:10mm}body{background:#fff;color:#000;font-size:12px}.app-shell{display:block}.sidebar,.topbar,.page-heading>.actions,.table-tools,.panel-heading>.actions,.dialog-actions,footer,#toast,dialog,.banner,.empty-slot{display:none!important}.content{padding:0;max-width:none;animation:none}.page-heading{margin-bottom:14px}.page-heading h1{font-size:22px}.page-heading .eyebrow{display:none}.stats-grid{display:none}.panel{box-shadow:none;border-radius:0;break-inside:avoid;padding:10px}.timetable-panel{padding:0}.panel-heading{padding:10px}.schedule{min-width:0;font-size:11px}.schedule td{height:84px;padding:4px}.schedule tbody th{padding:8px 4px}.schedule thead th:first-child{width:58px}.session{min-height:75px;padding:7px;box-shadow:none;border:1px solid #cad2e1!important;transform:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.session strong{font-size:11px}.session small,.session-code,.session-room{font-size:9px}.session-room{margin-top:4px}.table-scroll{overflow:visible}.table-footer{font-size:10px;padding:10px}.schedule tr{break-inside:avoid}.card-grid{display:block}.report-grid{display:block}.data-table{min-width:0}.btn{display:none}}
.mobile-signout{display:none}.nav-item,.btn,.segmented button,.table-tools select{font-size:.875rem}.schedule thead th,.schedule tbody th strong{font-size:.875rem}.table-hint{font-size:.8rem}.stat>span,.person-head p,.load-label,.subject-list>div{font-size:.875rem}.data-table td{font-size:.875rem}@media(max-width:900px){.mobile-signout{display:inline-flex;padding:6px 8px;font-size:.75rem}.breadcrumb{display:none}.top-actions{width:100%;justify-content:flex-end}.mobile-signout{margin-right:auto}}
