@font-face{font-family:Plus Jakarta Sans;font-weight:400;src:url(/fonts/PlusJakartaSans-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Plus Jakarta Sans;font-weight:500;src:url(/fonts/PlusJakartaSans-Medium.ttf) format("truetype");font-display:swap}@font-face{font-family:Plus Jakarta Sans;font-weight:600;src:url(/fonts/PlusJakartaSans-SemiBold.ttf) format("truetype");font-display:swap}@font-face{font-family:Plus Jakarta Sans;font-weight:700;src:url(/fonts/PlusJakartaSans-Bold.ttf) format("truetype");font-display:swap}:root{--green-700: #345B38;--green-900: #233D26;--green-100: #EAF2EB;--blue: #CCDFEF;--lav: #F0F2F9;--mint: #EAF2EB;--paper: #FAFAF7;--white: #fff;--ink: #1B1D1B;--fg2: #5A605B;--fg3: #8A908B;--line: #E4E4E4;--r-sm: 10px;--r-md: 14px;--r-pill: 999px;--shadow-md: 0 8px 24px rgba(31,56,35,.08)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Plus Jakarta Sans,system-ui,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}a{color:var(--green-700)}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:14px 24px;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar img{height:22px}.topbar .spacer{flex:1}.topbar .who{font-size:13px;color:var(--fg2)}.nav{display:flex;gap:4px;overflow-x:auto}.nav button{border:0;background:transparent;color:var(--fg2);padding:7px 14px;border-radius:var(--r-pill);font-size:14px;font-weight:500;white-space:nowrap}.nav button:hover{background:var(--green-100);color:var(--green-900)}.nav button.on{background:var(--green-700);color:#fff}.main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:24px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green-700)}h1{font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:4px}h2{font-size:17px;font-weight:700;letter-spacing:-.01em}.muted{color:var(--fg2)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.kpi{padding:16px 18px}.kpi .n{font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--green-700);line-height:1.1}.kpi .l{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg2);margin-top:6px}.kpi.warn .n{color:#a6402e}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}.seg{display:inline-flex;background:var(--white);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px}.seg button{border:0;background:transparent;color:var(--fg2);padding:6px 14px;border-radius:var(--r-pill);font-size:13px;font-weight:500}.seg button.on{background:var(--green-700);color:#fff}input[type=text],input[type=email],input[type=password],input[type=date],select,textarea{background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;font-size:14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #345b381a}.search{min-width:240px;flex:1;max-width:380px}.btn{border:1px solid var(--green-700);background:var(--green-700);color:#fff;border-radius:var(--r-pill);padding:9px 18px;font-size:14px;font-weight:600}.btn:hover{background:#2a4a2d}.btn.ghost{background:transparent;color:var(--green-700)}.btn.ghost:hover{background:var(--green-100)}.btn.small{padding:6px 13px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.group{margin-bottom:26px}.group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.group-head .count{font-size:12px;color:var(--fg3)}.rows{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--white)}.row{display:grid;grid-template-columns:1fr 190px 130px 110px 92px;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row:hover{background:#fcfcfa}.row .nm{font-size:14.5px;font-weight:600}.row .ds{font-size:12.5px;color:var(--fg2);margin-top:2px}.row .sm{font-size:13px;color:var(--fg2)}.row.done .nm{text-decoration:line-through;color:var(--fg3)}.pill{display:inline-block;padding:3px 11px;border-radius:var(--r-pill);font-size:12px;font-weight:600;white-space:nowrap}.pill.todo{background:var(--lav);color:#3b3e55}.pill.doing{background:var(--blue);color:#17384f}.pill.done{background:var(--mint);color:var(--green-900)}.pill.late{background:#fbe9e4;color:#a6402e}.pill.soon{background:#fcf3e2;color:#8a6316}.empty{padding:40px;text-align:center;color:var(--fg2)}.err{background:#fbe9e4;color:#a6402e;border-radius:var(--r-sm);padding:12px 14px;font-size:14px;margin-bottom:16px}.login{min-height:100%;display:grid;place-items:center;background:var(--green-700);padding:24px}.login .box{width:100%;max-width:380px;background:var(--white);border-radius:var(--r-md);padding:32px}.login img{height:26px;margin-bottom:22px}.login h1{font-size:22px;margin-bottom:4px}.login p.sub{font-size:14px;color:var(--fg2);margin-bottom:22px}.login label{display:block;font-size:12px;font-weight:600;color:var(--fg2);margin:12px 0 5px}.login input{width:100%}.login .btn{width:100%;margin-top:20px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f382373;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;z-index:40}.modal{width:100%;max-width:520px;background:var(--white);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:24px;max-height:88vh;overflow:auto}.modal h2{margin-bottom:14px}.modal label{display:block;font-size:12px;font-weight:600;color:var(--fg2);margin:12px 0 5px}.modal input,.modal select,.modal textarea{width:100%}.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.cmt{border-top:1px solid var(--line);margin-top:8px;padding-top:10px;font-size:13px;color:var(--fg2)}@media (max-width: 860px){.kpis{grid-template-columns:repeat(2,1fr)}.row{grid-template-columns:1fr;gap:6px}.row .hide-s{display:none}.main{padding:16px}.topbar{padding:12px 16px}}.topbar .who{font-size:13px;color:var(--fg2);background:none;border:0;padding:0}.topbar .who.linkish{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.topbar .who.linkish:hover{color:var(--green-700);text-decoration-color:var(--green-700)}.ok{background:var(--mint);color:var(--green-900);border-radius:var(--r-sm);padding:12px 14px;font-size:14px;margin-top:12px}
