@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}}.loading-screen{color:#71807d;place-content:center;justify-items:center;gap:12px;min-height:100vh;display:grid}.loading-screen p{font-size:12px}.sidebar-empty{color:#9aa5a2;margin:0 12px;font-size:12px}.empty-dashboard{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 108px);padding:40px;display:flex}.empty-dashboard .empty-icon{width:64px;height:64px;color:var(--green);background:#e4f2ee;border-radius:18px;place-items:center;font-size:27px;display:grid}.empty-dashboard h2{margin:22px 0 8px;font:600 30px Georgia}.empty-dashboard p{color:var(--muted);margin:0 0 25px;font-size:14px}.planning-list{gap:6px;display:grid}.planning-list button{text-align:left;color:var(--ink);background:#f3f7f5;border:0;border-radius:9px;padding:11px}.planning-list b,.planning-list small{display:block}.planning-list small{color:var(--muted);margin-top:4px}.dashboard-content{max-width:1100px;margin:auto;padding:40px 45px}.planning-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px;margin-top:25px;display:grid}.planning-grid article{border:1px solid var(--line);background:#fff;border-radius:13px;gap:14px;padding:20px;display:flex}.planning-grid article>span{width:42px;height:42px;color:var(--green);background:#e4f2ee;border-radius:11px;place-items:center;display:grid}.planning-grid h3{margin:0;font:600 18px Georgia}.planning-grid p{color:var(--muted);font-size:11px}.planning-grid small{color:var(--green);font-size:10px}.planning-form{gap:16px;margin:24px 0;display:grid}.planning-form label{font-size:11px;font-weight:700}.planning-form label span{color:var(--muted);font-weight:400}.planning-form input{border:1px solid #d9e0de;border-radius:8px;width:100%;margin-top:7px;padding:12px;display:block}.auth-page{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-panel{color:#fff;background:#1f5f54;flex-direction:column;padding:45px 8vw;display:flex}.auth-brand{color:#fff;padding:0}.auth-copy{max-width:510px;margin:auto 0}.auth-copy .kicker{color:#aad4ca}.auth-copy h1{margin:18px 0;font:600 50px/1.07 Georgia}.auth-copy>p{color:#d8ebe6;line-height:1.7}.auth-quote{border-left:2px solid #eeb08d;margin-top:70px;padding:8px 20px;font:italic 17px Georgia}.auth-quote small{color:#b9d7d0;margin-top:10px;font:11px Arial;display:block}.auth-form-wrap{place-items:center;padding:40px;display:grid}.auth-form{width:min(400px,100%)}.auth-form h2{margin-bottom:8px;font:600 31px Georgia}.auth-form>p{color:#71807d;margin-bottom:30px;font-size:13px}.auth-form>label{margin:15px 0;font-size:11px;font-weight:700;display:block}.auth-form input{border:1px solid #d9e0de;border-radius:8px;width:100%;margin-top:7px;padding:12px;display:block}.auth-message,.config-note{color:#277567;background:#edf4f1;border-radius:8px;padding:10px;font-size:11px}.auth-links{justify-content:space-between;margin-top:20px;display:flex}.auth-links button{color:#277567;background:0 0;border:0;font-size:11px}.auth-form .form-grid{margin:0}.auth-form .full{margin-top:8px;padding:13px}.auth-form button:disabled{opacity:.5}@media (max-width:750px){.auth-page{grid-template-columns:1fr}.auth-panel{min-height:300px;padding:30px}.auth-copy h1{font-size:35px}.auth-quote{display:none}.auth-form-wrap{padding:45px 25px}}:root{--ink:#23312f;--muted:#71807d;--green:#277567;--line:#e5eae8}*{box-sizing:border-box}body{color:var(--ink);background:#f5f6f3;margin:0;font-family:Arial,sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:5;background:#fff;flex-direction:column;width:268px;padding:29px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 8px 32px;font-size:14px;line-height:1.05;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:39px;height:39px;font:23px Georgia;display:grid}.nav-item,.steps button{text-align:left;color:#50605d;background:0 0;border:0;width:100%}.nav-item{padding:11px 12px;font-size:14px;font-weight:650}.nav-label{letter-spacing:.12em;color:#9aa5a2;margin:26px 12px 12px;font-size:10px}.plan-name{background:#f3f7f5;border-radius:11px;align-items:center;gap:11px;padding:11px;display:flex}.plan-name>span{color:var(--green);background:#dcece7;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.plan-name b,.plan-name small{font-size:13px;display:block}.plan-name small{color:var(--green);margin-top:4px;font-size:11px}.steps{border-left:1px solid #e4e9e7;margin:0;padding:15px 0 0 15px;list-style:none}.steps button{align-items:center;gap:10px;padding:9px 0;font-size:12px;display:flex}.steps button span{background:#fff;border:1px solid #d8dfdd;border-radius:50%;place-items:center;width:24px;height:24px;margin-left:-13px;font-size:10px;display:grid}.steps button.active{color:var(--ink);font-weight:700}.steps button.active span{background:var(--green);border-color:var(--green);color:#fff}.steps button.done span{color:var(--green);background:#e3f1ed;border-color:#e3f1ed}.profile{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:auto;padding-top:19px;display:flex}.profile>span,.avatar{width:34px;height:34px;color:var(--green);background:#e7efec;border:0;border-radius:50%;place-items:center;font-weight:700;display:grid}.profile b,.profile small{font-size:12px;display:block}.profile small{color:#87928f;margin-top:3px;font-size:10px}.profile button{background:0 0;border:0;margin-left:auto}.workspace{width:calc(100% - 268px);margin-left:268px}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:108px;padding:25px 45px;display:flex}header p{color:#8a9693;margin:0 0 8px;font-size:11px}h1{margin:0;font:600 23px Georgia}button{font:inherit;cursor:pointer}.header-actions{align-items:center;gap:11px;display:flex}.ghost,.primary{border-radius:9px;padding:10px 15px;font-size:12px;font-weight:700}.ghost{color:#41504d;background:#fff;border:1px solid #dce2e0}.primary{border:1px solid var(--green);background:var(--green);color:#fff}.content{max-width:1280px;margin:auto;padding:35px 45px}.hero-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:17px;padding:38px 44px;box-shadow:0 8px 28px #1f3c3510}.eyebrow,.kicker{letter-spacing:.14em;color:var(--green);font-size:10px;font-weight:800}.hero-grid{text-align:left;grid-template-columns:1.45fr .8fr;align-items:center;gap:50px;margin:20px 0 30px;display:grid}.hero-grid h2,.toolbar h2,.result-top h2,.modal h2{margin:0 0 13px;font:600 29px/1.2 Georgia}.hero-grid p,.toolbar p,.result-top p{color:var(--muted);font-size:13px;line-height:1.7}.score{border-left:1px solid var(--line);padding:10px 0 10px 45px}.score span{width:34px;height:34px;color:var(--green);background:#e4f2ee;border-radius:50%;place-items:center;margin-bottom:13px;display:grid}.score b,.score small{display:block}.score small{color:var(--muted);margin-top:6px;font-size:11px}.big{min-width:290px;padding:15px 22px;font-size:14px;box-shadow:0 8px 18px #2775672e}.hint{color:#929c99;font-size:10px}.checks{grid-template-columns:repeat(3,1fr);gap:13px;margin:15px 0;display:grid}.checks article{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:18px;display:flex}.check-icon{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.c0{background:#e4f2ee}.c1{background:#fbe9e1}.c2{background:#e7edf7}.checks b,.checks p{margin:0;font-size:11px;display:block}.checks p{color:var(--muted);margin-top:4px;font-size:10px}.checks button{color:var(--green);background:0 0;border:0;margin-left:auto;font-size:10px;font-weight:700}.info{border-left:3px solid var(--green);background:#edf4f1;border-radius:8px;padding:16px 20px}.info b{font-size:11px}.info p{color:#62716e;margin:4px 0 0;font-size:10px}.toolbar,.result-top{justify-content:space-between;align-items:flex-end;display:flex}.summary-row{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:38px;margin:25px 0 14px;padding:13px 18px;display:flex}.summary-row div b,.summary-row div span{display:block}.summary-row div b{font-size:18px}.summary-row div span{color:var(--muted);text-transform:uppercase;font-size:9px}.summary-row label{border:1px solid var(--line);color:#87918f;border-radius:8px;margin-left:auto;padding:8px 11px}.summary-row input{border:0;outline:0}.student-table{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.table-head,.table-row{grid-template-columns:1.4fr .7fr 1.7fr .7fr 30px;align-items:center;padding:0 20px;display:grid}.table-head{color:#8b9693;background:#fafbf9;height:42px;font-size:9px}.table-row{border-top:1px solid var(--line);height:64px;font-size:11px}.student{align-items:center;gap:11px;display:flex}.student i{width:32px;height:32px;color:var(--green);background:#edf3f1;border-radius:50%;place-items:center;font-style:normal;display:grid}.table-row button{background:0 0;border:0}.badge{color:var(--green);background:#e5f3ee;border-radius:12px;padding:5px 9px;font-size:9px;font-style:normal}.amber{color:#ad7622;background:#fdf1dd}.bottom-actions{justify-content:space-between;margin-top:20px;display:flex}.result-top>div:last-child{gap:9px;display:flex}.metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 15px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:11px;padding:15px;position:relative}.metrics span{color:#87928f;font-size:9px;display:block}.metrics b{margin-top:9px;font:600 24px Georgia;display:block}.metrics small{color:var(--muted);font-size:9px}.metrics em{color:var(--green);font-size:10px;position:absolute;top:34px;right:13px}.calendar{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.calendar-head{border-bottom:1px solid var(--line);grid-template-columns:64px repeat(5,1fr);height:55px;display:grid}.calendar-head>span{text-align:center;border-left:1px solid var(--line);padding:13px 10px;font-size:10px;font-weight:700}.calendar-head small{color:#8b9693;margin-top:5px;font-size:8px;font-weight:400;display:block}.calendar-body{background:repeating-linear-gradient(#0000 0 calc(20% - 1px),#edf0ef calc(20% - 1px) 20%);grid-template-columns:64px repeat(5,1fr);height:430px;display:grid}.hours,.day-col{border-right:1px solid var(--line);position:relative}.hours span{color:#8e9996;font-size:9px;position:absolute;right:12px;transform:translateY(-5px)}.hours span:first-child{top:0}.hours span:nth-child(2){top:20%}.hours span:nth-child(3){top:40%}.hours span:nth-child(4){top:60%}.hours span:nth-child(5){top:80%}.hours span:nth-child(6){top:100%}.course{color:#285e54;text-align:left;background:#dff0eb;border:1px solid #b9d8cf;border-radius:6px;min-height:34px;padding:6px 8px;position:absolute;left:5px;right:5px;overflow:hidden}.course b,.course small{font-size:9px;display:block}.course small{font-size:8px}.course i{background:#fff8;padding:2px;font-size:7px;position:absolute;top:5px;right:5px}.course.collective{color:#984d32;background:#f9e5dc;border-color:#f0bda7}.course.selected{outline:3px solid #ef8c62}.move-note{color:#fff;background:#23312f;border-radius:10px;padding:12px 18px;font-size:11px;position:fixed;bottom:25px;left:50%}.move-note button{color:#9ed8cb;background:0 0;border:0}.placeholder{text-align:center;border:1px solid var(--line);background:#fff;border-radius:16px;max-width:650px;margin-top:50px;padding:70px}.placeholder>span{width:48px;height:48px;color:var(--green);background:#e4f2ee;border-radius:50%;place-items:center;margin:auto;display:grid}.placeholder h2{font:600 28px Georgia}.placeholder p{color:var(--muted)}.modal-backdrop{z-index:10;background:#17302b80;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(580px,95%);padding:30px;position:relative}.close{background:0 0;border:0;font-size:25px;position:absolute;top:15px;right:20px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;margin:24px 0;display:grid}.form-grid label{font-size:10px;font-weight:700}.form-grid input,.form-grid select{background:#fff;border:1px solid #dce2e0;border-radius:8px;width:100%;margin-top:6px;padding:10px;display:block}.validation{color:var(--green);background:#e8f4f0;border-radius:8px;margin-bottom:16px;padding:10px;font-size:11px}.full{width:100%}.toast{color:#fff;z-index:20;background:#263b36;border-radius:10px;padding:13px 18px;font-size:11px;position:fixed;bottom:30px;right:30px}@media (max-width:900px){.sidebar{width:74px;padding:20px 10px}.brand span:last-child,.nav-label,.plan-name div,.profile div,.profile button{display:none}.steps{border:0;padding-left:8px}.steps button{font-size:0}.steps button span{margin:0;font-size:10px}.workspace{width:calc(100% - 74px);margin-left:74px}header,.content{padding-left:22px;padding-right:22px}.hero-grid{grid-template-columns:1fr}.checks,.metrics{grid-template-columns:1fr 1fr}.calendar{overflow-x:auto}.calendar-head,.calendar-body{min-width:800px}}@media (max-width:600px){.content{padding:22px 14px}.hero-card{padding:26px 20px}.checks,.metrics{grid-template-columns:1fr}.toolbar,.result-top{flex-direction:column;align-items:flex-start;gap:18px}.table-head{display:none}.table-row{grid-template-columns:1fr auto;height:auto;padding:15px}.table-row>span:nth-child(2),.table-row>span:nth-child(3){display:none}.form-grid{grid-template-columns:1fr}}@media print{.sidebar,header,.result-top button,.move-note{display:none}.workspace{width:100%;margin:0}}
.site-signature{z-index:20;color:#596763;letter-spacing:.025em;opacity:.9;pointer-events:none;white-space:nowrap;background:#ffffffd1;border:1px solid #59676324;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:500;position:fixed;bottom:12px;right:18px;box-shadow:0 2px 8px #1f3c350f}@media (max-width:600px){.site-signature{opacity:.9;padding:3px 7px;font-size:9px;bottom:8px;right:10px}}@media print{.site-signature{display:none!important}}
