@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#030a1c;--surface:#091430d6;--surface-glass:#060f26b3;--surface-2:#223a7066;--surface-3:#3050947a;--border:#8cb9ff1f;--border-strong:#8cb9ff42;--text-primary:#f2f6ff;--text-secondary:#aebcd8;--text-muted:#8394b8;--accent:#4d9bff;--accent-2:#1e6bff;--accent-soft:#4d9bff24;--accent-soft-strong:#4d9bff4d;--on-accent:#fff;--btn-from:#3d8bff;--btn-to:#1e6bff;--btn-bg:linear-gradient(180deg, #fdfeff 0%, #dce2eb 46%, #bac4d2 54%, #e8ecf2 100%);--btn-text:#0a1636;--btn-border:#ffffffa6;--btn-glow:#4d9bff8c;--heading-gradient:linear-gradient(180deg, #fff 35%, #b6c2d6 100%);--status-done:#5fddb2;--status-done-soft:#5fddb224;--status-progress:#f3c873;--status-progress-soft:#f3c87324;--status-blocked:#f79aae;--status-blocked-soft:#f79aae24;--status-review:#7ccbff;--status-review-soft:#7ccbff24;--shadow-lg:0 28px 60px -28px #000618d9;--shadow-md:0 14px 32px -18px #000618bf;--shadow-sm:0 6px 16px -10px #000618a6;--glass-bg:#081126a8;--overlay:#0208189e;--highlight:#ffffff0d;--field-bg:#0f2050;--orbit-img:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1300' height='1300' viewBox='0 0 1300 1300' fill='none' stroke='%23A7CBFF'><g transform='rotate(-24 650 650)' stroke-width='1.2'><ellipse cx='650' cy='650' rx='620' ry='236'/><ellipse cx='650' cy='650' rx='480' ry='182'/><ellipse cx='650' cy='650' rx='340' ry='128'/></g><circle cx='650' cy='650' r='300' stroke-width='1' stroke-dasharray='2 9'/><circle cx='650' cy='650' r='470' stroke-width='1'/><g fill='%23A7CBFF' stroke='none'><circle cx='1219' cy='399' r='6'/><circle cx='222' cy='702' r='4'/><circle cx='980' cy='980' r='3'/></g></svg>");--orbit-opacity:.16;--star-opacity:1;--glow-a:#1e6bff4d;--glow-b:#285adc29;--glow-c:#2e7dff4d;--radius-sm:9px;--radius:13px;--radius-lg:18px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#dfe4eb;--surface:#ffffffd1;--surface-glass:#ffffffa8;--surface-2:#eef1f5;--surface-3:#e2e7ee;--border:#1428501f;--border-strong:#14285038;--text-primary:#0a1630;--text-secondary:#34435f;--text-muted:#4c586e;--accent:#1a5fe6;--accent-2:#0f47c2;--accent-soft:#1a5fe617;--accent-soft-strong:#1a5fe62e;--on-accent:#fff;--btn-from:#2a4a8f;--btn-to:#0b1a40;--btn-bg:linear-gradient(180deg, #2a4a8f 0%, #142b5e 52%, #0b1a40 100%);--btn-text:#fff;--btn-border:#ffffff2e;--btn-glow:#1a5fe673;--heading-gradient:linear-gradient(180deg, #0a1630 40%, #3a4e74 100%);--status-done:#0b8a63;--status-done-soft:#0b8a631a;--status-progress:#b86e00;--status-progress-soft:#b86e001a;--status-blocked:#cc2f52;--status-blocked-soft:#cc2f5217;--status-review:#0369a1;--status-review-soft:#0369a117;--shadow-lg:0 28px 56px -30px #14326e47;--shadow-md:0 14px 30px -20px #14326e38;--shadow-sm:0 6px 14px -10px #14326e2e;--glass-bg:#ffffffb8;--overlay:#0b1a3a57;--highlight:#ffffffb3;--field-bg:#eef1f5;--orbit-img:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1300' height='1300' viewBox='0 0 1300 1300' fill='none' stroke='%231A5FE6'><g transform='rotate(-24 650 650)' stroke-width='1.2'><ellipse cx='650' cy='650' rx='620' ry='236'/><ellipse cx='650' cy='650' rx='480' ry='182'/><ellipse cx='650' cy='650' rx='340' ry='128'/></g><circle cx='650' cy='650' r='300' stroke-width='1' stroke-dasharray='2 9'/><circle cx='650' cy='650' r='470' stroke-width='1'/><g fill='%231A5FE6' stroke='none'><circle cx='1219' cy='399' r='6'/><circle cx='222' cy='702' r='4'/><circle cx='980' cy='980' r='3'/></g></svg>");--orbit-opacity:.1;--star-opacity:0;--glow-a:#fffc;--glow-b:#1a5fe61a;--glow-c:#1a5fe61f}*{box-sizing:border-box}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;transition:background .18s,color .18s}#root{min-height:100vh}h1,h2,h3{letter-spacing:-.01em;font-family:Plus Jakarta Sans,Inter,sans-serif}a{color:var(--accent)}button{cursor:pointer;font-family:inherit}input,select,textarea,button{font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;transition:width .2s;display:flex;position:relative;overflow:hidden}.sidebar.collapsed{width:76px}.sidebar.resizing{-webkit-user-select:none;user-select:none;transition:none}.sidebar-resize-handle{cursor:col-resize;z-index:5;background:0 0;width:6px;height:100%;position:absolute;top:0;right:-3px}.sidebar-resize-handle:hover,.sidebar.resizing .sidebar-resize-handle{background:var(--accent-soft-strong)}.sidebar-brand{align-items:center;gap:10px;padding:20px 16px 16px 20px;display:flex}.sidebar.collapsed .sidebar-brand{justify-content:center;gap:6px;padding:20px 6px 16px}.sidebar.collapsed .sidebar-mark,.sidebar.collapsed .sidebar-collapse-btn{width:26px;height:26px}.sidebar-mark{background:linear-gradient(135deg, var(--accent), var(--accent-2));width:30px;height:30px;box-shadow:0 8px 16px -6px var(--accent-soft-strong);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-brand-name{white-space:nowrap;flex:1;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:700}.sidebar-new-btn{border-radius:var(--radius);background:linear-gradient(135deg, var(--accent), var(--accent-2));height:38px;color:var(--on-accent);box-shadow:var(--shadow-sm);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;margin:2px 16px 16px;font-size:13px;font-weight:600;transition:transform .14s,box-shadow .14s;display:flex;overflow:hidden}.sidebar-new-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.sidebar.collapsed .sidebar-new-btn{margin-left:14px;margin-right:14px;padding:0}.nav-list{flex-direction:column;gap:2px;padding:0 12px;display:flex}.nav-item{height:38px;color:var(--text-secondary);white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--text-primary)}.nav-item svg{flex-shrink:0}.nav-item-label{text-overflow:ellipsis;overflow:hidden}.sidebar-collapse-btn{border:1px solid var(--border);background:var(--surface-2);width:28px;height:28px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-collapse-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.sidebar-collapse-btn svg{flex-shrink:0;transition:transform .2s}.sidebar.collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.topbar{z-index:20;background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);align-items:center;gap:14px;height:62px;padding:0 26px;display:flex;position:sticky;top:0}.topbar-spacer{flex:1}.icon-btn{border:1px solid var(--border);background:var(--surface-2);width:36px;height:36px;color:var(--text-secondary);border-radius:10px;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--text-primary);border-color:var(--border-strong)}.notif-dot{background:var(--status-blocked);color:#fff;border:2px solid var(--bg);border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9.5px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.profile-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;gap:8px;height:36px;padding:0 10px 0 4px;display:flex}.profile-chip:hover{border-color:var(--border-strong)}.profile-name{font-size:12.5px;font-weight:600;line-height:1.3}.profile-role{color:var(--text-muted);font-size:10.5px;line-height:1.3}.popover{background:var(--surface);border:1px solid var(--border-strong);width:280px;box-shadow:var(--shadow-lg);z-index:40;border-radius:14px;position:absolute;top:52px;overflow:hidden}.popover-header{justify-content:space-between;align-items:center;padding:12px 14px 8px;display:flex}.popover-title{font-size:13px;font-weight:700}.popover-close{width:22px;height:22px;color:var(--text-muted);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:flex}.popover-close:hover{background:var(--surface-2);color:var(--text-primary)}.notif-row{border-top:1px solid var(--border);gap:9px;padding:9px 14px;display:flex}.notif-dot-sm{background:var(--accent);border-radius:999px;flex-shrink:0;width:6px;height:6px;margin-top:6px}.notif-text{color:var(--text-secondary);font-size:12px;line-height:1.5}.notif-time{color:var(--text-muted);margin-top:2px;font-size:10.5px}.notif-item{border:none;border-top:1px solid var(--border);text-align:left;width:100%;font:inherit;background:0 0;align-items:flex-start;gap:8px;padding:10px 14px;display:flex}.notif-item:hover{background:var(--surface-2)}.notif-item .notif-text{color:var(--text-primary);font-weight:500}.notif-mark-all{color:var(--accent);background:0 0;border:none;padding:2px 4px;font-size:11px;font-weight:600}.notif-mark-all:hover{text-decoration:underline}.menu-item{width:100%;color:var(--text-secondary);text-align:left;border:none;border-top:1px solid var(--border);background:0 0;align-items:center;gap:10px;padding:9px 14px;font-size:12.5px;font-weight:500;display:flex}.menu-item:hover{background:var(--surface-2);color:var(--text-primary)}.main-content{flex:1;max-width:1200px;padding:26px 28px 60px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;padding:18px 20px}.card h2,.card h3{margin-top:0}.card.card-slim{flex-wrap:wrap;align-items:baseline;gap:14px;padding-top:14px;padding-bottom:14px;display:flex}.card.card-slim h3,.card.card-slim p{margin:0}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;margin:26px 0 14px;display:flex}.section-header h3{margin:0 0 3px}.section-header p{margin:0}.section-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.section-filters select{min-width:200px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:130px;padding:14px 18px}.stat-tile .value{font-variant-numeric:proportional-nums;font-family:Plus Jakarta Sans,sans-serif;font-size:28px;font-weight:700}.stat-tile .label{color:var(--text-secondary);font-size:12.5px}.stat-tile.clickable{cursor:pointer;text-align:left;font:inherit;color:inherit;width:auto;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;display:block;position:relative}.stat-tile.clickable:active{transform:translateY(-1px)}.stat-tile.clickable:after{content:"›";color:var(--text-muted);opacity:.6;font-size:18px;line-height:1;transition:transform .16s,opacity .16s,color .16s;position:absolute;top:10px;right:14px}.stat-tile.clickable:hover:after,.stat-tile.clickable.active:after{opacity:1;color:var(--accent);transform:translate(2px)}.stat-tile.clickable.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-soft-strong), 0 0 26px -8px var(--accent)}.stat-tile.clickable.active .value{color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);font-size:11px;font-weight:700}.row-title-btn{font:inherit;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.row-title-btn:hover{color:var(--accent)}.badge{border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.form-row{flex-direction:column;gap:5px;margin-bottom:13px;display:flex}.form-row label{color:var(--text-secondary);font-size:12.5px;font-weight:600}.form-row input,.form-row select,.form-row textarea{border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary);border-radius:10px;outline:none;padding:8px 10px;font-family:inherit}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--accent)}.btn{border:1px solid var(--border);background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--on-accent);box-shadow:var(--shadow-sm);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:8px 16px;font-weight:600;transition:transform .14s,box-shadow .14s;display:inline-flex}.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn.secondary{background:var(--surface-2);color:var(--text-primary);border-color:var(--border);box-shadow:none}.btn.secondary:hover{border-color:var(--border-strong);box-shadow:none;transform:none}.btn.danger{background:var(--status-blocked);box-shadow:none}.btn.small{padding:5px 12px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}.error-text{color:var(--status-blocked);font-size:13px}.field-icon-btn{width:26px;height:26px;color:var(--text-muted);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.field-icon-btn:hover{color:var(--text-primary);background:var(--surface-3)}.login-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:340px;box-shadow:var(--shadow-lg);padding:30px}.login-mark{background:linear-gradient(135deg, var(--accent), var(--accent-2));width:40px;height:40px;box-shadow:0 10px 20px -8px var(--accent-soft-strong);border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.chart-legend{color:var(--text-secondary);flex-wrap:wrap;gap:14px;margin-top:6px;font-size:13px;display:flex}.chart-legend .swatch{border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.chart-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=800px){.chart-grid{grid-template-columns:1fr}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.back-link{color:var(--text-secondary);align-items:center;gap:5px;margin-bottom:12px;font-size:13px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--accent)}.muted{color:var(--text-muted);font-size:13px}.link-row{gap:10px;display:flex}.board{gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.board-column{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex:1 1 0;min-width:240px;min-height:200px;padding:14px;transition:background-color .14s,border-color .14s}.board-column.drag-invalid{opacity:.45}.board-column-header{align-items:center;gap:8px;padding:2px 2px 12px;display:flex}.board-column-header .col-dot{border-radius:999px;flex-shrink:0;width:9px;height:9px}.board-column-header .col-title{font-size:13px;font-weight:700}.board-column-header .col-count{color:var(--text-muted);background:var(--surface-2);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11.5px;font-weight:700}.task-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;width:100%;color:inherit;margin-bottom:10px;padding:13px 13px 11px;font-family:inherit;transition:transform .14s,box-shadow .14s,border-color .14s;display:block}.task-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.task-card.dragging{opacity:.35}.task-card:last-child{margin-bottom:0}.card-tags{flex-wrap:wrap;gap:6px;margin-bottom:9px;display:flex}.tag-chip{text-transform:uppercase;letter-spacing:.03em;background:var(--surface-2);color:var(--text-secondary);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.board-card-title,.card-title{margin:0 0 10px;font-size:13.5px;font-weight:600;line-height:1.4}.card-footer,.board-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-top:2px;padding-top:9px;display:flex}.card-meta{align-items:center;gap:10px;display:flex}.meta-item{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.avatar{color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10.5px;font-weight:700;display:flex}.avatar-sm{width:22px;height:22px;font-size:9.5px}.board-card-note{margin-top:6px;font-size:11.5px}.due-chip{color:var(--text-secondary);align-items:center;gap:4px;font-size:11.5px;font-weight:600;display:inline-flex}.priority-text{color:var(--text-muted);font-size:11.5px;font-weight:600}.due-chip.overdue{color:var(--status-blocked);font-weight:700}.overdue-text{color:var(--status-blocked);font-weight:600}.drop-ghost{border:2px dashed var(--accent);height:48px;color:var(--accent);background:var(--accent-soft);border-radius:10px;justify-content:center;align-items:center;margin-top:2px;font-size:12px;font-weight:700;display:flex}.status-todo-dot{background:var(--text-muted)}.status-inprogress-dot{background:var(--status-progress)}.status-review-dot{background:var(--status-review)}.status-rejected-dot{background:var(--status-blocked)}.status-done-dot{background:var(--status-done)}.modal-overlay{z-index:95;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0206178c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:460px;max-width:100%;max-height:88vh;box-shadow:var(--shadow-lg);padding:20px 22px 22px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-header h3{margin:0}.modal-close{border:1px solid var(--border);background:var(--surface-2);width:30px;height:30px;color:var(--text-secondary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-close:hover{color:var(--text-primary);border-color:var(--border-strong)}.confirm-overlay{z-index:110}.confirm-dialog{width:400px}.confirm-dialog h3{margin:0 0 8px}.confirm-message{color:var(--text-secondary);margin:0 0 18px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.loading-overlay{z-index:120;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0206178c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.loading-box{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:14px;min-width:200px;padding:28px 38px;display:flex}.loading-spinner{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:999px;width:30px;height:30px;animation:.7s linear infinite loading-spin}.loading-text{color:var(--text-secondary);font-size:13.5px;font-weight:600}@keyframes loading-spin{to{transform:rotate(360deg)}}.drawer-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;opacity:0;pointer-events:none;background:#0206178c;transition:opacity .2s;position:fixed;inset:0}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{background:var(--surface);border:1px solid var(--border-strong);width:860px;max-width:calc(100vw - 32px);max-height:min(88vh,760px);box-shadow:var(--shadow-lg);z-index:100;opacity:0;visibility:hidden;pointer-events:none;border-radius:20px;flex-direction:column;transition:opacity .18s,transform .2s cubic-bezier(.2,.8,.2,1),visibility 0s linear .2s;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-48%)scale(.97)}.drawer.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s,transform .2s cubic-bezier(.2,.8,.2,1),visibility;transform:translate(-50%,-50%)scale(1)}.drawer-topbar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-crumb{color:var(--text-muted);font-size:12px;font-weight:600}.drawer-close{border:1px solid var(--border);background:var(--surface-2);width:32px;height:32px;color:var(--text-secondary);border-radius:9px;justify-content:center;align-items:center;display:flex}.drawer-close:hover{color:var(--text-primary);border-color:var(--border-strong)}.drawer-body{flex:1;min-height:0;display:flex;overflow-y:auto}.drawer-main{border-right:1px solid var(--border);flex:1;min-width:0;padding:22px 24px 28px}.drawer-side{flex-shrink:0;width:260px;padding:22px 20px 28px}.drawer-title{margin:0 0 6px;font-family:Plus Jakarta Sans,sans-serif;font-size:19px;font-weight:700;line-height:1.35}.drawer-desc{color:var(--text-secondary);white-space:pre-line;font-size:13.5px;line-height:1.65}.drawer-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:8px;margin:22px 0 10px;font-size:11.5px;font-weight:700;display:flex}.drawer-callout{border-radius:12px;padding:12px 13px;font-size:12.5px;line-height:1.55}.drawer-callout.rejected{background:var(--status-blocked-soft);color:var(--status-blocked)}.meta-field{margin-bottom:16px}.meta-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px;font-size:11px;font-weight:700}.meta-select,.meta-text-input,.meta-date-input{border:1px solid var(--border);background:var(--surface-2);width:100%;height:34px;color:var(--text-primary);font:inherit;border-radius:9px;outline:none;padding:0 9px;font-size:12.5px;font-weight:600}.meta-select:focus,.meta-text-input:focus,.meta-date-input:focus{border-color:var(--accent)}.meta-static{font-size:13px;font-weight:600}.meta-static a{font-weight:600}.meta-sub{color:var(--text-muted);margin-top:2px;font-size:11.5px}@media (width<=760px){.drawer{border-radius:16px;max-width:calc(100vw - 16px);max-height:92vh}.drawer-body{flex-direction:column}.drawer-main{border-right:none}.drawer-side{border-top:1px solid var(--border);width:100%}}@media (prefers-reduced-motion:reduce){.drawer,.drawer.open{transition:none}}body{background-color:var(--bg);position:relative}#root{z-index:1;position:relative}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(1100px 640px at 88% -8%, var(--glow-a), transparent 62%), radial-gradient(900px 620px at -8% 108%, var(--glow-b), transparent 60%), radial-gradient(1500px 280px at 35% 108%, var(--glow-c), transparent 70%), linear-gradient(162deg, transparent 58%, #4d9bff12 66%, transparent 74%), radial-gradient(1.2px 1.2px at 12% 22%, #ffffffbf, transparent), radial-gradient(1px 1px at 27% 68%, #bed7ffa6, transparent), radial-gradient(1.4px 1.4px at 41% 14%, #ffffffb3, transparent), radial-gradient(1px 1px at 55% 82%, #bed7ff8c, transparent), radial-gradient(1.2px 1.2px at 63% 36%, #fff9, transparent), radial-gradient(1px 1px at 74% 58%, #bed7ff99, transparent), radial-gradient(1.3px 1.3px at 86% 12%, #ffffffb3, transparent), radial-gradient(1px 1px at 92% 74%, #bed7ff8c, transparent), radial-gradient(1px 1px at 6% 88%, #ffffff8c, transparent), radial-gradient(1.1px 1.1px at 34% 44%, #bed7ff80, transparent), linear-gradient(180deg, var(--bg), var(--bg));background-repeat:no-repeat;position:fixed;inset:0}[data-theme=light] body:before{background:radial-gradient(1100px 640px at 88% -8%, var(--glow-a), transparent 62%), radial-gradient(900px 620px at -8% 108%, var(--glow-b), transparent 60%), linear-gradient(118deg, transparent 36%, #ffffff8c 46%, transparent 56%), linear-gradient(160deg, #f5f7fa 0%, #e3e8ee 48%, #d2d9e2 100%)}body:after{content:"";z-index:0;pointer-events:none;width:1300px;height:1300px;opacity:var(--orbit-opacity);background:var(--orbit-img) no-repeat center / contain;animation:320s linear infinite orbit-drift;position:fixed;top:-420px;right:-420px}@keyframes orbit-drift{to{transform:rotate(360deg)}}@media (width<=900px){body:after{width:800px;height:800px;top:-300px;right:-300px}}@media (prefers-reduced-motion:reduce){body:after{animation:none}*{transition-duration:.01ms!important}}h1,h2,h3{letter-spacing:-.015em;font-weight:700}h2{margin:0 0 4px;font-size:24px}.page-header h2{margin:0}.page-header h2,.login-box h2{background:var(--heading-gradient);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}::selection{background:var(--accent-soft-strong)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}.sidebar{background:var(--surface-glass);-webkit-backdrop-filter:blur(18px)saturate(140%);border-right:1px solid var(--border)}.topbar{-webkit-backdrop-filter:blur(18px)saturate(140%)}.card,.stat-tile,.board-column,.popover,.modal,.loading-box,.drawer,.login-box{-webkit-backdrop-filter:blur(14px)saturate(130%)}.card,.stat-tile,.board-column{box-shadow:var(--shadow-sm), inset 0 1px 0 var(--highlight);border-radius:var(--radius-lg)}.card{padding:20px 22px}.task-card{background:var(--surface-2);border-radius:var(--radius);box-shadow:inset 0 1px 0 var(--highlight)}.task-card:hover{border-color:var(--accent-soft-strong);background:var(--surface-3)}.sidebar-mark,.login-mark{color:#ddebff;background:radial-gradient(circle at 50% 40%,#13306e,#071233 72%);box-shadow:0 0 0 1.5px #3d8bff,0 0 18px -2px #3d8bffbf,inset 0 1px #ffffff2e}.sidebar-brand-name{letter-spacing:-.01em}.login-mark{border-radius:14px;width:46px;height:46px}.nav-item{border-radius:11px;position:relative}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:linear-gradient(90deg, var(--accent-soft-strong), var(--accent-soft));color:var(--text-primary)}.nav-item.active svg{color:var(--accent)}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-12px}.sidebar.collapsed .nav-item.active:before{left:-12px}.btn,.sidebar-new-btn{background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);box-shadow:0 8px 20px -12px var(--btn-glow), inset 0 1px 0 #ffffff73;letter-spacing:.005em;border-radius:999px}.btn:hover,.sidebar-new-btn:hover{filter:brightness(1.04);box-shadow:0 0 0 1px var(--accent-soft-strong), 0 12px 28px -10px var(--btn-glow), inset 0 1px 0 #ffffff80}.btn:active{filter:brightness(.97);transform:translateY(0)}.btn.secondary{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);box-shadow:inset 0 1px 0 var(--highlight);filter:none}.btn.secondary:hover{background:var(--surface-3);border-color:var(--border-strong);filter:none}.btn.danger{background:var(--status-blocked-soft);color:var(--status-blocked);border:1px solid color-mix(in srgb, var(--status-blocked) 35%, transparent);box-shadow:none}.btn.danger:hover{background:color-mix(in srgb, var(--status-blocked) 22%, transparent);filter:none}.form-row input,.form-row select,.form-row textarea,.meta-select,.meta-text-input,.meta-date-input{background:var(--surface-2);border:1px solid #0000;border-radius:11px;transition:border-color .14s,box-shadow .14s,background .14s}.form-row input,.form-row select,.form-row textarea{padding:9px 12px}.form-row input:hover,.form-row select:hover,.form-row textarea:hover{border-color:var(--border)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus,.meta-select:focus,.meta-text-input:focus,.meta-date-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-strong);background:var(--surface-2)}select option{color:#eaf1ff;background:#0f1d3f}[data-theme=light] select option{color:#0b1a3a;background:#fff}input::placeholder,textarea::placeholder{color:var(--text-muted)}.icon-btn,.profile-chip,.sidebar-collapse-btn,.modal-close,.drawer-close{background:var(--surface-2);border-radius:11px}.card table{border-collapse:separate;border-spacing:0}th{color:var(--text-muted);border-bottom:1px solid var(--border-strong);letter-spacing:.08em;background:0 0;padding:9px 12px;font-size:10.5px}td{border-bottom:1px solid var(--border);padding:12px}tbody tr{transition:background .12s}tbody tr:hover{background:var(--accent-soft)}tbody tr:last-child td{border-bottom:none}.stat-tile{background:var(--surface)}.stat-tile .value{letter-spacing:-.02em}.stat-tile.clickable:hover{border-color:var(--accent-soft-strong);box-shadow:var(--shadow-md), 0 0 0 1px var(--accent-soft), 0 0 30px -14px var(--accent);transform:translateY(-2px)}.stat-tile.clickable.active{border-color:var(--accent-soft-strong);box-shadow:0 0 0 1px var(--accent-soft-strong), 0 0 28px -14px var(--accent)}.badge{letter-spacing:.01em;padding:3px 10px;font-weight:600}.tag-chip{background:var(--surface-3)}.avatar{box-shadow:inset 0 0 0 1px #ffffff2e}.board-column.drag-over{background:var(--accent-soft);border-color:var(--accent-soft-strong)}.drop-ghost{border-color:var(--accent-soft-strong)}.modal-overlay,.loading-overlay,.drawer-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(5px)}:root[data-theme=light] .loading-overlay{background:var(--overlay)}.modal{box-shadow:var(--shadow-lg), inset 0 1px 0 var(--highlight);border-radius:20px}.drawer{background:var(--surface);box-shadow:var(--shadow-lg), inset 0 1px 0 var(--highlight)}.popover{background:var(--surface);box-shadow:var(--shadow-lg), inset 0 1px 0 var(--highlight);border-radius:16px}.loading-box{border-radius:20px}.loading-spinner{border-color:var(--surface-3);border-top-color:var(--accent)}.login-screen{background:0 0;padding:24px}.login-box{background:var(--surface);border:1px solid var(--border-strong);width:380px;max-width:100%;box-shadow:var(--shadow-lg), inset 0 1px 0 var(--highlight), 0 0 80px -30px var(--accent-soft-strong);border-radius:22px;padding:34px 32px}.login-box h2{font-size:22px}.notif-dot{border-color:var(--bg)}a{text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}.login-box p a{color:var(--text-secondary);font-size:13px}.login-box p a:hover{color:var(--accent)}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--field-bg);color:var(--text-primary);border:1px solid #0000;border-radius:11px;outline:none;padding:9px 12px;font-family:inherit;transition:border-color .14s,box-shadow .14s}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:var(--border)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-strong)}.form-row input,.form-row select,.form-row textarea,.meta-select,.meta-text-input,.meta-date-input{background:var(--field-bg)}.meta-select,.meta-text-input,.meta-date-input{padding:0 9px}.form-row input:focus,.form-row select:focus,.form-row textarea:focus,.meta-select:focus,.meta-text-input:focus,.meta-date-input:focus{background:var(--field-bg)}.login-theme-toggle{z-index:2;position:fixed;top:16px;right:16px}.live-toggle{border:1px solid var(--border);background:var(--surface-2);height:36px;color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:11px;align-items:center;gap:7px;padding:0 13px;font-size:12.5px;font-weight:700;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.live-toggle:hover{border-color:var(--border-strong);color:var(--text-primary)}.live-toggle.is-live{background:var(--status-done-soft);color:var(--status-done);border-color:color-mix(in srgb, var(--status-done) 35%, transparent)}.live-dot{background:var(--text-muted);border-radius:999px;flex-shrink:0;width:8px;height:8px}.live-toggle.is-live .live-dot{background:var(--status-done);animation:2s ease-in-out infinite live-pulse}@keyframes live-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--status-done) 55%, transparent)}50%{box-shadow:0 0 0 5px #0000}}@media (prefers-reduced-motion:reduce){.live-toggle.is-live .live-dot{animation:none}}@media (width<=640px){.live-toggle{justify-content:center;width:36px;padding:0}.live-label{display:none}}.department-editor{width:900px;max-height:min(88vh,820px)}.editor-section{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.editor-section table{width:100%}@media (width<=760px){.department-editor{overflow-x:auto}}.category-editor{width:720px;max-height:min(88vh,820px)}.drawer-parent-link{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:4px;margin:0 0 6px;padding:0;font-size:12.5px;display:inline-flex}.drawer-parent-link:hover{color:var(--accent)}.team-chips{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.team-chip{text-transform:none;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;display:inline-flex}.team-chip button{color:inherit;cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.inline-form{gap:8px;margin-bottom:8px;display:flex}.inline-form input,.inline-form select{flex:1;min-width:0}.subtask-list{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.subtask-row{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.subtask-row:hover{border-color:var(--border-strong)}.subtask-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.card-parent{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:11.5px;overflow:hidden}.card-subtasks{color:var(--text-secondary);margin:4px 0 0;font-size:11.5px;font-weight:600}.board-search{border:1px solid var(--accent);background:var(--surface-2);width:280px;height:36px;color:var(--text-secondary);border-radius:11px;align-items:center;gap:8px;padding:0 6px 0 11px;display:flex}.board-search input{min-width:0;height:100%;color:var(--text-primary);font:inherit;outline:none;flex:1;font-size:13px;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.board-search-clear{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:flex}.board-search-clear:hover{background:var(--surface-3);color:var(--text-primary)}.board-search-summary{margin:-6px 0 14px}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}@media (width<=760px){.board-search{width:180px}}.board-person-summary{margin:-6px 0 10px}.board-person-summary+.board-search-summary{margin-top:0}.modal.modal-wide{width:720px}.compact-form .form-row{margin-bottom:10px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0 12px;display:grid}.form-grid .form-row select,.form-grid .form-row input{width:100%;min-width:0}.form-static{border:1px dashed var(--border);height:38px;color:var(--text-secondary);border-radius:11px;align-items:center;padding:0 12px;font-size:13px;display:flex}.form-hint{margin:-2px 0 12px;font-size:12.5px}@media (width<=640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.repeat-box{border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:10px 12px}.repeat-box.on{border-color:color-mix(in srgb, var(--accent) 40%, transparent);background:var(--accent-soft)}.repeat-head{align-items:center;gap:10px;display:flex}.repeat-title{color:var(--text-primary);font-size:13px;font-weight:600}.repeat-summary{margin-left:auto;font-size:12.5px}.switch{cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-2);border-radius:999px;flex:none;width:36px;height:20px;padding:0;transition:background .14s,border-color .14s;position:relative}.switch .switch-knob{background:var(--text-secondary);border-radius:50%;width:14px;height:14px;transition:transform .14s,background .14s;position:absolute;top:2px;left:2px}.switch.on{background:var(--accent);border-color:var(--accent)}.switch.on .switch-knob{background:#fff;transform:translate(16px)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.repeat-picker{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.repeat-time{color:var(--text-secondary);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.repeat-time input{width:120px}.repeat-days{gap:5px;display:flex}.day-chip{cursor:pointer;width:30px;height:30px;font:inherit;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);border-radius:50%;padding:0;font-size:12px;font-weight:700}.day-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.day-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.day-chip:disabled{opacity:.6;cursor:default}.repeat-hint{margin:8px 0 0;font-size:12px}.repeat-edit .repeat-picker{margin-top:2px}.repeat-edit .repeat-days{flex-wrap:wrap}.repeat-edit-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.repeat-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.check-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;max-height:340px;margin-bottom:12px;display:grid;overflow-y:auto}.check-item{cursor:pointer;border:1px solid var(--border);color:var(--text-primary);border-radius:10px;align-items:center;gap:9px;padding:7px 10px;font-size:13px;font-weight:400;display:flex}.check-item:hover{border-color:var(--border-strong)}.check-item.on{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft)}.check-item input{flex:none}.check-item-text{flex-direction:column;min-width:0;display:flex}.check-item-sub{font-size:11.5px}.title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.title-row .btn{flex:none;margin-top:2px}.title-edit{align-items:center;gap:6px;margin:0 0 8px;display:flex}.title-edit input{border:1px solid var(--accent);background:var(--field-bg,var(--surface-2));min-width:0;height:38px;color:var(--text-primary);border-radius:10px;outline:none;flex:1;padding:0 12px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:700}[data-theme=light] .sidebar{--text-primary:#f2f6ff;--text-secondary:#aebcd8;--text-muted:#8394b8;--surface-2:#223a7066;--surface-3:#3050947a;--border:#8cb9ff1f;--border-strong:#8cb9ff42;--accent:#6fb0ff;--accent-soft:#4d9bff24;--accent-soft-strong:#4d9bff4d;--highlight:#ffffff0d;--btn-bg:linear-gradient(180deg, #fdfeff 0%, #dce2eb 46%, #bac4d2 54%, #e8ecf2 100%);--btn-text:#0a1636;--btn-border:#ffffffa6;--btn-glow:#4d9bff8c;color:var(--text-primary);background:linear-gradient(#0c1a40 0%,#071230 60%,#050d24 100%);border-right-color:#0a163099}.login-screen.auth-split{grid-template-columns:minmax(0,1.15fr) minmax(420px,1fr);justify-content:stretch;align-items:stretch;padding:0;display:grid}.auth-pane{justify-content:center;align-items:center;padding:32px 24px;display:flex}.auth-showcase{color:#f2f6ff;background:radial-gradient(640px 420px at 72% 52%,#1e6bff57,#0000 70%),radial-gradient(1200px 260px at 40% 110%,#2e7dff73,#0000 70%),linear-gradient(165deg,#071330 0%,#040b1f 55%,#030817 100%);border-right:1px solid #8cb9ff24;flex-direction:column;gap:22px;height:100vh;min-height:640px;padding:36px 48px 40px;display:flex;position:relative;overflow:hidden}.auth-showcase:after{content:"";pointer-events:none;border-top:2px solid #96c3ffbf;border-radius:50%;height:86%;position:absolute;top:calc(100% - 26px);left:-40%;right:-40%;transform:rotate(-2deg);box-shadow:0 -10px 46px -6px #3d8bffd9,inset 0 14px 40px -20px #3d8bff99}.auth-showcase>*{z-index:1;position:relative}.showcase-brand{align-items:center;gap:10px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:700;display:flex}.showcase-mark{border-radius:10px;width:34px;height:34px;margin:0}.showcase-copy{max-width:470px}.showcase-eyebrow{letter-spacing:.32em;text-transform:uppercase;color:#9fb2d6;margin:0 0 14px;font-size:11px;font-weight:600}.showcase-copy h1{letter-spacing:-.02em;color:#fff;margin:0 0 14px;font-size:clamp(32px,3.3vw,46px);line-height:1.08}.showcase-copy h1 em{background:linear-gradient(#fff 20%,#aeb9cc 100%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding-right:.08em;font-style:italic;font-weight:600}.showcase-lead{color:#b5c3de;margin:0;font-size:15px;line-height:1.6}.showcase-visual{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.showcase-stage{aspect-ratio:1;max-width:100%;height:100%;max-height:500px}.showcase-planet{width:100%;height:100%;display:block}.showcase-card{-webkit-backdrop-filter:blur(10px);background:#0a1634bd;border:1px solid #8cb9ff38;border-radius:12px;flex-direction:column;gap:3px;width:184px;padding:10px 12px;animation:7s ease-in-out infinite showcase-float;display:flex;position:absolute;box-shadow:0 18px 40px -18px #000c,inset 0 1px #ffffff0f}.showcase-card.c1{top:4%;left:0}.showcase-card.c2{animation-delay:-2.3s;top:42%;right:0}.showcase-card.c3{animation-delay:-4.6s;bottom:2%;left:8%}.showcase-card-place{letter-spacing:.06em;text-transform:uppercase;color:#8fa3c8;font-size:9.5px;font-weight:700}.showcase-card-title{color:#f2f6ff;font-size:13px;font-weight:600}.showcase-card-foot{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.showcase-status{align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.showcase-status i{border-radius:999px;width:7px;height:7px}.showcase-avatar{color:#fff;background:linear-gradient(135deg,#3d8bff,#1e4fc4);border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:8.5px;font-weight:700;display:flex}@keyframes showcase-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.showcase-card{animation:none}}.showcase-points{border-top:1px solid #8cb9ff29;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:18px 0 0;list-style:none;display:grid}.showcase-points strong{color:#fff;margin-bottom:2px;font-size:13px;display:block}.showcase-points span{color:#9fb2d6;font-size:12px}@media (width<=960px){.login-screen.auth-split{grid-template-columns:1fr}.auth-showcase{display:none}}
