:root{--bg:#f4f6f1;--paper:#fff;--ink:#19211d;--muted:#7b857e;--line:#e3e7df;--dark:#17211c;--lime:#c9f43d;--warm:#ec9d5a}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:22px 14px;background:var(--dark);color:#fff;z-index:40}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px}.logo{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:var(--lime);color:#1a221e;font-size:18px;font-weight:850}.brand strong{display:block;font-size:18px;letter-spacing:-.6px}.brand span{display:block;margin-top:2px;color:#7c8981;font-size:9px;letter-spacing:1.1px;text-transform:uppercase}.sidebar nav{display:grid;gap:4px}.nav,.project-link{width:100%;min-height:42px;border:0;border-radius:9px;background:transparent;color:#9da9a2;display:flex;align-items:center;gap:10px;padding:0 11px;text-align:left;cursor:pointer}.nav:hover,.nav.active,.project-link:hover,.project-link.selected{background:#27332d;color:#fff}.nav.active{box-shadow:inset 2px 0 var(--lime)}.side-label{margin:27px 11px 10px;color:#66736b;font-size:9px;font-weight:750;letter-spacing:1.4px;text-transform:uppercase}.project-nav{display:grid;gap:3px}.project-link i{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#1b221e;font-style:normal;font-size:11px;font-weight:800;flex:0 0 auto}.project-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.project-link small{margin-left:auto;color:#728078;font-size:9px}.tone-0{background:#c9f43d}.tone-1{background:#94cbed}.tone-2{background:#efad86}.tone-3{background:#c2a7e9}.side-empty{padding:0 11px;color:#68756d;font-size:11px}.logout{margin-top:auto;padding:12px;color:#87938c;text-decoration:none;font-size:12px}.logout:hover{color:#fff}main{min-width:0}.topbar{height:72px;position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 30px;border-bottom:1px solid var(--line);background:rgba(248,250,246,.92);backdrop-filter:blur(12px)}.search{width:min(350px,40vw)}.search input{width:100%;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 13px;outline:none}.search input:focus,input:focus,textarea:focus,select:focus{border-color:#afca51!important;box-shadow:0 0 0 3px #c9f43d25}.actions{display:flex;gap:8px}.primary,.secondary,.dark{min-height:40px;border-radius:10px;padding:0 15px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none}.primary{background:var(--lime);color:#17201c;box-shadow:0 2px 0 #a9ce2c}.secondary{background:#fff;color:#39423d;border:1px solid #dce1d9}.dark{background:#18221d;color:#fff}.primary:hover,.dark:hover,.secondary:hover{transform:translateY(-1px)}button:disabled{opacity:.5;pointer-events:none}.mobile-menu{display:none;border:0;background:transparent;font-size:22px}.content{max-width:1480px;margin:auto;padding:34px 37px 55px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}.page-heading h1{margin:7px 0 6px;font-size:clamp(30px,4vw,44px);line-height:1.02;letter-spacing:-1.8px}.page-heading p,.modal-card>p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.kicker{color:#758078;font-size:9px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}.metrics{display:grid;grid-template-columns:1.12fr .78fr .9fr 1fr;gap:12px;margin-bottom:24px}.metric{min-height:164px;padding:18px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 26px #20302708}.metric>span{color:#7a847d;font-size:9px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.metric>strong{margin:20px 0 auto;font-size:35px;line-height:1;letter-spacing:-1.4px}.metric>strong small{font-size:15px;color:#9ca59f}.metric p{margin:14px 0 0;color:#858e88;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark-card{background:#1e2923;border-color:#1e2923;color:#fff}.dark-card>span,.dark-card p{color:#adb7b0}.progress{height:5px;margin-top:15px;border-radius:99px;background:#3a4740;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:var(--lime)}.metric .date-value{font-size:20px;letter-spacing:-.5px}.panel{margin-bottom:14px;border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}.panel-head{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 22px;border-bottom:1px solid #ecefe9}.panel-head h2{margin:4px 0 0;font-size:18px}.task-group .panel-head h2{margin:0;font-size:15px}.task-group .panel-head span{color:#76901f;font-size:11px}.task-list{padding:0 22px}.task-row{min-height:72px;display:grid;grid-template-columns:28px minmax(190px,1fr) 68px 85px 124px;align-items:center;gap:12px;border-bottom:1px solid #edf0ea}.task-row:last-child{border-bottom:0}.task-check{width:23px;height:23px;padding:0;border:1.5px solid #cdd3cc;border-radius:7px;background:#fff;color:#31411c;cursor:pointer}.task-in_progress .task-check{border-color:var(--warm);color:var(--warm)}.task-done .task-check{background:var(--lime);border-color:#a9ce2c}.task-copy{min-width:0}.task-copy strong,.task-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-copy strong{font-size:12px}.task-copy span{margin-top:5px;color:#929b94;font-size:9px}.task-done .task-copy strong{text-decoration:line-through;color:#8d968f}.priority{justify-self:start;padding:5px 7px;border-radius:6px;font-size:8px;font-weight:750}.priority-high{background:#fff0e8;color:#b65e2d}.priority-medium{background:#f0f2ee;color:#6e786f}.priority-low{background:#edf4ff;color:#5f7da4}.deadline{color:#7d8780;font-size:9px}.task-row select{height:31px;border:1px solid #e0e4dd;border-radius:8px;background:#fafbf8;color:#5d675f;padding:0 7px;font-size:9px}.panel-empty{padding:45px;text-align:center;color:#8c958e;font-size:12px}.count{padding:8px 11px;border-radius:99px;background:#e9ede6;color:#5c665f;font-size:10px}.info-banner{margin-bottom:17px;padding:14px 16px;border:1px solid #d5e8f4;border-radius:11px;background:#f0f8fd;color:#5f8297;font-size:10px}.recipient-head,.recipient-row{display:grid;grid-template-columns:minmax(200px,1.4fr) repeat(4,.55fr);align-items:center;gap:12px;padding:0 18px}.recipient-head{min-height:42px;background:#f7f9f5;color:#7f8982;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.65px}.recipient-row{min-height:67px;border-top:1px solid #edf0ea}.recipient-row>input{width:17px;height:17px;accent-color:#91b724}.user{display:flex;align-items:center;gap:10px}.user>i{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#e6f1c6;color:#526521;font-style:normal;font-size:12px;font-weight:800}.user strong,.user small{display:block}.user strong{font-size:11px}.user small{margin-top:4px;color:#929b94;font-size:9px}.switch{width:38px;height:22px;position:relative}.switch input{position:absolute;opacity:0}.switch i{display:block;width:38px;height:22px;padding:3px;border-radius:99px;background:#dfe4dd}.switch i:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0002;transition:.2s}.switch input:checked+i{background:#b7df39}.switch input:checked+i:after{transform:translateX(16px)}.settings-grid{display:grid;gap:12px}.setting-card{min-height:115px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;padding:19px;border:1px solid var(--line);border-radius:14px;background:#fff}.setting-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#e4f4ff;color:#278bc7}.setting-icon.violet{background:#f0e7fa;color:#8559bb}.setting-icon.warm{background:#fff0e5;color:#bf6d35}.setting-card h2{margin:0;font-size:14px}.setting-card p{margin:6px 0 9px;color:#858f88;font-size:10px}.connection{color:#8c958e;font-size:8px;letter-spacing:.6px;text-transform:uppercase}.connection.ready{color:#6f8b20}.time-form{display:flex;gap:8px}.time-form input{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 9px}.empty-state{min-height:calc(100vh - 170px);display:grid;place-items:center;align-content:center;text-align:center}.empty-state h1{margin:16px 0 7px}.empty-state p{margin:0 0 20px;color:var(--muted);font-size:12px}.empty-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:16px;background:#e7f5b9;color:#5c711c;font-size:28px}.modal-backdrop{position:fixed;inset:0;z-index:100;padding:22px;display:grid;place-items:center;background:#111a16a8;backdrop-filter:blur(6px)}.modal-card{width:min(600px,100%);max-height:calc(100vh - 44px);overflow:auto;padding:24px;border-radius:19px;background:#fafcf8;box-shadow:0 30px 90px #0005}.modal-card.compact{width:min(470px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.modal-head h2{margin:4px 0 0;font-size:22px}.close{width:38px;height:38px;border:0;border-radius:9px;background:transparent;font-size:25px;cursor:pointer}.close:hover{background:#edf0ea}.modal-card label{display:grid;gap:7px;margin-top:14px;color:#4d5750;font-size:10px;font-weight:700}.modal-card input,.modal-card textarea,.modal-card select{width:100%;min-height:42px;border:1px solid #dfe4dc;border-radius:10px;background:#fff;padding:11px 12px;outline:none;font-size:11px;resize:vertical}.source-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:17px;padding:4px;border-radius:11px;background:#edf1eb}.source-switch button{height:37px;border:0;border-radius:8px;background:transparent;color:#707a73;font-size:10px;font-weight:700;cursor:pointer}.source-switch button.active{background:#fff;color:#27312b;box-shadow:0 2px 8px #1d2b230f}.file-source{min-height:150px;place-items:center;align-content:center;border:1.5px dashed #cbd3c8;border-radius:12px;background:#f6f9f3;cursor:pointer}.file-source input{max-width:320px}.file-source span{color:#8b948d;font-size:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;right:22px;bottom:22px;z-index:150;max-width:min(420px,calc(100vw - 44px));padding:13px 16px;border-radius:11px;background:#1a251f;color:#fff;box-shadow:0 14px 40px #0003;font-size:11px}.toast-error{background:#8f372f}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 15%,#e8f6bd,transparent 30%),#f1f4ee}.login-card{width:min(410px,100%);padding:31px;border:1px solid #dfe5dc;border-radius:20px;background:#fff;box-shadow:0 25px 80px #25322b18}.login-card .logo{margin-bottom:16px}.login-card h1{margin:5px 0 8px;font-size:29px;letter-spacing:-1.2px}.login-card>p{color:var(--muted);font-size:11px;line-height:1.5}.login-card label{display:grid;gap:7px;margin-top:15px;color:#4b554f;font-size:10px;font-weight:700}.login-card input{width:100%;height:43px;border:1px solid var(--line);border-radius:10px;padding:0 12px;outline:none}.wide{width:100%;margin-top:19px}.link-button{margin-top:16px}.error,.success{margin:14px 0;padding:11px;border-radius:9px;font-size:10px}.error{background:#fff0ed;color:#a94336}.success{background:#eff9d7;color:#607b17}.fatal{font-size:12px}.loading{padding:50px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.task-row{grid-template-columns:28px minmax(180px,1fr) 68px 115px}.deadline{display:none}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:250px;transform:translateX(-105%);transition:.25s;box-shadow:15px 0 50px #0004}.sidebar.open{transform:translateX(0)}.mobile-menu{display:block}.topbar{padding:0 16px}.search{display:none}.content{padding:25px 18px 45px}.recipient-head,.recipient-row{grid-template-columns:minmax(170px,1fr) repeat(2,.5fr)}.recipient-head span:nth-child(2),.recipient-head span:nth-child(3),.recipient-row>input:nth-child(2),.recipient-row>input:nth-child(3){display:none}.setting-card{grid-template-columns:48px 1fr}.setting-card>.secondary,.time-form{grid-column:2;justify-self:start}}
@media(max-width:560px){.topbar{height:65px}.actions button{font-size:0;width:41px;padding:0}.actions button:before{content:"＋";font-size:19px}.content{padding:22px 12px 36px}.page-heading{align-items:flex-start}.page-heading h1{font-size:31px}.metrics{grid-template-columns:1fr}.metric{min-height:145px}.task-list{padding:0 13px}.task-row{grid-template-columns:26px minmax(0,1fr) 104px;min-height:77px;gap:8px}.priority{display:none}.task-row select{width:104px}.recipient-head,.recipient-row{grid-template-columns:1fr 56px;padding:0 11px}.recipient-head span:nth-child(4),.recipient-row>input:nth-child(4){display:none}.modal-backdrop{padding:9px}.modal-card{max-height:calc(100vh - 18px);padding:19px;border-radius:15px}.form-grid{grid-template-columns:1fr;gap:0}.time-form{display:grid}}
