:root{--bg: #f7f7f8;--panel: #ffffff;--sidebar: #1f1f21;--sidebar-hover: #303033;--ink: #1f1f21;--muted: #6d6e73;--border: #e6e6e8;--border-strong: #d7d7da;--accent: #5b5bd6;--accent-dark: #4949b8;--accent-soft: #f0efff;--pink: #f06a6a;--green: #3f9d73;--yellow: #c58b22;--blue: #4d87d8;--danger: #c93c3c;--shadow: 0 10px 30px rgba(20,20,25,.1);--radius: 12px}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:var(--sidebar);color:#fff;min-height:100vh;padding:16px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;margin-bottom:18px;padding:6px 8px 12px}.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(145deg,#f06a6a,#8b5cf6);color:#fff;display:grid;place-items:center;font-weight:800;font-size:11px;letter-spacing:-.2px;box-shadow:inset 0 0 0 1px #ffffff2e}.brand-name{font-weight:700;font-size:15px}.brand-subtitle{color:#a9a9ae;font-size:11px;margin-top:1px}.primary-nav{display:grid;gap:2px}.nav-item,.quick-project{width:100%;border:0;background:transparent;color:#d8d8db;text-align:left;padding:9px 10px;border-radius:7px;display:flex;gap:9px;align-items:center;font-size:13px}.nav-item span{width:18px;text-align:center;color:#aaaab0}.nav-item:hover,.quick-project:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:#37373a;color:#fff;font-weight:650}.sidebar-section{margin-top:22px}.sidebar-heading{color:#88888e;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:750;padding:0 10px 7px}.quick-project{font-size:12px;padding:7px 10px}.project-dot{width:8px;height:8px;border-radius:2px;background:#9e9eea;flex:0 0 auto}.sidebar-footer{margin-top:auto;padding:14px 8px 3px;border-top:1px solid rgba(255,255,255,.09);display:flex;gap:10px;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;background:#f3c660;color:#5d4310;display:grid;place-items:center;font-weight:750;font-size:11px}.user-copy{display:grid;font-size:12px}.user-copy span{color:#96969b;font-size:10px}.main-content{min-width:0;padding:0 28px 55px}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);margin-bottom:0}h1{margin:0;font-size:21px;letter-spacing:-.35px;font-weight:700}.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}.topbar-actions{display:flex;gap:8px;align-items:center}.primary-btn,.secondary-btn,.danger-btn,.text-btn,.icon-btn{border:0;border-radius:7px;padding:8px 12px;font-weight:650;font-size:12px}.primary-btn{background:var(--accent);color:#fff}.primary-btn:hover{background:var(--accent-dark)}.secondary-btn{background:#fff;border:1px solid var(--border-strong);color:var(--ink)}.secondary-btn:hover{background:#f5f5f6}.danger-btn{background:#fff0f0;color:var(--danger)}.text-btn{background:transparent;color:var(--accent)}.icon-btn{background:transparent;font-size:24px;padding:0 4px;font-weight:400;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:#fff;border-bottom:1px solid var(--border);padding:12px 2px 14px;margin-bottom:0}.filters label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.filters select{min-width:136px}.hidden{display:none!important}#app-view{padding-top:18px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #14141906}.section-header{padding:15px 17px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px}.section-header h2{margin:0;font-size:14px}.section-header .meta{color:var(--muted);font-size:11px}.task-table{width:100%;border-collapse:collapse}.task-table th{text-align:left;color:#8a8a8f;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:9px 13px;background:#fbfbfc;border-bottom:1px solid var(--border)}.task-table td{padding:10px 13px;border-bottom:1px solid var(--border);font-size:12px;vertical-align:middle}.task-table tr:last-child td{border-bottom:0}.task-table tbody tr:hover{background:#fafaff}.task-name{font-weight:550;cursor:pointer}.task-name:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.check{width:19px;height:19px;border-radius:50%;border:1.5px solid #b9bac0;background:#fff;display:inline-grid;place-items:center;color:#fff;padding:0;font-size:10px}.check:hover{border-color:var(--green)}.check.done{background:var(--green);border-color:var(--green)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700;white-space:nowrap}.badge-high{background:#fff0ef;color:#b13d36}.badge-medium{background:#fff6df;color:#95630a}.badge-low{background:#edf3fb;color:#476d98}.status{display:inline-flex;gap:6px;align-items:center}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:#9b9ca3}.status-progress:before{background:var(--blue)}.status-blocked:before{background:var(--pink)}.status-completed:before{background:var(--green)}.overdue{color:var(--danger);font-weight:650}.muted{color:var(--muted);font-weight:400}.view-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.view-tabs{display:inline-flex;gap:20px;border-bottom:1px solid var(--border);width:100%}.view-tab{border:0;background:transparent;padding:9px 1px 10px;color:#6c6c71;font-weight:600;font-size:12px;border-bottom:2px solid transparent;margin-bottom:-1px}.view-tab.active{color:var(--ink);border-bottom-color:var(--ink)}.view-tab:hover{color:var(--ink)}.project-select{min-width:240px;border:1px solid var(--border-strong);background:#fff;border-radius:7px;padding:8px 10px}.board-wrap{overflow-x:auto;padding-bottom:12px}.board{display:flex;gap:12px;min-width:max-content;align-items:flex-start}.board-column{width:278px;background:#f0f0f2;border-radius:10px;padding:10px;min-height:500px;border:1px solid #ececef;transition:background .15s,border .15s}.board-column.drag-over{background:#ecebff;border-color:#bdbaf2}.board-column h3{font-size:11px;margin:2px 3px 10px;color:#525258;display:flex;justify-content:space-between;align-items:center;font-weight:700}.column-title{display:flex;align-items:center;gap:7px}.column-pill{width:8px;height:8px;border-radius:50%;background:#b0b1b7}.board-column[data-section=Today] .column-pill{background:#f06a6a}.board-column[data-section=Upcoming] .column-pill{background:#f2b94b}.board-column[data-section=Later] .column-pill{background:#4d87d8}.board-column[data-section=Completed] .column-pill{background:#3f9d73}.board-card{background:#fff;border:1px solid #dedee2;border-radius:8px;padding:12px;margin-bottom:8px;box-shadow:0 1px 2px #00000009;cursor:grab;transition:transform .12s,box-shadow .12s,border-color .12s}.board-card:hover{border-color:#c5c3eb;box-shadow:0 3px 10px #1e1e3212;transform:translateY(-1px)}.board-card.dragging{opacity:.45;transform:rotate(1deg)}.board-card-title{font-weight:600;font-size:12px;line-height:1.4;cursor:pointer}.board-card-top{display:flex;gap:8px;align-items:flex-start}.board-check{flex:0 0 auto;margin-top:1px}.board-card-project{margin-top:10px;color:#6d6e73;font-size:10px;display:flex;align-items:center;gap:5px}.mini-project-dot{width:6px;height:6px;border-radius:2px;background:#9e9eea}.board-card-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:10px;color:var(--muted);font-size:10px}.board-card-footer{display:flex;gap:5px;align-items:center}.add-card-btn{width:100%;border:0;background:transparent;color:#77777c;padding:7px 5px;text-align:left;border-radius:6px;font-size:11px}.add-card-btn:hover{background:#0000000a;color:var(--ink)}.calendar{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:#fafafa;border-bottom:1px solid var(--border)}.calendar-header div{padding:9px;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:700;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr))}.calendar-day{min-height:118px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:7px}.calendar-day:nth-child(7n){border-right:0}.calendar-date{color:var(--muted);font-size:10px;margin-bottom:6px}.calendar-date.today{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:700}.calendar-task{background:var(--accent-soft);color:#4f4fb5;font-size:9px;font-weight:650;padding:5px 6px;border-radius:5px;margin-bottom:4px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-grid,.portfolio-grid,.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.project-card,.portfolio-card,.metric-card{padding:17px}.project-card:hover,.portfolio-card:hover{border-color:#cbc9ef;cursor:pointer;box-shadow:0 3px 12px #23233c0d}.card-kicker{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.07em}.card-title{margin:6px 0 4px;font-size:14px;font-weight:700}.card-copy{color:var(--muted);font-size:11px;line-height:1.45}.progress{margin-top:13px;background:#efeff1;height:6px;border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--accent)}.metric-number{font-size:27px;font-weight:750;letter-spacing:-1px;margin-top:7px}.metric-label{color:var(--muted);font-size:11px;margin-top:2px}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;margin-top:12px}.empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:12px}.empty strong{display:block;color:var(--ink);margin-bottom:5px}.my-tasks-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.my-task-count{font-size:11px;color:var(--muted)}.board-help{font-size:10px;color:#8a8a8f;display:flex;align-items:center;gap:5px}.board-help span{font-size:14px}select,input,textarea{border:1px solid var(--border-strong);border-radius:7px;padding:8px 9px;background:#fff;color:var(--ink);outline:none}select:focus,input:focus,textarea:focus{border-color:#9a98e7;box-shadow:0 0 0 3px #5b5bd614}dialog{border:0;border-radius:13px;width:min(720px,calc(100vw - 32px));padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:#14141975}#task-form{padding:21px}.modal-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:17px}.modal-header h2{margin:3px 0 0;font-size:20px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#task-form label{display:grid;gap:6px;color:#505057;font-weight:650;font-size:11px}#task-form .full{margin-bottom:12px}.modal-actions{display:flex;align-items:center;gap:8px;margin-top:18px}.spacer{flex:1}@media(max-width:900px){.app-shell{grid-template-columns:74px 1fr}.sidebar{padding:14px 9px}.brand>div:not(.brand-mark),.nav-item{font-size:0}.nav-item span{font-size:15px;width:100%}.sidebar-heading,.quick-project,.user-copy{display:none}.brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-footer{justify-content:center}.main-content{padding:0 16px 40px}.two-col{grid-template-columns:1fr}}.team-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}.team-select-wrap label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:var(--muted)}.team-select-wrap select{min-width:220px}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.team-card{padding:18px}.team-card-top,.team-person-header{display:flex;align-items:center;gap:12px}.team-avatar{width:44px;height:44px;font-size:12px;flex:0 0 auto}.team-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.team-stats>div{background:#f7f7f9;border:1px solid var(--border);border-radius:10px;padding:10px;text-align:center}.team-stats strong{display:block;font-size:20px}.team-stats span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.full-btn{width:100%}.team-person-header{padding:16px 18px;background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:16px}.team-person-header h2{margin:0;font-size:16px}.team-summary{margin-left:auto;text-align:right}.team-summary strong{display:block;font-size:22px}.team-summary span{font-size:10px;color:var(--muted)}.sidebar-footer{gap:10px}.sidebar-footer .icon-btn{margin-left:auto;color:inherit;border-color:#ffffff29}.switch-user-list{display:grid;gap:8px;margin-top:14px}.switch-user-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.switch-user-option:hover{background:#f7f7f9}.switch-user-option span:nth-child(2){display:flex;flex-direction:column;min-width:0}.switch-user-option small{color:var(--muted);margin-top:2px}.switch-user-option b{margin-left:auto;font-size:10px;color:var(--accent)}.small-avatar{width:34px;height:34px;font-size:10px}.card-copy{line-height:1.45}@media(max-width:700px){.team-grid{grid-template-columns:1fr}.team-toolbar{align-items:stretch}.team-select-wrap,.team-select-wrap select{width:100%}}[hidden]{display:none!important}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);padding:32px}.auth-logo{display:block;width:100%;max-width:320px;height:auto;margin:0 auto}.sidebar-logo{display:block;width:100%;height:auto;flex-shrink:0;background:#fff;border-radius:8px;padding:8px;margin-bottom:12px}.auth-card h1{margin-top:22px}.auth-card form,.auth-card label{display:grid;gap:12px}.auth-card form{margin:24px 0 12px}.auth-card input{width:100%}#auth-message{font-size:13px;line-height:1.6;white-space:pre-line}#sync-status{position:fixed;bottom:16px;right:20px;z-index:999;padding:10px 16px;background:#1f1f21;color:#fff;border-radius:8px;font-size:12px;max-width:90vw}#task-comments{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.comment{background:var(--bg);padding:10px;margin:8px 0;border-radius:7px;white-space:pre-wrap;font-size:12px}.comment small{display:block;color:var(--muted);margin-bottom:5px}.sidebar-footer .icon-btn{font-size:12px;color:#ddd;margin-left:auto}#save-error{max-width:520px;padding:26px}@media(max-width:700px){.app-shell{grid-template-columns:160px 1fr}.main-content{padding:0 12px 32px}.sidebar{padding:12px 6px}.topbar{flex-wrap:wrap;padding:16px 0}}
