:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202536;background:#f6f7fb;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#202536;--muted:#8990a2;--line:#e9ebf1;--purple:#6757d9;--purple-soft:#efedff;--sidebar:#171c2b;--green:#209b72;--shadow:0 8px 28px rgba(27,34,59,.055)}*{box-sizing:border-box}body{margin:0;min-width:360px;min-height:100vh}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--sidebar);color:#fff;padding:26px 16px 18px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 34px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:linear-gradient(145deg,#8273ff,#5543c7);border-radius:12px;font-weight:800;font-size:20px;box-shadow:0 6px 16px #5543c744}.brand strong{display:block;letter-spacing:.09em;font-size:13px}.brand span{display:block;color:#9ca3b9;font-size:11px;margin-top:4px}.nav-label{font-size:9px;font-weight:700;letter-spacing:.15em;color:#788097;padding:0 11px 11px}.sheet-nav{display:grid;gap:5px;overflow:auto}.nav-item{border:0;background:transparent;color:#a8afc3;text-align:left;border-radius:9px;padding:11px 11px;display:flex;gap:11px;align-items:center;font:500 12px inherit;cursor:pointer;transition:.16s}.nav-item:hover{background:#ffffff0c;color:#fff}.nav-item.active{background:#6757d92a;color:#fff;box-shadow:inset 2px 0 #897cff}.nav-symbol{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#ffffff0d;color:#aca5ff;font-size:12px}.nav-item.active .nav-symbol{background:#6757d94a;color:#c6c0ff}.nav-name{flex:1}.nav-count{color:#737b91;font-size:10px}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff12;padding:17px 8px 0;color:#9ba3b9;font-size:10px;display:flex;align-items:center;gap:8px}.save-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#48c594}.save-dot.saving{background:#e3a941;animation:pulse 1s infinite}.save-dot.error{background:#e46470}@keyframes pulse{50%{opacity:.35}}.main-area{margin-left:248px;min-height:100vh}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.08em;color:#9298a8}.breadcrumb b{font-weight:400;color:#c8cbd4}.breadcrumb strong{color:#495064;font-weight:600;letter-spacing:0;font-size:11px}.top-actions{display:flex;align-items:center;gap:9px}.button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 13px;font:600 11px inherit;color:#565c70;cursor:pointer;transition:.16s;white-space:nowrap}.button:hover{border-color:#c9c5ef;color:var(--purple);transform:translateY(-1px)}.button.primary{border-color:var(--purple);background:var(--purple);color:#fff;box-shadow:0 4px 10px #6757d933}.button.primary:hover{background:#5948c6;color:#fff}.button.quiet{background:#fff}.icon-button{border:1px solid var(--line);background:#fff;color:#798093;border-radius:8px;width:33px;height:33px;font-size:18px;cursor:pointer}.avatar{width:30px;height:30px;display:grid;place-items:center;background:#eae8ff;color:#6252d2;border-radius:50%;font-size:11px;font-weight:700;margin-left:5px}.page-content{max-width:1500px;margin:0 auto;padding:34px 36px 24px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.eyebrow{color:#8c89bb;font-size:9px;font-weight:700;letter-spacing:.16em;margin-bottom:7px}.page-heading h1{font-size:25px;line-height:1.2;letter-spacing:-.035em;margin:0;color:#202536}.page-heading p{font-size:11px;color:#9298a8;margin:8px 0 0}.plus{font-size:15px;margin-right:3px}.stats{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:13px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid #eef0f5;border-radius:11px;padding:15px 17px 14px;box-shadow:var(--shadow)}.stat-label{color:#858b9a;font-size:10px;font-weight:500}.stat-line{display:flex;align-items:center;justify-content:space-between;margin:8px 0 3px}.stat-line strong{font-size:23px;letter-spacing:-.04em;color:#252a3a}.stat-icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-size:14px}.violet{color:#6757d9;background:#f0eeff}.green{color:#249c73;background:#e9f8f1}.blue{color:#4b87ca;background:#eaf3fc}.amber{color:#cb8b35;background:#fff4e4}.stat-note{font-size:9px;color:#a3a8b5}.mini-progress{height:4px;background:#eeeefa;border-radius:5px;margin-top:10px;overflow:hidden}.mini-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#7667e7,#9f93ff);border-radius:5px;transition:width .3s}.work-card{background:#fff;border:1px solid #eceef3;border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.work-toolbar{min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);gap:16px}.view-heading{display:flex;align-items:center;gap:11px;min-width:140px}.view-icon{width:31px;height:31px;border-radius:9px;background:#f0eeff;color:#6657d6;display:grid;place-items:center;font-size:15px}.view-heading h2{margin:0;color:#34394a;font-size:12px}.view-heading span{display:block;color:#9da2af;font-size:9px;margin-top:4px}.filters{display:flex;align-items:center;gap:8px}.search-box{height:32px;width:188px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;padding:0 9px;gap:6px;color:#a1a5b0}.search-box span{font-size:17px;line-height:1;transform:rotate(-15deg)}.search-box input{width:100%;border:0;outline:0;font:11px inherit;color:#34394a}.search-box input::placeholder{color:#afb3bd}.filters select{height:32px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 25px 0 9px;color:#666c7e;font:10px inherit;max-width:160px;outline:0}.filters select:focus,.search-box:focus-within{border-color:#aaa0f0;box-shadow:0 0 0 2px #6757d91a}.table-scroll{overflow:auto;max-height:calc(100vh - 395px);min-height:250px}table{border-collapse:collapse;width:100%;min-width:1160px;table-layout:fixed}thead th{position:sticky;top:0;z-index:1;background:#fafbfc;color:#999eac;font-size:8px;font-weight:700;letter-spacing:.1em;text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}thead th:first-child{padding-left:18px}.task-col{width:22%}.status-col{width:14%}.assignee-col{width:13%}.date-col{width:10%}.comment-col{width:18%}.file-col{width:8%}.check-col{width:6%;text-align:center!important}.delete-col{width:34px}.task-row td{height:48px;padding:6px 8px;border-bottom:1px solid #f0f1f5;vertical-align:middle}.task-row td:first-child{padding-left:18px}.task-row:hover{background:#fbfbfe}.task-title{font-size:10px;font-weight:600;color:#303547;line-height:1.4;display:block}.task-parent{display:block;color:#a0a4b0;font-size:9px;margin-top:2px}.category-row td{padding:11px 16px 8px;background:#fcfcfe;border-bottom:1px solid #efeff5;color:#5e58a6;font-size:9px;font-weight:700;letter-spacing:.05em}.category-row:first-child td{padding-top:12px}.area-label{color:#a3a0c4;font-weight:500;margin-right:7px}.field{width:100%;height:29px;background:transparent;border:1px solid transparent;border-radius:5px;padding:4px 5px;outline:0;color:#51586b;font:10px inherit;transition:.12s}.field:hover{background:#fff;border-color:#e9e8f4}.field:focus{background:#fff;border-color:#9f95eb;box-shadow:0 0 0 2px #6757d919;color:#282d3d}.field.small-text{color:#a0a4b0;font-size:9px}.field[type=date]{font-size:9px;color:#747a8b;padding:3px}.field[type=date]::-webkit-calendar-picker-indicator{opacity:.38;width:11px}.status-field{color:#5b54ac;background:#f5f3ff;border-color:transparent}.done-check{appearance:none;width:16px;height:16px;border:1.5px solid #cbd0dc;border-radius:5px;background:white;cursor:pointer;display:block;margin:auto;position:relative;transition:.16s}.done-check:checked{background:#6757d9;border-color:#6757d9}.done-check:checked:after{content:"";position:absolute;width:7px;height:4px;border-left:1.6px solid white;border-bottom:1.6px solid white;transform:rotate(-45deg);left:3px;top:4px}.remove-task{border:0;background:transparent;color:#c3c6d0;font-size:15px;cursor:pointer;opacity:0;padding:4px}.task-row:hover .remove-task,.remove-task:focus{opacity:1}.remove-task:hover{color:#dc6574}.table-footer{border-top:1px solid #f1f2f6;padding:10px 18px;display:flex;justify-content:space-between;color:#a2a6b2;font-size:9px}.table-footer .save-dot{width:6px;height:6px;margin-right:5px}.empty-state{padding:42px;text-align:center;color:#9ca1af}.empty-state div{font-size:25px;color:#c7c4eb;margin-bottom:9px}.empty-state strong{display:block;color:#54596a;font-size:12px}.empty-state span{display:block;font-size:10px;margin-top:5px}.page-footer{text-align:center;color:#b0b4bf;font-size:9px;padding:15px}.task-dialog{width:min(580px,calc(100% - 28px));max-height:90vh;border:1px solid #e6e7ef;border-radius:14px;padding:0;box-shadow:0 24px 90px #171c2b33;color:var(--ink)}.task-dialog::backdrop{background:#171c2b66;backdrop-filter:blur(2px)}.task-dialog form{padding:22px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:19px}.dialog-heading h2{margin:0;font-size:19px;letter-spacing:-.03em}.dialog-heading .eyebrow{margin-bottom:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{font-size:10px;color:#747a8a;font-weight:600}.form-grid label.wide{grid-column:1/-1}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid #e6e8ef;border-radius:7px;padding:9px 10px;font:11px inherit;color:#353a4c;outline:0;background:#fff}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#9f95eb;box-shadow:0 0 0 2px #6757d919}.form-grid textarea{resize:vertical}.done-field{display:flex;align-items:center;gap:8px}.done-field input{accent-color:var(--purple)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:19px}.toast{position:fixed;right:24px;bottom:22px;background:#282d3e;color:#fff;border-radius:8px;padding:11px 15px;font-size:11px;box-shadow:0 8px 25px #1115;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:10}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#ad4454}
@media(max-width:1050px){.sidebar{width:210px}.main-area{margin-left:210px}.page-content{padding:27px 22px}.topbar{padding:0 22px}.stats{gap:9px}.stat-card{padding:13px}.filters{flex-wrap:wrap;justify-content:flex-end}.work-toolbar{align-items:flex-start;flex-direction:column}.filters{width:100%;justify-content:flex-start}}
@media(max-width:700px){.sidebar{position:static;width:auto;height:auto;padding:12px 14px 9px}.brand{padding:0 3px 12px}.nav-label,.sidebar-bottom{display:none}.sheet-nav{display:flex;overflow-x:auto;padding-bottom:2px}.nav-item{white-space:nowrap;padding:7px 9px;font-size:10px}.nav-symbol{width:20px;height:20px}.main-area{margin:0}.topbar{height:52px;padding:0 14px}.breadcrumb{font-size:8px}.top-actions{gap:5px}.top-actions .button{padding:7px 8px;font-size:9px}.avatar{display:none}.page-content{padding:22px 12px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:20px}.page-heading p{font-size:10px}.page-heading .button{font-size:9px;padding:9px 10px}.stats{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:12px}.stat-line strong{font-size:20px}.work-toolbar{padding:12px}.filters{display:grid;grid-template-columns:1fr 1fr}.search-box{width:100%;grid-column:1/-1}.filters select{max-width:none;width:100%}.table-scroll{max-height:calc(100vh - 390px)}.table-footer{font-size:8px;padding:9px 12px}.page-footer{font-size:8px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.task-dialog form{padding:17px}}
.nav-section-heading{display:flex;align-items:center;justify-content:space-between}.nav-section-heading .nav-label{padding-bottom:11px}.nav-add{width:23px;height:23px;border:0;border-radius:6px;background:#ffffff12;color:#c5c1ff;font-size:16px;cursor:pointer;margin:0 5px 8px}.nav-add:hover{background:#6757d94a;color:#fff}.nav-add[hidden]{display:none}.archive-toggle{border:0;border-top:1px solid #ffffff12;background:transparent;color:#a8afc3;text-align:left;border-radius:8px;padding:13px 11px;margin-top:10px;display:flex;align-items:center;gap:11px;font:500 12px inherit;cursor:pointer}.archive-toggle span:first-child{color:#aca5ff}.archive-toggle span:nth-child(2){flex:1}.archive-toggle:hover,.archive-toggle.selected{background:#ffffff0c;color:#fff}.archive-toggle.selected{box-shadow:inset 2px 0 #897cff}.project-actions{display:flex;gap:8px;align-items:center}.project-actions [hidden]{display:none}.button.restore{color:#209b72;border-color:#d8efe5}.button.restore:hover{color:#16865f;border-color:#a9dfc8}.project-dialog{max-height:60vh}
.logout-form{margin:0}.top-actions [hidden]{display:none}.field:disabled{color:#747a89;cursor:default;opacity:.85}.done-check:disabled{cursor:default;opacity:.65}.login-page{min-width:320px;min-height:100vh;display:grid;place-items:center;background:#f6f7fb;padding:20px}.login-card{width:min(380px,100%);background:#fff;border:1px solid #e9ebf1;border-radius:15px;padding:30px;box-shadow:0 15px 40px #171c2b12}.login-card .brand-mark{margin-bottom:18px}.login-card h1{font-size:21px;letter-spacing:-.03em;margin:0}.login-card p{font-size:12px;color:#8990a2;margin:8px 0 22px}.login-card label{display:block;font-size:11px;font-weight:600;color:#565c70;margin-top:14px}.login-card input{display:block;width:100%;height:38px;border:1px solid #e6e8ef;border-radius:8px;padding:0 11px;margin-top:6px;font:13px inherit}.login-card input:focus{outline:2px solid #d8d2ff;border-color:#786ae0}.login-card .button{width:100%;margin-top:22px;height:38px;font-size:12px}.login-error{background:#fff0f2;color:#ac4454;padding:10px;border-radius:7px;font-size:11px}@media(max-width:700px){.logout-form .button{padding:7px 8px;font-size:9px}.top-actions{flex-wrap:wrap;justify-content:flex-end}}
.group-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:2px 0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.group-toggle:hover,.parent-toggle:hover{color:#5144b3}.group-toggle:focus-visible,.parent-toggle:focus-visible{outline:2px solid #8c7fee;outline-offset:2px;border-radius:4px}.group-toggle:disabled,.parent-toggle:disabled{cursor:default}.group-count{margin-left:auto;color:#9b9eaf;font-size:9px;font-weight:500;letter-spacing:0}.group-chevron{display:inline-block;font-size:12px;line-height:1;transition:transform .15s ease}.group-toggle[aria-expanded=false] .group-chevron,.parent-toggle[aria-expanded=false] .group-chevron{transform:rotate(-90deg)}.task-name-wrap{display:flex;align-items:center;gap:5px;min-width:0}.task-name-wrap.nested-task{padding-left:22px}.task-name-wrap .task-title{min-width:0}.parent-toggle{display:grid;place-items:center;flex:none;width:17px;height:20px;padding:0;border:0;background:transparent;color:#6b60bd;cursor:pointer}.subtask-count{flex:none;padding:1px 5px;border-radius:8px;background:#efedff;color:#6b60bd;font-size:9px}
.section-status{flex:none;border-radius:12px;padding:4px 8px;font-size:9px;font-weight:700;letter-spacing:0;white-space:nowrap}.section-status.complete{background:#e5f5ec;color:#1b8656}.section-status.partial{background:#fff2d8;color:#9c6d10}.section-status.open{background:#edf0f5;color:#69738a}.deadline-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#b5bac5;box-shadow:0 0 0 2px #b5bac526}.deadline-dot.green{background:#2cab67;box-shadow:0 0 0 2px #2cab6729}.deadline-dot.yellow{background:#e4ae2d;box-shadow:0 0 0 2px #e4ae2d33}.deadline-dot.red{background:#df5a62;box-shadow:0 0 0 2px #df5a6230}.deadline-dot.unknown{background:#b5bac5}

/* Readable type throughout the work area. */
.nav-label,.eyebrow{font-size:11px}.nav-item{font-size:14px}.nav-count,.sidebar-bottom,.brand span{font-size:11px}.brand strong{font-size:15px}.breadcrumb,.breadcrumb strong{font-size:12px}.button{font-size:13px}.page-heading h1{font-size:29px}.page-heading p{font-size:13px}.stat-label,.stat-note{font-size:12px}.view-heading h2{font-size:15px}.view-heading span,.table-footer,.page-footer{font-size:11px}.search-box input,.filters select{font-size:12px}thead th{font-size:10px}.task-row td{height:54px}.task-title,.field{font-size:12px}.task-parent,.field.small-text,.field[type=date],.group-count,.section-status,.subtask-count{font-size:10px}.category-row td{font-size:12px}.form-grid label,.icon-picker legend{font-size:12px}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea{font-size:13px}.dialog-heading h2{font-size:21px}

/* Sidebar collapses to the project symbols while preserving navigation. */
.sidebar-toggle{display:flex;align-items:center;gap:9px;width:100%;border:0;background:#ffffff0d;color:#b9c0d2;border-radius:8px;padding:8px 11px;margin:-18px 0 24px;text-align:left;font:500 12px inherit;cursor:pointer}.sidebar-toggle:hover{background:#ffffff19;color:#fff}.sidebar-toggle-arrow{font-size:21px;line-height:15px}.sidebar-collapsed .sidebar{width:72px;padding-left:10px;padding-right:10px}.sidebar-collapsed .main-area{margin-left:72px}.sidebar-collapsed .brand{justify-content:center;padding:0 0 29px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .sidebar-toggle-label,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-name,.sidebar-collapsed .nav-count,.sidebar-collapsed #archive-toggle span:not(:first-child),.sidebar-collapsed #save-status{display:none}.sidebar-collapsed .sidebar-toggle{justify-content:center;padding:8px;margin:-15px 0 20px}.sidebar-collapsed .sidebar-toggle-arrow{transform:rotate(180deg)}.sidebar-collapsed .nav-section-heading{justify-content:center}.sidebar-collapsed .nav-add{width:36px;height:36px;margin:0 0 10px}.sidebar-collapsed .nav-item,.sidebar-collapsed .archive-toggle{justify-content:center;padding:8px}.sidebar-collapsed .nav-symbol{width:32px;height:32px}.sidebar-collapsed .sidebar-bottom{justify-content:center}.project-nav-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}

/* Project icon picker and client-side square crop. */
.project-dialog{width:min(640px,calc(100% - 28px));max-height:90vh}.icon-picker{margin:19px 0 0;padding:0;border:0}.icon-picker legend{font-weight:700;color:#555c70;margin-bottom:9px}.icon-grid{display:grid;grid-template-columns:repeat(6,42px);gap:8px}.icon-choice{display:grid;place-items:center;width:42px;height:42px;border:1px solid #dfe2ed;border-radius:10px;background:#fff;color:#6458bf;font-size:23px;cursor:pointer}.icon-choice:hover,.icon-choice.selected{border-color:#7767df;background:#f1eeff;box-shadow:0 0 0 2px #7767df26}.custom-icon-choice{display:flex;align-items:center;gap:9px;width:auto;height:42px;margin-top:12px;padding:5px 10px;font-size:12px}.custom-icon-choice img{width:28px;height:28px;object-fit:cover;border-radius:5px}.icon-upload{display:inline-block;margin-top:13px;border:1px solid #d8d3f3;border-radius:8px;padding:9px 12px;background:#fff;color:#6252c4;font:600 12px inherit;cursor:pointer}.icon-upload:hover{background:#f5f3ff}.icon-hint,.icon-crop-panel p{margin:8px 0 0;color:#82899a;font-size:11px}.icon-crop-panel{display:flex;align-items:center;gap:19px;margin-top:15px;padding:14px;border:1px solid #ececf4;border-radius:11px;background:#fbfbfe}.icon-crop-panel[hidden],.custom-icon-choice[hidden],#project-name-wrap[hidden]{display:none}.icon-crop-panel canvas{width:220px;height:220px;max-width:100%;flex:none;border-radius:9px;background:#eef0f5;cursor:grab;touch-action:none}.icon-crop-panel canvas:active{cursor:grabbing}.icon-crop-controls{display:grid;gap:7px;min-width:130px;color:#626a7d;font-size:12px}.icon-crop-controls input{width:100%;accent-color:#6757d9}
@media(max-width:700px){.sidebar-toggle{display:none}.sidebar-collapsed .sidebar{position:static;width:auto;padding:12px 14px 9px}.sidebar-collapsed .main-area{margin-left:0}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-name,.sidebar-collapsed .nav-count,.sidebar-collapsed #archive-toggle span:not(:first-child){display:initial}.sidebar-collapsed .brand{justify-content:flex-start;padding:0 3px 12px}.sidebar-collapsed .nav-item{padding:7px 9px}.sidebar-collapsed .nav-section-heading{justify-content:space-between}.page-heading h1{font-size:23px}.project-actions{flex-wrap:wrap;justify-content:flex-end}.icon-crop-panel{flex-wrap:wrap}.icon-grid{grid-template-columns:repeat(6,minmax(0,42px));gap:6px}}

.nav-item,.button,.search-box input,.filters select,.field,.form-grid input,.form-grid select,.form-grid textarea{font-family:inherit}.nav-item{font-size:12px;font-weight:500}.button{font-size:11px;font-weight:600}.search-box input,.field{font-size:10px}.filters select,.form-grid input,.form-grid select,.form-grid textarea{font-size:11px}

.nav-item,.button,.search-box input,.filters select,.field,.form-grid input,.form-grid select,.form-grid textarea{font-family:inherit}.nav-item{font-size:12px;font-weight:500}.button{font-size:11px;font-weight:600}.search-box input,.field{font-size:10px}.filters select,.form-grid input,.form-grid select,.form-grid textarea{font-size:11px}
