:root{font-family:Inter,"Segoe UI",sans-serif;color:#292c3d;background:#fff;font-size:14px;--purple:#6955d9;--muted:#858698;--border:#e9e9f0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid var(--border);border-radius:7px;padding:8px 12px;color:inherit}button:hover{background:#f1effc}button:focus-visible,a:focus-visible{outline:3px solid #b8aaff;outline-offset:2px}button.primary{background:var(--purple);color:white;border-color:var(--purple)}button.ghost{border:0;background:transparent}input,select,textarea{border:1px solid #dedee8;border-radius:7px;padding:9px 11px;background:white;color:inherit}input:focus,textarea:focus{outline:2px solid #bfb3ff}textarea{resize:vertical;min-height:130px}a{color:var(--purple)}.shell{height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:48px minmax(0,1fr)}.topbar{grid-column:1/-1;background:#29243c;color:#eeeafc;display:flex;align-items:center;padding:0 20px;gap:20px}.brand{font-weight:750;letter-spacing:-.4px;font-size:17px}.brand-icon{display:inline-grid;place-items:center;background:#a291ff;border-radius:7px;width:25px;height:25px;margin-right:9px;color:#29243c}.topbar .search{margin:auto;width:min(520px,45vw);background:#ffffff15;border-color:#ffffff18;color:white;padding:6px 12px}.topbar small{opacity:.65}.sidebar{background:#f8f8fc;border-right:1px solid var(--border);overflow:auto;padding:18px 12px}.workspace{padding:6px 9px 20px;font-weight:700;display:flex;gap:9px;align-items:center}.avatar{background:#e5defb;color:#6947ba;border-radius:8px;padding:8px;font-weight:700}.nav{width:100%;text-align:left;border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:9px 10px;margin:2px 0}.nav.active{background:#eae5fc;color:#6650cd;font-weight:600}.nav .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.nav .badge{color:var(--muted);font-size:11px}.nav.child{padding-left:30px}.nav.grandchild{padding-left:48px}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);margin:24px 10px 8px}.tree .space>.nav{font-weight:600}.tree .fold{display:none}.tree .open>.fold{display:block}.dot{width:9px;height:9px;display:inline-block;background:#9a86e7;border-radius:3px;flex-shrink:0}.dot.blue{background:#659bd1}.dot.green{background:#61b2a3}.main{overflow:auto;min-width:0}.breadcrumb{height:55px;border-bottom:1px solid var(--border);padding:18px 28px;color:var(--muted);display:flex;gap:9px;align-items:center}.breadcrumb strong{color:#3b3b50;font-weight:500}.page{padding:28px 32px}.page-title{display:flex;justify-content:space-between;gap:15px;align-items:center}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--purple)}h1{font-size:29px;letter-spacing:-.8px;margin:8px 0}p{line-height:1.6}.subtitle{color:var(--muted);margin:8px 0 24px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 28px}.metric{border:1px solid var(--border);border-radius:10px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between}.metric strong{display:block;font-size:25px;margin-top:8px;letter-spacing:-.5px}.metric small{color:var(--muted)}.metric-icon{background:#f0ecfc;color:var(--purple);border-radius:10px;width:40px;height:40px;display:grid;place-items:center;font-size:20px}.toolbar{border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;margin-bottom:24px;padding-bottom:12px;flex-wrap:wrap}.tab{border:0;background:transparent;color:#777789;border-radius:0}.tab.selected{color:var(--purple);box-shadow:0 2px 0 var(--purple);font-weight:600}.toolbar .spacer{flex:1}.toolbar select{font-size:12px;max-width:180px}.group{margin-bottom:28px}.group-head{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-size:12px}.status-label{background:#f1eefb;color:#7258cb;padding:5px 8px;border-radius:4px;font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.count{color:var(--muted)}.task-table{width:100%;border-collapse:collapse;table-layout:fixed}.task-table th{text-align:left;color:var(--muted);font-size:11px;font-weight:500;padding:10px;border-bottom:1px solid var(--border)}.task-table th:first-child{width:50%}.task-table td{padding:12px 10px;border-bottom:1px solid #f0f0f5;font-size:12px}.task-table tr:hover td{background:#faf9ff}.task-name{display:flex;gap:9px;align-items:center;cursor:pointer;font-size:13px}.check{width:16px;height:16px;border:1px solid #c8c6d8;border-radius:5px;flex-shrink:0;background:white}.check.done{background:#83bd9d;border-color:#83bd9d;color:white}.priority{font-size:11px;color:#8a899a}.priority.high,.priority.urgent{color:#cc7568}.task-status{font-size:11px;color:#7764bc;background:#f5f2fc;border:0;padding:5px;width:100%;max-width:145px}.overdue{color:#c47070}.empty{text-align:center;padding:70px 20px;color:var(--muted);border:1px dashed #dedce9;border-radius:10px}.empty strong{font-size:18px;color:#55516c;display:block;margin-bottom:10px}.board{display:flex;gap:16px;overflow:auto;min-height:300px}.column{background:#f8f8fc;border-radius:10px;padding:14px;min-width:260px;width:300px}.card{display:block;width:100%;text-align:left;margin:12px 0;padding:15px;box-shadow:0 2px 4px #24203b05}.card p{font-size:12px;color:var(--muted);margin:12px 0 0}.subtle{color:var(--muted);font-size:12px}.footer-note{margin-top:30px;font-size:11px;color:#aaa8b8}.login-wrap{min-height:100vh;display:grid;place-items:center;background:#f7f6fc}.login-card{background:white;max-width:460px;width:92%;padding:36px;border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 70px #39276308}.login-card .brand{margin-bottom:35px}.login-card h1{font-size:25px}.form-grid{display:grid;gap:15px}.form-grid label{display:grid;gap:7px;font-size:12px;color:#747082}.form-grid .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.error{color:#bc4b58;min-height:20px;font-size:12px}dialog{width:min(800px,95vw);border:1px solid var(--border);border-radius:14px;box-shadow:0 30px 120px #1e163340;padding:0;max-height:90vh}dialog::backdrop{background:#201d3650;backdrop-filter:blur(2px)}.modal-head{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:24px}.modal-body h2{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.comment{padding:14px 0;border-bottom:1px solid var(--border);white-space:pre-wrap}.detail-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.code{font-family:monospace;overflow-wrap:anywhere;background:#f5f3fc;padding:14px;border-radius:7px;white-space:pre-wrap}.loading{text-align:center;padding:40px}#toast{position:fixed;bottom:24px;right:24px;background:#302744;color:white;padding:12px 20px;border-radius:9px;box-shadow:0 4px 20px #0002;display:none;z-index:100}.calendar{display:grid;gap:8px}.date-card{border:1px solid var(--border);padding:15px;border-radius:8px}.icon-button{padding:5px 8px}.task-table .subtask td:first-child{padding-left:35px}.settings-card{padding:22px;border:1px solid var(--border);border-radius:10px;margin:18px 0}.menu-mobile{display:none}@media(max-width:850px){.shell{grid-template-columns:210px minmax(0,1fr)}.page{padding:20px}.task-table th:first-child{width:60%}.task-table th:nth-child(3),.task-table td:nth-child(3){display:none}.summary{gap:8px}.metric{padding:12px}.metric-icon{display:none}}@media(max-width:600px){.shell{grid-template-columns:1fr}.sidebar{display:none}.shell.show-nav .sidebar{display:block;position:absolute;top:48px;bottom:0;left:0;width:270px;z-index:5}.menu-mobile{display:block}.topbar{padding:0 12px;gap:8px}.topbar small{display:none}.topbar .search{width:36vw}.brand{font-size:14px}.page{padding:18px 14px}.breadcrumb{padding:15px}.page-title{align-items:flex-start}h1{font-size:24px}.summary{grid-template-columns:repeat(3,1fr)}.metric strong{font-size:22px}.metric small{font-size:10px}.task-table th:first-child{width:68%}.task-table th:nth-child(4),.task-table td:nth-child(4){display:none}.form-grid .row{grid-template-columns:1fr}}
