@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],input[type=number],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}.ta-r{text-align:right}.row.head{background:#fcfcfa}.row.head>div{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}.row.p-row{grid-template-columns:1fr 150px 130px 150px 70px 90px}.row.d-row{grid-template-columns:1fr 160px 120px}.row.c-row{grid-template-columns:190px 1fr 130px 190px 70px}.row.h-row{grid-template-columns:1fr 110px 110px 110px}.row.w-row{grid-template-columns:220px 1fr 150px 40px}.row.s-row{grid-template-columns:1fr 100px 90px;background:#fcfcfa;padding-left:32px}.sub-rows{border-top:1px solid var(--line)}.bar{height:5px;border-radius:999px;background:var(--line);overflow:hidden;margin-top:6px}.bar.big{height:9px;margin-top:0}.bar span{display:block;height:100%;background:var(--green-700);border-radius:999px}.bar span.near{background:#c08a2e}.bar span.over{background:#a6402e}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checks{display:flex;gap:18px;margin-top:6px}.check{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--fg2);margin:0!important;font-weight:500!important}.check input{width:auto!important}input.mini{width:68px;padding:5px 8px;font-size:13px;text-align:right}.funnel{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}.funnel .col{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:14px}.funnel .col-head{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.funnel .col-head h2{font-size:14px}.funnel .col-empty{font-size:13px;color:var(--fg3);padding:8px 0}.deal{border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 12px;margin-bottom:10px;cursor:pointer}.deal:hover{border-color:var(--green-700)}.deal .nm{font-size:13.5px;font-weight:600;line-height:1.35}.deal .val{font-size:13px;font-weight:600;color:var(--green-700);margin-top:4px}.deal .ds{font-size:12.5px;color:var(--fg2);margin-top:6px;line-height:1.4}.deal .meta{font-size:11.5px;color:var(--fg3);margin-top:8px}.whys{display:flex;gap:4px;margin-top:7px}.why{width:19px;height:19px;border-radius:999px;font-size:10.5px;font-weight:700;display:grid;place-items:center;background:var(--line);color:#fff}.why.on{background:var(--green-700)}@media (max-width: 1000px){.funnel{grid-template-columns:repeat(2,1fr)}}@media (max-width: 860px){.row.p-row,.row.d-row,.row.c-row,.row.h-row,.row.w-row,.row.s-row{grid-template-columns:1fr}.row.head{display:none}.funnel,.two-col{grid-template-columns:1fr}.ta-r{text-align:left}}.checks{flex-wrap:wrap}.check{gap:8px}.gantt{padding:16px 18px;overflow-x:auto}.g-head,.g-row{display:flex;align-items:stretch}.g-label{width:240px;flex:0 0 240px;padding:8px 12px 8px 0}.g-track{flex:1;display:flex;position:relative;min-width:520px}.g-month{border-left:1px solid var(--line);padding:4px 0 8px 8px;font-size:11.5px;font-weight:600;color:var(--fg2);text-transform:capitalize}.g-cell{border-left:1px solid #F1F1EE}.g-body{position:relative}.g-row{border-top:1px solid var(--line);cursor:pointer}.g-row:hover{background:#fcfcfa}.g-row .g-label .nm{font-size:13.5px;font-weight:600}.g-row .g-label .ds{font-size:12px;color:var(--fg2)}.g-bar{position:absolute;top:12px;height:22px;border-radius:999px;display:flex;align-items:center;padding:0 10px;overflow:hidden}.g-bar span{font-size:11px;font-weight:600;color:#fff;white-space:nowrap}.g-today{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed #A6402E;z-index:3;pointer-events:none}.g-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--fg2)}.g-legend span{display:inline-flex;align-items:center;gap:6px}.g-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.planweek{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.planday{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;min-height:130px}.planday.now{border-color:var(--green-700)}.pd-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.pd-head>span:first-child{font-size:13px;font-weight:700}.pd-load{font-size:11.5px;font-weight:600;color:var(--fg3)}.pd-load.full{color:#a6402e}.pd-empty{font-size:13px;color:#c6cac7}.pd-task{background:var(--mint);border-radius:var(--r-sm);padding:8px 10px;margin-bottom:8px}.pd-task .t{font-size:12.5px;font-weight:600;line-height:1.35;color:var(--green-900)}.pd-task .m{font-size:11px;color:var(--fg2);margin-top:3px}@media (max-width: 860px){.planweek{grid-template-columns:1fr}.g-label{width:150px;flex:0 0 150px}}.subbar{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:61px;z-index:19}.subbar-inner{width:100%;max-width:1280px;margin:0 auto;padding:0 24px;display:flex;gap:26px;overflow-x:auto}.subbar button{border:0;background:transparent;color:var(--fg2);cursor:pointer;padding:12px 0 11px;font-size:14px;font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.subbar button:hover{color:var(--green-900)}.subbar button.on{color:var(--green-700);font-weight:600;border-bottom-color:var(--green-700)}@media (max-width: 860px){.subbar{top:57px}.subbar-inner{padding:0 16px;gap:18px}}
