@font-face{font-family:inter;src:url(../media/Inter_latin_variable-s.p.0gsaq8ukbf34m.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_6af58cb-module__ayfFgG__className{font-family:inter,inter Fallback}.inter_6af58cb-module__ayfFgG__variable{--font-sans:"inter", "inter Fallback"}
@font-face{font-family:cormorant;src:url(../media/CormorantGaramond_600-s.p.2k7r9iymu8ux8.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:cormorant;src:url(../media/CormorantGaramond_700-s.p.0ehq3873lu_8h.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:cormorant Fallback;src:local(Arial);ascent-override:104.42%;descent-override:32.43%;line-gap-override:0.0%;size-adjust:88.49%}.cormorant_5af17f38-module__fnSHIG__className{font-family:cormorant,cormorant Fallback}.cormorant_5af17f38-module__fnSHIG__variable{--font-serif:"cormorant", "cormorant Fallback"}
:root{--color-bg:#fdfcfe;--color-bg-alt:#f4f0f9;--color-surface:#fff;--color-primary:#8c56b0;--color-primary-dark:#713f92;--color-secondary:#2f4a3d;--color-secondary-light:#4fa89a;--color-text:#2b2b2e;--color-text-muted:#706b78;--color-border:#e6e0ef;--color-success:#3d8c6d;--color-success-bg:#e4f3ec;--color-warning:#b8863b;--color-warning-bg:#f7ecd9;--color-danger:#b8503f;--color-danger-bg:#f8e6e1;--color-info-bg:#f1edf7;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #2e2a260f, 0 1px 3px #2e2a2614;--shadow-md:0 4px 12px #2e2a2614;--font-heading:var(--font-serif,"Cormorant Garamond"), Georgia, serif;--font-body:var(--font-sans,"Inter"), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;padding:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text);letter-spacing:.01em;margin:0 0 .4em;font-weight:600}h1{font-size:2.1rem}h2{font-size:1.5rem}h3{font-size:1.15rem}p{color:var(--color-text-muted);margin:0 0 .75em}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,.btn{font-family:var(--font-body);border-radius:var(--radius);cursor:pointer;background:var(--color-surface);color:var(--color-text);border:1px solid #0000;padding:.55em 1.1em;font-size:.9rem;transition:all .15s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-secondary);color:#fff}.btn-secondary:hover{background:#3a4a3a}.btn-outline{border-color:var(--color-border);background:0 0}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#9c3f30}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#16a34a}.btn-sm{padding:.35em .75em;font-size:.8rem}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{font-family:var(--font-body);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);width:100%;padding:.55em .75em;font-size:.9rem}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #c1673f26}label{color:var(--color-text-muted);margin-bottom:.3em;font-size:.82rem;font-weight:500;display:block}.field{margin-bottom:1em}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:230px;height:100vh;padding:1.4rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{margin-bottom:.2rem}.sidebar .brand-logo{width:auto;height:32px;display:block}.sidebar .brand small{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-top:.3rem;font-size:.7rem;font-weight:500;display:block}.sidebar nav{flex-direction:column;flex:1;gap:1rem;margin-top:1.8rem;display:flex}.nav-group{flex-direction:column;gap:.2rem;display:flex}.nav-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.2rem;padding:0 .75rem;font-size:.7rem;font-weight:700}.sidebar nav a{color:var(--color-text);border-radius:var(--radius);align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.88rem;font-weight:500;text-decoration:none;display:flex}.sidebar nav a:hover{background:var(--color-bg-alt)}.sidebar nav a.active{background:var(--color-secondary);color:#fff}.sidebar-header{display:contents}.mobile-nav-toggle{display:none}.sidebar .switch-role{border-top:1px solid var(--color-border);margin-top:auto;padding-top:1rem}.role-pill{background:var(--color-bg-alt);color:var(--color-secondary);border-radius:999px;align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.3rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.role-pill .dot{background:var(--color-secondary);border-radius:50%;width:8px;height:8px}.main{flex:1;max-width:1400px;padding:2rem 2.4rem}.topbar{justify-content:space-between;align-items:center;margin-bottom:1.6rem;display:flex}.topbar .date{color:var(--color-text-muted);font-size:.85rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.3rem 1.4rem}.lesson-card.is-past{opacity:.55}.lesson-card.is-past .badge{background:var(--color-bg-alt);color:var(--color-text-muted)}.lesson-card.is-cancelled{border-color:var(--color-danger);background:var(--color-danger-bg)}.lesson-card.is-cancelled h3,.slot-row.is-cancelled .title{text-decoration:line-through;-webkit-text-decoration-color:var(--color-danger);text-decoration-color:var(--color-danger)}.slot-row.is-cancelled{opacity:.7;background:var(--color-danger-bg)}.course-details.is-past{opacity:.55}.course-details.is-past .badge{background:var(--color-bg-alt);color:var(--color-text-muted)}.course-details.is-cancelled{border-color:var(--color-danger);background:var(--color-danger-bg)}.course-details.is-cancelled .col-name .name{text-decoration:line-through;-webkit-text-decoration-color:var(--color-danger);text-decoration-color:var(--color-danger)}.course-summary .col-people{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;overflow:hidden}.grid{gap:1.1rem;display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-span-2{grid-column:span 2}.grid-span-3{grid-column:span 3}.grid-span-4{grid-column:span 4}@media (max-width:1000px) and (min-width:721px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.kpi{flex-direction:column;gap:.3rem;display:flex}.kpi .value{font-family:var(--font-heading);color:var(--color-secondary);font-size:2.1rem;font-weight:700}.kpi .label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.kpi-compact .kpi .value{white-space:nowrap;font-variant-numeric:lining-nums;font-size:1.3rem}.kpi .sub{color:var(--color-text-muted);font-size:.78rem}.quick-link{color:inherit;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:block}.quick-link:hover{box-shadow:var(--shadow-md);border-color:var(--color-secondary)}.quick-link-title{margin-bottom:.3rem;font-weight:600}.today-lessons{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.today-lessons li a{color:inherit;text-decoration:none}.today-lessons li a:hover{color:var(--color-primary)}.section-title{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-title h2{margin:0}.badge{border-radius:999px;padding:.2em .65em;font-size:.72rem;font-weight:600;display:inline-block}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-neutral{background:var(--color-bg-alt);color:var(--color-text-muted)}.badge-misto{background:var(--color-info-bg);color:var(--color-primary)}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll table{min-width:100%}table{border-collapse:collapse;width:100%;font-size:.86rem}thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);z-index:2;background:var(--color-bg);padding:.6rem .7rem;font-size:.72rem;font-weight:600;position:sticky;top:0}tbody td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.65rem .7rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--color-bg-alt)}.table-compact tbody td{padding:.4rem .7rem}.select-sm,.input-sm{width:auto;padding:.3em .5em;font-size:.78rem}.select-sm{max-width:140px}.input-sm{max-width:118px}.day-section{margin-bottom:1.6rem}.day-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin:0 0 .5rem;padding-bottom:.3rem;font-size:1rem}.course-table{flex-direction:column;gap:.5rem;display:flex}.course-row-container{align-items:flex-start;gap:.5rem;scroll-margin-top:1rem;display:flex}.course-details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex:1;min-width:0;overflow:hidden}.course-details[open]{border-color:var(--color-primary)}.course-summary{cursor:pointer;align-items:center;gap:.7rem;padding:.6rem .9rem;list-style:none;display:flex}.course-summary::-webkit-details-marker{display:none}.course-summary::marker{content:""}.course-summary .col-time{flex-shrink:0;width:52px;font-weight:600}.course-summary .col-name{flex:1;min-width:0}.course-summary .col-name .name{font-weight:600}.course-summary .col-name .teacher{color:var(--color-text-muted);font-size:.78rem}.course-summary .col-group{width:130px;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:.8rem;overflow:hidden}.course-summary .col-badges{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.4rem;min-width:190px;max-width:340px;display:flex}.course-summary .chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.course-details[open] .chevron{transform:rotate(90deg)}.course-edit-panel{border-top:1px solid var(--color-border);padding:.9rem}.course-delete-form{flex-shrink:0}.course-chip-list{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.course-chip{white-space:nowrap;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.35em .7em;font-size:.8rem;font-weight:400;display:inline-flex}.course-chip span{opacity:.85;font-size:.9em}.course-search-results{border:1px solid var(--color-border);border-radius:var(--radius);max-height:220px;margin-top:.4rem;padding:.3rem;overflow:hidden auto}.course-search-item{color:var(--color-text);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.6rem;padding:.4em .5em;font-size:.86rem;font-weight:400;display:flex}.course-search-item:hover{background:var(--color-bg-alt)}.course-search-item input[type=checkbox]{flex-shrink:0;width:auto;padding:0}@media (max-width:720px){.course-summary .col-group,.course-summary .col-people{display:none}.course-summary{flex-wrap:wrap}.course-summary .col-name{min-width:55%}}.day-columns{grid-template-columns:repeat(7,1fr);gap:.8rem;display:grid}.day-col{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:120px;padding:.8rem}.day-col.today{border-color:var(--color-primary);box-shadow:0 0 0 2px #c1673f1f}.day-col h4{text-transform:capitalize;color:var(--color-secondary);margin-bottom:.6rem;font-size:.82rem}.slot-card{background:var(--color-bg-alt);border-radius:var(--radius);margin-bottom:.5rem;padding:.55rem .65rem;font-size:.78rem}.slot-card .name{font-weight:600}.slot-card .meta{color:var(--color-text-muted);font-size:.72rem}.slot-card .capacity{align-items:center;gap:.4rem;margin-top:.3rem;display:flex}.capacity-bar{background:var(--color-border);border-radius:3px;flex:1;height:5px;overflow:hidden}.capacity-bar span{background:var(--color-secondary-light);height:100%;display:block}.capacity-bar.full span{background:var(--color-danger)}.login-wrap{background:var(--color-surface);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-box{text-align:center;width:100%;max-width:880px}.login-logo{width:auto;height:96px;margin:0 auto;display:block}.login-box .tagline{color:var(--color-text-muted);margin-bottom:2.4rem;font-size:1rem}.role-cards{text-align:left;grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}@media (max-width:800px){.role-cards{grid-template-columns:1fr}}.role-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);padding:1.6rem;transition:all .15s}.role-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-3px)}.role-card .icon{margin-bottom:.6rem;font-size:1.8rem}.role-card h3{margin-bottom:.4rem}.role-card p{margin-bottom:0;font-size:.82rem}.empty{text-align:center;color:var(--color-text-muted);padding:2.4rem 1rem}.muted{color:var(--color-text-muted)}.text-sm{font-size:.8rem}.flex{align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.mt-sm{margin-top:.5rem}.mt-lg{margin-top:1.5rem}.mb-md{margin-bottom:1rem}.toast{background:var(--color-secondary);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:999;opacity:0;pointer-events:none;padding:.8rem 1.2rem;font-size:.85rem;transition:all .25s;position:fixed;bottom:1.5rem;right:1.5rem;transform:translateY(10px)}.toast.show{opacity:1;transform:translateY(0)}.progress-track{background:var(--color-border);border-radius:4px;height:8px;overflow:hidden}.progress-track span{background:var(--color-primary);height:100%;display:block}.modal-backdrop{z-index:900;background:#2e2a2666;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:420px;max-width:90vw;box-shadow:var(--shadow-md);padding:1.6rem}.note-box{background:var(--color-info-bg);border-left:3px solid var(--color-secondary-light);border-radius:var(--radius);color:var(--color-text-muted);margin-bottom:1rem;padding:.7rem 1rem;font-size:.8rem}.tabs{border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;gap:.4rem;margin-bottom:1.2rem;display:flex;overflow-x:auto}.tabs button,.tabs a{color:var(--color-text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.6rem .9rem;font-weight:500}.tabs button.active,.tabs a.active{color:var(--color-secondary);border-bottom-color:var(--color-primary)}.date-picker-popup{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:230px;padding:.6rem;position:absolute;top:calc(100% + .3rem);left:0;box-shadow:0 4px 16px #0000001f}.credit-history-popup{text-align:left;z-index:1;width:max-content;max-width:400px;position:absolute;top:100%;right:0}code{background:var(--color-bg-alt);border-radius:4px;padding:.15em .4em;font-size:.85em}@media (max-width:720px){html,body{font-size:16px}h1{font-size:1.6rem}h2{font-size:1.25rem}.app-shell{flex-direction:column;min-height:auto}.sidebar{z-index:50;border-right:none;border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:.5rem;width:100%;height:auto;padding:.7rem .9rem;position:sticky;top:0;overflow-y:visible}.sidebar .brand{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.sidebar .brand-logo{height:26px}.sidebar .brand small{margin-top:0;font-size:.65rem}.sidebar-header{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.mobile-nav-toggle{cursor:pointer;min-width:44px;min-height:44px;color:var(--color-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:.3rem .5rem;font-size:1.3rem;line-height:1;display:inline-flex}.sidebar nav{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:60;flex-direction:column;margin-top:0;padding:.5rem;display:none;position:absolute;top:calc(100% + .4rem);left:0;right:0}.sidebar nav.open{display:flex}.sidebar nav a{white-space:normal;padding:.7rem .75rem;font-size:.9rem}.sidebar .switch-role{border-top:none;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:0;padding-top:0;display:flex}.sidebar .switch-role .role-pill{margin-bottom:0;margin-right:auto;font-size:.72rem}.sidebar .switch-role>p{display:none}.sidebar .switch-role .flex{flex-wrap:nowrap;flex-shrink:0;margin-bottom:0!important}.main{max-width:100%;padding:1rem 1rem 3rem}.topbar{flex-direction:column;align-items:flex-start;gap:.3rem}.topbar .date{font-size:.75rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.grid-span-2,.grid-span-3,.grid-span-4{grid-column:span 1}.day-columns{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:.7rem;margin:0 -.2rem;padding:.2rem;display:flex;overflow-x:auto}.day-col{scroll-snap-align:start;min-width:78%}table{font-size:.78rem}thead th,tbody td{padding:.5rem .4rem}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:88vh;position:fixed;bottom:0;left:0;overflow-y:auto}.modal-backdrop{align-items:flex-end}.role-cards{grid-template-columns:1fr}.login-logo{height:76px}.toast{text-align:center;bottom:1rem;left:1rem;right:1rem}.flex{flex-wrap:wrap}.date-picker-popup{width:min(280px,100vw - 2rem);max-width:calc(100vw - 2rem);position:fixed;bottom:1rem;right:auto;transform:translate(-50%);top:auto!important;left:50%!important}.credit-history-popup{width:min(320px,100vw - 2rem);max-width:calc(100vw - 2rem);max-height:60vh;position:fixed;inset:auto auto 1rem 50%;overflow-y:auto;transform:translate(-50%)}}@media (max-width:420px){.student-wrap{padding:1.1rem .8rem 2.5rem}.slot-row{flex-direction:column;align-items:stretch}.slot-row button{width:100%}.kpi .value{font-size:1.7rem}}@media (max-width:720px),(pointer:coarse){button,.btn,.sidebar nav a,select,input{min-height:44px}}.student-wrap{max-width:720px;margin:0 auto;padding:1.6rem 1.2rem 3rem}.student-header{text-align:center;margin-bottom:1.6rem}.student-logo{width:auto;height:72px;margin:0 auto;display:block}.room-tag{background:var(--color-bg-alt);color:var(--color-primary);border-radius:999px;margin-top:.4rem;padding:.25rem .8rem;font-size:.8rem;font-weight:600;display:inline-block}.slot-list{flex-direction:column;gap:.7rem;display:flex}.slot-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.9rem 1rem;display:flex}.slot-row .info .title{font-weight:600}.slot-row .info .meta{color:var(--color-text-muted);font-size:.8rem}.tooltip-trigger{position:relative}.tooltip-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);white-space:normal;width:max-content;max-width:280px;box-shadow:var(--shadow-md);z-index:100;pointer-events:none;padding:.5rem .75rem;font-size:.78rem;font-weight:400;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-trigger:hover .tooltip-box{display:block}tr:target{outline:2px solid var(--color-primary);outline-offset:-2px;scroll-margin-top:5rem}
.only-mobile{display:none}@media (max-width:720px){.only-desktop{display:none}.only-mobile{display:block}.flash-success{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;box-shadow:var(--shadow-md);background:var(--color-success-bg);margin:0;animation:5s forwards m-toast;position:fixed}@keyframes m-toast{0%,85%{opacity:1;transform:none}to{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}}.m-searchbar{z-index:5;background:var(--color-bg);padding:.5rem 0 .6rem;position:sticky;top:0}.m-searchbar input{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;width:100%;height:48px;padding:0 .9rem;font-size:16px}.m-count{color:var(--color-text-muted);padding-bottom:.4rem;font-size:.78rem}.m-list{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.m-row{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.5rem;padding:.8rem .1rem;display:flex}.m-row-tap{cursor:pointer}.m-row-tap:active{background:var(--color-bg-alt)}.m-row-name{overflow-wrap:anywhere;font-size:1.02rem;font-weight:600}.m-row-mail{color:var(--color-text-muted);font-size:.78rem;font-weight:400;display:block}.m-row-empty{color:var(--color-text-muted);font-size:.82rem}.m-chips{flex-wrap:wrap;gap:.5rem;display:flex}.m-chip{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);border-radius:999px;align-items:center;gap:.4rem;padding:0 .9rem;font-size:.9rem;display:inline-flex}.m-chip:active{background:var(--color-bg-alt)}.m-chip small{color:var(--color-text-muted);font-size:.78rem}.m-chip-when{white-space:nowrap}.m-chip-marked{border-color:var(--color-success);background:var(--color-success-bg);flex:100%}.m-chip-marked .m-badge{margin-left:auto}.m-badge{background:var(--color-success);color:#fff;white-space:nowrap;border-radius:999px;padding:.15rem .5rem;font-size:.74rem;font-weight:600}.m-scrim{z-index:20;background:#1e142873;position:fixed;inset:0}.m-sheet{z-index:30;background:var(--color-surface);border-radius:22px 22px 0 0;flex-direction:column;max-height:92vh;animation:.26s cubic-bezier(.2,.8,.2,1) m-sheet-in;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0000002e}@keyframes m-sheet-in{0%{transform:translateY(100%)}to{transform:none}}.m-grab{background:var(--color-border);border-radius:2px;width:40px;height:4px;margin:8px auto 0}.m-sheet-head{justify-content:space-between;align-items:flex-start;gap:.8rem;padding:.6rem 1rem .4rem;display:flex}.m-sheet-head h2{color:var(--color-primary-dark);margin:0;font-size:1.8rem;line-height:1.05}.m-sheet-head p{color:var(--color-text-muted);margin:.15rem 0 0;font-size:.85rem}.m-close{background:var(--color-bg-alt);width:44px;height:44px;color:var(--color-text);border:0;border-radius:50%;flex:none}.m-sheet-body{flex-direction:column;gap:1.1rem;padding:.25rem 1rem .8rem;display:flex;overflow-y:auto}.m-sheet-foot{padding:.7rem 1rem calc(.8rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border)}.m-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5rem;font-size:.7rem;font-weight:600}.m-pick{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.5rem;display:grid}.m-pick button{border:1.5px solid var(--color-border);background:var(--color-surface);min-height:56px;color:var(--color-text);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:.4rem .5rem;line-height:1.2;display:flex}.m-pick button b{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.m-pick button span{color:var(--color-text-muted);font-size:.76rem}.m-pick button[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-info-bg)}.m-pick button[aria-pressed=true] b{color:var(--color-primary-dark)}.m-pick .m-pick-other{border-style:dashed}.m-pick-course button{text-align:left;align-items:flex-start}.m-other-date{margin-top:.6rem}.m-note{background:var(--color-warning-bg);color:var(--color-warning);border-radius:10px;margin:.6rem 0 0;padding:.5rem .75rem;font-size:.82rem}.m-types{flex-direction:column;gap:.5rem;display:flex}.m-type{text-align:left;border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;min-height:60px;color:var(--color-text);border-radius:14px;align-items:flex-start;gap:.75rem;padding:.7rem .85rem;display:flex}.m-type b{font-size:.95rem;font-weight:600;display:block}.m-type-hint{color:var(--color-text-muted);font-size:.82rem;display:block}.m-radio{border:2px solid var(--color-border);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.m-radio:after{content:"";background:var(--color-primary);border-radius:50%;width:10px;height:10px;transform:scale(0)}.m-type[aria-checked=true]{border-color:var(--color-primary);background:var(--color-info-bg)}.m-type[aria-checked=true] .m-radio{border-color:var(--color-primary)}.m-type[aria-checked=true] .m-radio:after{transform:scale(1)}.m-cta{background:var(--color-primary);color:#fff;border:0;border-radius:14px;width:100%;height:54px;font-size:1rem;font-weight:600}.m-cta:active{background:var(--color-primary-dark)}.m-cta:disabled{opacity:.5}}@media (prefers-reduced-motion:reduce){.m-sheet{animation:none}}
