:root{--header-blue: #A6E2F9;--header-blue-soft: #D8ECF8;--logo-teal: #5FA09E;--card-teal: #5FA09E;--card-teal-dark: #4c8987;--btn-teal: #5FA09E;--btn-teal-hover: #4c8987;--footer-dark: #2E2516;--ink: #2E2516;--ink-soft: #6B6455;--muted: #9A948A;--line: #D5D0C4;--field-bg: #EEF3F6;--field-bg-soft: #EEF3F6;--page-bg: #F4F7F8;--white: #ffffff;--pri-red: #FADBD8;--pri-red-soft: #FADBD8;--pri-yellow: #E0DE85;--pri-yellow-soft: #F2F1C7;--pri-green: #DEF2DE;--pri-green-soft: #DEF2DE;--pri-blue: #A6E2F9;--pri-blue-soft: #D8ECF8;--danger: #C0392B;--highlight-yellow: #E0DE85;--link: #C0392B;--radius: 10px;--radius-sm: 7px;--shadow-sm: 0 1px 2px rgba(20, 30, 45, .06);--shadow-md: 0 6px 18px rgba(20, 30, 45, .08);--serif: Georgia, "Times New Roman", serif;--sans: "Segoe UI", Helvetica, Arial, sans-serif;--brand-light-blue: #A6E2F9;--brand-dark-blue: #5FA09E;--brand-light-brown: #E0DE85;--brand-dark-brown: #2E2516;--brand-bg: #F4F7F8;--brand-shadow: 0 1px 3px rgba(46, 37, 22, .15)}*{box-sizing:border-box}html,body,#root{height:100%}html{scrollbar-gutter:stable}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--page-bg);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--brand-bg);color:var(--brand-dark-brown)}.app-shell{display:flex;flex:1;min-height:0}.app-main{flex:1;min-width:0}.page{flex:1;padding:24px 34px 60px;max-width:1480px;width:100%;margin:0 auto}.sidebar{width:170px;flex:none;background:var(--brand-light-blue);display:flex;flex-direction:column;padding:14px 16px;min-height:100%}.sidebar-nav{display:flex;flex-direction:column;gap:7px;position:sticky;top:74px}.sidebar-item{display:block;width:100%;text-align:center;padding:8px 6px;border-radius:9px;color:#fff;font-size:14px;font-weight:700;border:1px solid transparent;background:var(--brand-dark-brown);transition:background .12s,box-shadow .12s}.sidebar-item:hover{background:#5c5140}.sidebar-item.active{background:var(--brand-light-brown);color:var(--brand-dark-brown);border-color:var(--card-teal-dark);box-shadow:0 1px 3px #2e251638}.sidebar-item.active:hover{background:#d5d370}.sidebar-item:focus-visible{outline:2px solid var(--brand-dark-brown);outline-offset:2px}.sidebar-divider{border:none;border-top:1px solid rgba(46,37,22,.28);margin:3px 4px}.topbar-v7{display:flex;align-items:center;gap:14px;padding:10px 20px;background:var(--brand-dark-brown);color:#fff;box-shadow:0 2px 6px #0003;position:sticky;top:0;z-index:40;flex-wrap:wrap}.topbar-v7 .brandwrap{background:#fff;border-radius:9px;padding:4px 12px;display:inline-flex;align-items:center;flex:none}.topbar-v7 .brandwrap img{height:34px;width:auto;display:block;object-fit:contain}.topbar-v7 .title{font-weight:700;font-size:18px;color:#fff;white-space:nowrap;font-family:var(--sans);display:inline-flex;align-items:baseline;gap:7px}.topbar-v7 .title .sep{opacity:.85}.topbar-v7 .spacer{flex:1}.topbar-v7 .submenu{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.topbar-v7 .submenu button{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;padding:4px 11px;font-size:12px;font-weight:600;border-radius:8px;white-space:nowrap;transition:background .12s,color .12s}.topbar-v7 .submenu button:hover{background:#ffffff24}.topbar-v7 .submenu button.active{background:var(--brand-light-blue);color:var(--brand-dark-brown);border-color:var(--brand-light-blue)}.topbar-v7 .icon-btn{width:34px;height:34px;border-radius:50%;border:none;display:grid;place-items:center;background:#ffffff1a;color:#fff}.topbar-v7 .icon-btn:hover{background:#fff3}.topbar-v7 .avatar{width:34px;height:34px;border-radius:50%;background:var(--brand-light-brown);color:var(--brand-dark-brown);font-weight:700;display:grid;place-items:center;font-size:13px}.kanban{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:4px 0 24px;align-items:start}@media (max-width: 1400px){.kanban{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.kanban{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.kanban{grid-template-columns:1fr}}.kb-col{background:#eaf0f1;border-radius:12px;padding:12px;display:flex;flex-direction:column;min-height:120px}.kb-col.dragover{outline:2px dashed var(--brand-dark-blue);outline-offset:2px}.kb-col-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:700;padding:4px 6px;border-radius:8px;color:var(--brand-dark-brown);font-size:13px}.kb-col-head .count{margin-left:auto;background:#fff;border-radius:20px;font-size:12px;padding:1px 9px;font-weight:700;color:var(--brand-dark-brown)}.kb-col.col-todo .kb-col-head{border-bottom:3px solid var(--brand-light-blue)}.kb-col.col-doing .kb-col-head{border-bottom:3px solid var(--brand-dark-blue)}.kb-col.col-done .kb-col-head{border-bottom:3px solid var(--brand-light-brown)}.kb-col.col-daily .kb-col-head{border-bottom:3px solid var(--brand-dark-brown)}.kb-col.col-notes .kb-col-head{border-bottom:3px solid #ffffff}.kb-col.col-goals .kb-col-head{border-bottom:3px solid #B5BBC0}.kb-cards{display:flex;flex-direction:column;gap:10px;min-height:40px;flex:1}.kb-empty{text-align:center;color:#9aa;font-size:12px;padding:12px 4px}.kb-card{background:#fff;border-radius:10px;padding:11px 12px;box-shadow:var(--brand-shadow);cursor:grab;position:relative;color:var(--brand-dark-brown);font-size:13px}.kb-card.dragging{opacity:.45}.kb-card.slim{padding:8px 10px}.kb-card .project{font-weight:600;font-size:15px;margin-bottom:3px;padding-right:44px;word-break:break-word}.kb-card .task{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.72;margin-bottom:7px;padding-right:44px;word-break:break-word}.kb-card .meta{display:flex;flex-direction:column;gap:5px;font-size:12.5px}.kb-card .chip{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:2px 8px;align-self:flex-start;color:var(--brand-dark-brown)}.kb-card .chip.who{background:var(--brand-light-blue);font-weight:600}.kb-card .chip.due{background:#eee}.kb-card .chip.due.overdue{background:#fadbd8;color:#922b21;font-weight:600}.kb-card .chip.due.soon{background:var(--brand-light-brown)}.kb-card .chip.recur{background:#8a9096;color:#fff;font-weight:600}.kb-card .chip.tag{background:var(--brand-light-blue);font-weight:600}.kb-card .cfoot{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px;border-top:1px solid rgba(128,128,128,.28);padding-top:6px;font-size:12px;word-break:break-word}.kb-card .cfoot .cdate{opacity:.7}.kb-card .kb-x,.kb-card .kb-dup{position:absolute;top:6px;background:transparent;color:inherit;border:none;width:20px;height:20px;padding:0;border-radius:4px;cursor:pointer;opacity:.6;font-weight:700;display:grid;place-items:center}.kb-card .kb-x{right:6px}.kb-card .kb-dup{right:30px;opacity:.45}.kb-card .kb-x:hover{background:#fadbd8;color:#922b21;opacity:1}.kb-card .kb-dup:hover{opacity:1}.kb-card .unread{background:var(--brand-dark-blue);color:#fff;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:700}.kb-goals{display:flex;flex-direction:column;gap:5px;margin-top:4px;font-size:13px}.kb-goals .row{display:flex;align-items:center;gap:6px}.kb-goals .row .text{flex:1;word-break:break-word}.kb-goals .row .text.done{text-decoration:line-through;opacity:.55}.kb-add{background:transparent;color:var(--brand-dark-blue);border:1px dashed var(--brand-dark-blue);margin-top:10px;padding:7px 10px;font-size:12px;font-weight:600;border-radius:8px}.kb-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0 14px}.kb-toolbar input.kb-filter{padding:7px 12px;border-radius:8px;border:1px solid #d5d0c4;background:#fff;color:var(--brand-dark-brown);font:inherit;font-size:13px;width:240px}.kb-toolbar .kb-updated{margin-left:auto;font-size:11.5px;color:#9a948a}.kb-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#2e251673;display:grid;place-items:center;z-index:200;padding:16px}.kb-modal{background:#fff;border-radius:14px;padding:22px;width:100%;max-width:560px;max-height:92vh;overflow:auto;box-shadow:0 12px 40px #0000004d}.kb-modal h2{font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:16px;color:var(--brand-dark-brown)}.kb-field{margin-bottom:14px}.kb-field>label{display:block;font-size:12.5px;font-weight:600;margin-bottom:5px;color:#6b6455}.kb-field input,.kb-field textarea,.kb-field select{width:100%;padding:9px 11px;border:1px solid #d5d0c4;border-radius:8px;font:inherit;background:#fff;color:var(--brand-dark-brown)}.kb-field textarea{resize:vertical;min-height:64px}.kb-field input:focus,.kb-field textarea:focus,.kb-field select:focus{outline:none;border-color:var(--brand-dark-blue)}.kb-daychecks{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:12.5px}.kb-daychecks label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.kb-daychecks .dayall{font-size:11px;color:var(--brand-dark-blue);text-decoration:underline;cursor:pointer;margin-left:auto}.kb-clist{max-height:240px;overflow:auto;border:1px solid #d9d5c8;border-radius:8px;background:#fbfaf5;margin-bottom:10px}.kb-crow{font-size:13px;display:flex;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #ece8dc}.kb-crow:last-child{border-bottom:none}.kb-crow.unread{background:#eaf6f5;border-left:3px solid var(--brand-dark-blue)}.kb-crow .cdate{color:#8a8474;font-size:11.5px;white-space:nowrap}.kb-crow .cauthor{color:var(--brand-dark-blue);font-weight:700;white-space:nowrap}.kb-crow .ctext{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-crow .cdel{cursor:pointer;color:#c0392b;font-size:12px}.kb-caddrow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.kb-caddrow input{padding:8px 10px;font-size:13px;border:1px solid #d5d0c4;border-radius:8px}.kb-caddrow .comment{flex:1;min-width:140px}.kb-caddrow .author{width:100px}.kb-caddrow .date{width:122px}.kb-caddrow button{padding:8px 12px;background:var(--brand-light-brown);color:var(--brand-dark-brown);border:none;border-radius:8px;font-weight:600;cursor:pointer}.kb-swatches{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.kb-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 1px #ccc}.kb-swatch.sel{box-shadow:0 0 0 2px var(--brand-dark-brown)}.kb-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.kb-actions button{padding:8px 14px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font:inherit}.kb-actions .save{background:var(--brand-dark-blue);color:#fff}.kb-actions .cancel{background:#eee;color:var(--brand-dark-brown)}.kb-actions .del{background:#fff;color:#c0392b;border:1px solid #eecfca;margin-right:auto}.ita-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0 14px;max-width:980px;margin:0 auto}.ita-toolbar input.ita-search{padding:8px 11px;border:1px solid #d5d0c4;border-radius:8px;font:inherit;font-size:13px;background:#fff;color:var(--brand-dark-brown);flex:1;min-width:170px}.ita-toolbar select{padding:8px 11px;border:1px solid #d5d0c4;border-radius:8px;font:inherit;font-size:13px;background:#fff;color:var(--brand-dark-brown)}.ita-toolbar button{padding:6px 12px;border:none;border-radius:8px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ita-toolbar button.clear{background:transparent;color:var(--brand-dark-blue);text-decoration:underline;padding:6px 4px}.ita-toolbar button.toggle{background:var(--brand-light-brown);color:var(--brand-dark-brown)}.ita-toolbar button.add-cat{background:var(--brand-light-blue);color:var(--brand-dark-brown);margin-left:auto}.ita-board{display:flex;flex-direction:column;gap:20px;max-width:980px;margin:0 auto;padding:0 0 24px}.ita-list{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:var(--brand-shadow);border-bottom:3px solid var(--brand-dark-blue);border-left:3px solid var(--brand-light-blue);border-right:3px solid var(--brand-light-brown)}.ita-list-head{display:flex;align-items:center;gap:8px;margin:-14px -19px 12px;padding:10px 16px;font-weight:700;font-size:15px;border-radius:12px 12px 0 0;border-bottom:2px solid #cfcabb;color:var(--brand-dark-brown)}.ita-list-head .name{flex:1;word-break:break-word}.ita-list-head .count{background:#fff;border-radius:20px;font-size:12px;padding:1px 9px;font-weight:700}.ita-list-head .lbtn{background:transparent;border:none;padding:0 4px;font-size:14px;font-weight:700;color:#9a948a;cursor:pointer}.ita-list-head .lbtn:hover{color:var(--brand-dark-blue)}.ita-list-head .lbtn.del:hover{color:#c0392b}.ita-items{display:flex;flex-direction:column;gap:8px;padding-left:18px;min-height:8px}.ita-empty{text-align:center;color:#9aa;font-size:13px;padding:10px 4px}.ita-acc{background:#eef3f6;border-radius:8px;padding:5px 8px 5px 10px;display:flex;align-items:center;gap:8px;border-left:4px solid var(--brand-dark-blue);font-size:13px;color:var(--brand-dark-brown);position:relative}.ita-acc.inactive{opacity:.55}.ita-acc .txt{flex:1.1;min-width:90px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ita-acc .txt:hover{color:var(--brand-dark-blue)}.ita-acc .slot{flex:1.2;min-width:130px;display:flex;align-items:center;gap:4px;overflow:hidden;font-size:12.5px;color:#6b6455}.ita-acc .slot .val{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ita-acc .slot.pw .val{font-family:Consolas,Menlo,monospace;letter-spacing:1px}.ita-acc .slot.pw .val.empty{letter-spacing:0;font-style:italic;color:#b0aa9b}.ita-acc .slot.cost{flex:none;width:78px;justify-content:flex-end;font-variant-numeric:tabular-nums}.ita-acc .slot.start{flex:none;width:92px;justify-content:flex-end}.ita-acc .ibtn{flex:none;background:transparent;border:none;padding:0;width:22px;height:22px;border-radius:4px;cursor:pointer;color:#c9c3b5;font-size:12px;font-weight:700;display:grid;place-items:center}.ita-acc .ibtn:hover{color:var(--brand-dark-blue);background:#0000000a}.ita-acc .ibtn.ok{color:#1e8449}.ita-acc .ibtn.del:hover{background:#fadbd8;color:#922b21}.ita-acc .inactchip{font-size:11px;border-radius:6px;padding:1px 6px;font-weight:600;background:#eee;color:var(--brand-dark-brown)}.ita-notepop{position:absolute;left:12px;top:100%;margin-top:4px;z-index:15;background:var(--brand-dark-brown);color:#fff;font-size:12.5px;line-height:1.45;padding:8px 11px;border-radius:8px;max-width:340px;white-space:pre-wrap;word-break:break-word;box-shadow:0 8px 24px #00000047}.ita-add-item{background:transparent;color:var(--brand-dark-blue);border:none;margin-top:8px;padding:1px 0 1px 18px;font-size:20px;line-height:1.2;font-weight:800;align-self:flex-start;cursor:pointer}.ita-nomatch{text-align:center;color:#9a948a;font-size:14px;padding:30px}.cal-navbtn{background:#fff;border:1px solid #e2ded2;color:var(--brand-dark-brown);width:34px;height:34px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cal-navbtn:hover{background:#f4f2ea}.placeholder-v7{background:#fff;border-radius:12px;box-shadow:var(--brand-shadow);padding:60px 40px;text-align:center;border-left:3px solid var(--brand-light-blue);border-right:3px solid var(--brand-light-brown);border-bottom:3px solid var(--brand-dark-blue);max-width:720px;margin:0 auto}.placeholder-v7 .tag{display:inline-block;margin-bottom:16px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--brand-dark-blue);background:#eaf6f5;padding:4px 12px;border-radius:20px}.placeholder-v7 h2{margin:0 0 8px;color:var(--brand-dark-brown);font-size:22px;font-family:var(--serif);font-weight:400}.placeholder-v7 p{margin:0 auto;color:#8a8474;font-size:14px;max-width:460px;line-height:1.5}.page-title{font-family:var(--serif);font-size:34px;font-weight:400;margin:6px 0 22px;color:var(--ink)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.page-head:not(:has(.page-title)){justify-content:flex-end}.page-head .page-title{margin-bottom:0}.head-actions{display:flex;gap:12px;align-items:center}.icon-btn{width:42px;height:42px;border-radius:50%;border:none;display:grid;place-items:center;background:transparent;color:var(--ink)}.icon-btn.solid{background:#111418;color:#fff}.icon-btn:hover{background:#0000000f}.icon-btn.solid:hover{background:#000}.topbar{background:var(--header-blue);display:flex;align-items:stretch;padding:0 18px;min-height:78px;position:sticky;top:0;z-index:40;box-shadow:0 2px 6px #1e3c5014}.brand{display:flex;align-items:center;gap:12px;padding-right:26px}.brand-logo{display:block;object-fit:contain}.login-card .brand-logo{margin:0 auto 16px}.brand .mark{width:54px;height:54px;flex:none}.brand .word{line-height:.9}.brand .word .crania{font-family:var(--serif);font-size:30px;font-weight:700;color:#20304a;letter-spacing:.5px}.brand .word .verse{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:7px;color:var(--logo-teal);margin-left:2px}.nav{display:flex;align-items:stretch;flex:1}.nav-item{position:relative;display:flex;align-items:center}.nav-btn{border:none;background:transparent;font-weight:700;font-size:15px;color:#1c2733;padding:0 16px;height:100%;display:flex;align-items:center;gap:5px;white-space:nowrap}.nav-btn:hover,.nav-btn.active{color:var(--btn-teal)}.dropdown{position:absolute;top:100%;left:6px;min-width:188px;background:#fff;border-radius:10px;box-shadow:var(--shadow-md);padding:8px;z-index:60;border:1px solid var(--line)}.dropdown button{display:block;width:100%;text-align:left;background:transparent;border:none;padding:9px 12px;border-radius:7px;font-size:14px;color:var(--ink);font-weight:600}.dropdown button:hover{background:var(--header-blue-soft);color:var(--btn-teal)}.topbar-right{display:flex;align-items:center;gap:6px;padding-left:10px}.avatar{width:40px;height:40px;border-radius:50%;background:var(--btn-teal);color:#fff;font-weight:700;display:grid;place-items:center;font-size:15px}.app-footer{text-align:center;font-size:12px;color:#9a948a;padding:16px;background:none;border:none}.footer-band{background:var(--footer-dark);color:#fff;text-align:center;font-family:var(--serif);font-size:26px;padding:16px;letter-spacing:.5px;cursor:pointer}.footer-band:hover{background:#3c372d}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel-teal-head{background:var(--card-teal);color:#fff;text-align:center;font-size:19px;font-weight:700;padding:11px;border-radius:9px;margin-bottom:14px}.field-row{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center;margin-bottom:9px}.field-row label{text-align:right;font-size:13px;color:var(--ink-soft);line-height:1.15}.field-val,.field-input{background:var(--field-bg);border:1px solid transparent;border-radius:6px;padding:9px 11px;font-size:14px;color:var(--ink);width:100%}.field-input:focus{outline:none;border-color:var(--card-teal);background:#fff}.field-val.highlight{background:var(--highlight-yellow)}.field-val.danger{background:var(--danger);color:#fff;font-weight:600}.field-val.link{background:transparent;color:var(--link);padding-left:0;cursor:pointer}.field-val.link:hover{text-decoration:underline}.status-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}.status-card .sc-head{background:var(--header-blue);display:flex;align-items:center;justify-content:space-between;padding:9px 14px;font-weight:700;color:#2e2516;font-size:14px;cursor:pointer}.status-card .sc-body{padding:12px 14px;min-height:56px}.sc-row{display:flex;align-items:flex-start;gap:9px;padding:6px 0;font-size:13.5px;color:var(--ink)}.sc-empty{color:var(--muted);font-size:13px;font-style:italic}.table-wrap{background:#fff;border-radius:10px}table.grid{width:100%;border-collapse:separate;border-spacing:0 8px}.grid th{font-size:13px;color:var(--ink-soft);font-weight:700;text-align:left;padding:0 12px 4px}.grid td{padding:0}.cell-chip{background:var(--field-bg-soft);border-radius:7px;padding:11px 13px;font-size:14px;display:flex;align-items:center}.chip-pill{border-radius:7px;padding:11px 13px;text-align:center;font-weight:700;font-size:14px}.task-bar{border-radius:7px;padding:11px 14px;font-size:14px;color:#4a4a4a;min-height:42px}.due-chip{background:var(--field-bg-soft);border-radius:7px;padding:11px 13px;text-align:center;font-size:13px;color:var(--ink-soft)}.prog-head{display:grid;grid-template-columns:1.1fr 1.1fr .8fr 2fr 1.6fr 1fr;gap:10px}.prog-head .ph{background:var(--card-teal);color:#fff;text-align:center;font-weight:700;padding:11px;border-radius:9px;font-size:15px}.prog-row{display:grid;grid-template-columns:1.1fr 1.1fr .8fr 2fr 1.6fr 1fr;gap:10px;margin-top:9px}.prog-row .pc{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 13px;font-size:14px}.btn{border:none;border-radius:8px;padding:11px 18px;font-weight:700;font-size:14px;background:var(--btn-teal);color:#fff}.btn:hover{background:var(--btn-teal-hover)}.btn.ghost{background:#eef1f2;color:var(--ink)}.btn.ghost:hover{background:#e2e6e8}.btn.block{width:100%}.cbx{width:24px;height:24px;border:2px solid var(--card-teal);border-radius:5px;display:grid;place-items:center;cursor:pointer;background:#fff;color:var(--card-teal-dark)}.cbx.checked{background:#fff}.login-wrap{min-height:100vh;display:grid;place-items:center;background:url(/assets/background-Cl0xFSPW.png) center/cover no-repeat;position:relative;overflow:hidden}.login-card{width:380px;max-width:calc(100vw - 40px);background:#fff;border-radius:18px;padding:38px 34px 30px;box-shadow:0 24px 60px #1c3c502e;text-align:center;position:relative;z-index:2}.login-card .mark{width:78px;height:78px;margin:0 auto 6px;display:block}.login-card h1{font-family:var(--serif);font-size:22px;margin:4px 0}.login-card .sub{color:var(--muted);font-size:13px;margin-bottom:22px}.field-block{text-align:left;margin-bottom:16px}.field-block label{font-size:12px;font-weight:700;color:var(--ink-soft);display:block;margin-bottom:6px}.input-shell{display:flex;align-items:center;gap:8px;background:#f4f6f7;border:1px solid var(--line);border-radius:9px;padding:0 12px}.input-shell:focus-within{border-color:var(--btn-teal);background:#fff}.input-shell input{border:none;background:transparent;outline:none;padding:12px 0;flex:1;font-size:14px}.input-shell .eye{background:transparent;border:none;color:var(--muted);display:grid;place-items:center}.forgot{display:block;text-align:right;font-size:12px;color:var(--btn-teal);margin:-6px 0 16px;text-decoration:none}.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:16px 0}.or:before,.or:after{content:"";height:1px;background:var(--line);flex:1}.login-foot{font-size:13px;color:var(--ink-soft)}.login-foot a{color:var(--btn-teal)}.brand-ghost{position:absolute;right:-40px;bottom:-30px;opacity:.18;font-family:var(--serif);font-size:120px;color:var(--logo-teal);pointer-events:none;-webkit-user-select:none;user-select:none}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:none;background:#fff;padding:8px 16px;font-weight:600;font-size:13px;color:var(--ink-soft)}.seg button.active{background:var(--btn-teal);color:#fff}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-grid .dow{text-align:center;color:var(--card-teal-dark);font-weight:700;font-size:13px;padding:10px 0;border-bottom:1px solid var(--line)}.cal-cell{min-height:96px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 8px;position:relative}.cal-cell .dn{font-size:13px;color:var(--ink-soft);position:absolute;top:6px;right:8px}.cal-cell.out .dn{color:#c4ccd3}.cal-cell.today{background:#fff7e6}.cal-event{font-size:11px;color:#fff;border-radius:4px;padding:2px 5px;margin-top:22px;margin-bottom:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sched-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.sched-grid .col-head{font-size:11px;font-weight:700;color:var(--ink-soft);text-align:center;padding:8px 4px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafbfb}.sched-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px;min-height:120px;display:flex;flex-direction:column;gap:3px}.sched-ev{font-size:9.5px;font-weight:700;color:#fff;border-radius:3px;padding:3px 4px;line-height:1.15}.loc-tab{font-weight:700;color:var(--ink-soft);background:#f0f2f3;text-align:center;padding:6px;font-size:13px;border:1px solid var(--line);border-bottom:none}.stepper{display:flex;align-items:center;padding:18px 22px;overflow-x:auto}.step{width:34px;height:34px;border-radius:50%;background:#d6dade;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;flex:none}.step.active{background:var(--logo-teal);box-shadow:0 0 0 4px #4f9ea040}.step.done{background:var(--card-teal)}.step-line{height:2px;background:var(--line);flex:1;min-width:14px}.survey-body{padding:22px 24px;color:var(--ink-soft);line-height:1.65;font-size:14px}.survey-body b{color:var(--ink)}.fee-calc{width:430px;max-width:100%;background:#f1f3f4;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-md)}.fee-calc .fc-title{background:#111418;color:#fff;text-align:center;font-weight:800;padding:14px;letter-spacing:.5px}.fee-row-dark{background:#1d2329;color:#fff;font-weight:700;font-size:13px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.fee-input{width:70px;background:#fff;border:1px solid #cfd6da;border-radius:4px;padding:8px;text-align:center;font-weight:700}.fee-total-head{background:var(--card-teal);color:#fff;text-align:center;font-weight:700;padding:10px}.fee-line{display:flex;justify-content:space-between;padding:9px 16px;font-size:13px}.fee-line.muted{color:var(--muted);font-size:11px;font-style:italic;justify-content:center}.fee-pay{display:grid;grid-template-columns:1fr 130px;gap:8px;padding:4px 12px}.fee-pay .lab{border-radius:4px;padding:9px 12px;font-size:13px}.fee-pay .amt{border-radius:4px;padding:9px 12px;font-size:13px;text-align:center;font-weight:600}.tone-blue{background:var(--pri-blue-soft)}.tone-gold{background:#e9e08f}.grid-cards{display:grid;gap:16px}.muted{color:var(--muted)}.small{font-size:12px}.flex{display:flex}.between{justify-content:space-between}.items-center{align-items:center}.gap8{gap:8px}.gap12{gap:12px}.gap16{gap:16px}.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}.red-text{color:var(--link)}@media (max-width: 1100px){.nav-btn{font-size:13px;padding:0 10px}.brand{padding-right:14px}}.record-picker{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-6px 0 20px}.record-picker-label{font-size:13px;font-weight:700;color:var(--ink-soft);margin-right:2px}.record-chip{border:1px solid var(--line);background:#fff;color:var(--ink-soft);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.record-chip:hover{border-color:var(--card-teal);color:var(--btn-teal)}.record-chip.active{background:var(--btn-teal);border-color:var(--btn-teal);color:#fff}.reg-form{background:var(--header-blue);border-radius:14px;padding:26px 30px 30px;max-width:920px;box-shadow:var(--shadow-sm)}.reg-section{font-family:var(--sans);font-size:16px;font-weight:800;letter-spacing:.4px;color:#2a3744;text-transform:uppercase;margin:26px 0 14px;padding-bottom:8px;border-bottom:1px solid rgba(42,55,68,.18)}.reg-section:first-child{margin-top:4px}.reg-row{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start;margin-bottom:14px}.reg-label{font-size:13.5px;font-weight:700;color:#2a3744;line-height:1.3;padding-top:9px}.reg-req{color:var(--danger);font-weight:700}.reg-control{min-width:0}.reg-input{width:100%;background:#fff;border:1px solid #cfd6da;border-radius:6px;padding:9px 11px;font-size:14px;color:var(--ink)}.reg-input:focus{outline:none;border-color:var(--btn-teal);box-shadow:0 0 0 3px #2c7a7b26}textarea.reg-input{resize:vertical;min-height:96px}.reg-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reg-stack{display:grid;gap:10px}.reg-radios,.reg-checks{display:flex;flex-direction:column;gap:8px;padding-top:4px}.reg-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.reg-radio,.reg-check{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:#2a3744;line-height:1.35;cursor:pointer}.reg-radio input,.reg-check input{margin-top:2px;accent-color:var(--btn-teal);width:16px;height:16px}.reg-error{color:#b02020;font-size:12px;font-weight:600;margin-top:5px}.reg-consent{display:flex;flex-direction:column;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(42,55,68,.18)}.reg-actions{display:flex;gap:12px;justify-content:center;margin-top:26px}.reg-success{background:#fff;border:1px solid var(--line);border-radius:14px;padding:48px 40px;text-align:center;max-width:640px;margin:0 auto;box-shadow:var(--shadow-md);display:grid;gap:12px;justify-items:center}.reg-success h3{margin:4px 0 0;font-family:var(--serif);font-weight:400;font-size:26px}.reg-success p{color:var(--ink-soft);font-size:15px;max-width:460px;margin:0;line-height:1.6}.reg-success-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:12px}.reg-success-actions .btn{display:inline-flex;align-items:center;gap:7px}@media (max-width: 760px){.reg-row{grid-template-columns:1fr;gap:6px}.reg-label{padding-top:0}.reg-form{padding:20px 16px 24px}}.cust-prog-table{width:100%;border-collapse:collapse}.cust-prog-th{font-size:11px;font-weight:700;color:var(--ink-soft);text-align:center;padding:10px 12px 8px;letter-spacing:.4px;border-bottom:1px solid var(--line);white-space:nowrap}.cust-prog-row:not(:last-child) td{border-bottom:1px solid var(--line)}.cust-prog-cell{padding:10px 12px;font-size:13.5px;color:var(--ink);text-align:center;vertical-align:middle}.cust-pill{display:inline-block;border-radius:6px;padding:5px 11px;font-size:12.5px;font-weight:700;white-space:nowrap}.cal-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.cal-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;border:2px solid;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s,color .15s}.cal-tab:hover{filter:brightness(.96)}.cal-tab-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.cal2-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.cal2-nav{width:38px;height:38px;border-radius:8px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--btn-teal);cursor:pointer}.cal2-nav:hover{background:var(--header-blue-soft)}.cal2-month{font-family:var(--serif);font-size:26px;font-weight:400;margin:0;color:var(--ink)}.cal2-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--header-blue);padding:2px;border-radius:var(--radius);overflow:hidden}.cal2-dow{background:var(--header-blue);color:#1c2733;text-align:center;font-weight:800;font-size:13px;letter-spacing:1px;padding:12px 4px}.cal2-cell{background:#fff;aspect-ratio:1 / 1;margin:1px;padding:6px 7px;display:flex;flex-direction:column;cursor:pointer;overflow:hidden;border-radius:4px}.cal2-cell:hover{background:#f6fafa}.cal2-cell.out{background:#fafbfb;cursor:default}.cal2-cell.out .cal2-day-num{color:#c4ccd3}.cal2-cell.today{background:#eaf6f6;outline:2px solid var(--btn-teal);outline-offset:-2px}.cal2-cell-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.cal2-day-num{font-size:16px;font-weight:700;color:var(--ink);line-height:1}.cal2-cell.today .cal2-day-num{color:var(--btn-teal)}.cal2-today-dot{width:6px;height:6px;border-radius:50%;background:var(--btn-teal)}.cal2-events{display:flex;flex-direction:column;gap:2px;flex:1;overflow:hidden}.cal2-event{display:flex;align-items:center;gap:4px;width:100%;text-align:left;background:var(--btn-teal);color:#fff;border:none;border-radius:4px;padding:3px 6px;font-size:11px;font-weight:700;line-height:1.25;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cal2-event:hover{filter:brightness(1.08)}.cal2-event-time{font-weight:600;opacity:.9;font-size:10px}.cal2-event-title{flex:1;overflow:hidden;text-overflow:ellipsis}.cal2-event-lesson{background:#ffffff40;border-radius:3px;padding:1px 4px;font-size:10px;font-weight:800}.cal2-more{font-size:10px;color:var(--ink-soft);font-weight:600;padding:1px 4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e2d73;display:grid;place-items:center;z-index:200;padding:20px}.modal-card{background:#fff;border-radius:14px;width:100%;max-width:480px;box-shadow:0 24px 60px #141e2d40;display:flex;flex-direction:column;max-height:calc(100vh - 40px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-family:var(--serif);font-size:20px;font-weight:400}.modal-body{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.modal-foot{display:flex;gap:10px;align-items:center;padding:14px 20px;border-top:1px solid var(--line)}.form-label{font-size:12px;font-weight:700;color:var(--ink-soft);margin:10px 0 5px}.form-input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:7px;font-size:14px;background:#fff;color:var(--ink)}.form-input:focus{outline:none;border-color:var(--btn-teal);box-shadow:0 0 0 3px #2c7a7b26}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.weekday-chips{display:flex;gap:6px;flex-wrap:wrap}.weekday-chip{padding:6px 11px;border-radius:6px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:700;color:var(--ink-soft);cursor:pointer}.weekday-chip.on{background:var(--btn-teal);color:#fff;border-color:var(--btn-teal)}.sch-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 12px}.sch-chip{background:#ece9e0;border:none;color:#6b6455;border-radius:6px;padding:5px 11px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit}.sch-chip:hover{filter:brightness(.97)}.sch-chip.clear{background:none;color:var(--brand-dark-blue, #5FA09E);text-decoration:underline;font-weight:700}.sch-note{background:#eef7f6;border:1px solid #cfe4e2;color:#2e2516;border-radius:10px;padding:9px 13px;margin-bottom:10px;font-size:12.5px;line-height:1.45}.sch-note.warn{background:#fffbf0;border-color:#f4d67a;color:#8a6a00}.sch-note .linkish{background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--brand-dark-blue, #5FA09E);text-decoration:underline;cursor:pointer}.sch-filters{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.sch-card{margin-bottom:18px;overflow:hidden;background:#fff;border-radius:12px;box-shadow:var(--brand-shadow)}.sch-loc-head{background:var(--card-teal);color:#fff;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:10px 16px}.sch-grid{display:grid;grid-template-columns:90px repeat(7,1fr);background:#fff}.sch-cell{border-right:1px solid #eee;border-bottom:1px solid #eee;min-height:56px;padding:4px;background:#fff}.sch-cell:nth-child(8n){border-right:none}.sch-head{background:var(--card-teal);color:#fff;text-align:center;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:8px 4px;min-height:34px;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.25)}.sch-head:last-child{border-right:none}.sch-time-head{background:var(--card-teal)}.sch-time{background:#fafaf7;color:var(--muted, #6B6455);font-weight:700;font-size:11.5px;display:grid;place-items:center;text-align:center}.sch-slot{cursor:pointer;display:flex;flex-direction:column;gap:3px}.sch-slot:hover{background:#eefaff}.sch-entry{color:#fff;padding:5px 7px;border-radius:5px;font-size:11px;line-height:1.3;cursor:grab;-webkit-user-select:none;user-select:none}.sch-entry:active{cursor:grabbing}.sch-entry-title{font-weight:800}.sch-entry-teacher{font-weight:600;opacity:.92}.sch-entry-time{font-size:10px;opacity:.88;margin-top:1px}.sch-entry-loc{font-size:9.5px;font-weight:700;background:#ffffff38;padding:1px 5px;border-radius:3px;display:inline-block;margin-top:2px;letter-spacing:.3px}.sch-entry-unassigned{color:#2e2516;background:repeating-linear-gradient(45deg,#e6e9ec,#e6e9ec 6px,#d9dde0 6px,#d9dde0 12px)!important;border:1.5px dashed #9aa4b1}.sch-entry-unassigned-tag{font-size:9.5px;font-weight:800;color:#c0392b;margin-top:2px;text-transform:uppercase;letter-spacing:.4px}.sch-grid-day{grid-template-columns:120px 1fr}.sch-grid-day .sch-cell{min-height:64px}.sch-month-loc{font-weight:600;color:var(--btn-teal)}.sch-month-room-unassigned{color:#c0392b!important;background:repeating-linear-gradient(45deg,#fff,#fff 4px,#fde2e2 4px,#fde2e2 8px)!important;border:1px dashed #c0392b}.sch2-month-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sch2-month-nav{display:inline-flex;align-items:center;gap:8px}.sch2-nav-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--btn-teal);cursor:pointer}.sch2-nav-btn:hover{background:var(--header-blue-soft)}.sch2-month-label{font-family:var(--serif);font-size:18px;font-weight:400;color:var(--ink);padding:0 6px}.sch2-today-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:700;color:var(--ink-soft);cursor:pointer}.sch2-today-btn:hover{border-color:var(--btn-teal);color:var(--btn-teal)}.sch2-month-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--header-blue);padding:2px}.sch2-dow{background:var(--header-blue);color:#1c2733;text-align:center;font-weight:800;font-size:12px;letter-spacing:1px;padding:10px 4px}.sch2-cell{background:#fff;min-height:130px;margin:1px;padding:5px 6px;display:flex;flex-direction:column;overflow:hidden}.sch2-cell.out{background:#fafbfb}.sch2-cell.out .sch2-day-num{color:#c4ccd3}.sch2-cell.today{background:#eaf6f6;outline:2px solid var(--btn-teal);outline-offset:-2px}.sch2-cell-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.sch2-day-num{font-size:14px;font-weight:700;color:var(--ink);line-height:1}.sch2-cell.today .sch2-day-num{color:var(--btn-teal)}.sch2-today-dot{width:6px;height:6px;border-radius:50%;background:var(--btn-teal)}.sch2-cell-body{display:flex;flex-direction:column;gap:2px;flex:1;overflow:hidden}.sch2-pill{display:flex;align-items:center;gap:4px;width:100%;text-align:left;background:var(--btn-teal);color:#fff;border:none;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:700;line-height:1.2;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sch2-pill:hover{filter:brightness(1.08)}.sch2-pill-time{font-weight:600;opacity:.95;font-size:9px}.sch2-pill-title{flex:1;overflow:hidden;text-overflow:ellipsis}.sch2-pill-teacher{font-weight:600;opacity:.92;font-size:9px}.sch2-pill-unassigned{color:#2e2516!important;background:repeating-linear-gradient(45deg,#e6e9ec,#e6e9ec 4px,#d9dde0 4px,#d9dde0 8px)!important;border:1px dashed #9aa4b1}.sch2-more{font-size:9.5px;color:var(--ink-soft);font-weight:600;padding:1px 4px}.sch-month{display:grid;grid-template-columns:1fr;background:#fff}.sch-month-day{border-bottom:1px solid var(--line)}.sch-month-day:last-child{border-bottom:none}.sch-month-day-head{background:var(--header-blue-soft);font-weight:800;font-size:13px;color:var(--ink);padding:8px 16px;letter-spacing:.4px}.sch-month-day-body{padding:8px 12px;display:flex;flex-direction:column;gap:4px}.sch-month-empty{color:var(--muted);font-style:italic;font-size:12px;padding:4px}.sch-month-row{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;background:transparent;border:none;padding:6px;text-align:left;border-radius:6px;cursor:pointer}.sch-month-row:hover{background:#f4f8f9}.sch-month-time{font-weight:700;font-size:13px;color:var(--ink-soft)}.sch-month-title{font-size:13px;color:var(--ink);border-left:4px solid;padding-left:9px}.sch-month-teacher{font-weight:600;color:var(--ink-soft)}.sch-month-room{font-size:11px;font-weight:700;color:#fff;padding:3px 10px;border-radius:999px}.rm-row{display:flex;align-items:center;gap:10px;padding:6px 0}.rm-swatches{display:flex;gap:4px;flex-wrap:wrap}.rm-swatch{width:22px;height:22px;border-radius:5px;border:2px solid #ddd;cursor:pointer;padding:0}.rm-swatch.on{border-color:#2e2516;box-shadow:0 0 0 2px #0000000d}.record-refresh{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.record-refresh:hover{border-color:var(--card-teal);color:var(--btn-teal)}.record-status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);margin-left:4px}.record-status-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
