:root{--bg:#F6F4F0;--card:#FFFFFF;--raise:#F1EEE9;--line:#E6E2DA;--line-soft:#EFECE6;--fg:#23221F;--fg2:#45423D;--muted:#655F56;--faint:#8C867C;--accent:#C04F35;--accent-soft:#FBE7E1;--accent-ink:#FFFFFF;--ok:#5F7D4B;--ok-soft:#E5EDDC;--gold:#B5862A;--gold-soft:#F6ECD6;--bad:#C63F24;--bad-soft:#FBE3DD;--track:#ECE8E1;--shadow:0 1px 2px rgba(50,40,25,.06),0 4px 18px rgba(50,40,25,.05);--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--display:"Jost","IBM Plex Sans",system-ui,sans-serif;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:1200px;margin:0 auto;padding-inline:24px;padding-block:28px 80px;display:flex;flex-direction:column;gap:28px}.label{font-size:13px;font-weight:600;color:var(--muted)}.sub{font-size:13.5px;color:var(--muted)}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.brandrow{display:flex;align-items:center;gap:10px;margin-bottom:10px}.logo{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:.03em;border-top:3px solid var(--fg);line-height:1;padding-top:2px}.brandrow .sub{font-size:14px}.monthrow{display:flex;align-items:center;gap:10px}.monthrow h1{font-family:var(--display);font-weight:500;font-size:34px;letter-spacing:-.01em;line-height:1.1;margin:0;min-width:260px}.arrow{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-size:18px;color:var(--fg2);display:grid;place-items:center}.arrow:hover:not(:disabled){border-color:var(--faint)}.arrow:disabled{opacity:.35;cursor:default}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 16px;font-size:14.5px;font-weight:500}.btn:hover{border-color:var(--faint)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{background:none;border-color:transparent;color:var(--accent);padding-inline:8px}.btn.danger{color:var(--bad);border-color:var(--bad-soft);background:var(--card)}.note{font-size:13.5px;color:var(--muted);display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center;background:var(--gold-soft);border-radius:10px;padding:9px 14px}.note b{color:var(--fg2);font-weight:600}.linkbtn{background:none;border:0;padding:0;color:var(--accent);font-size:13.5px;text-decoration:underline;text-underline-offset:2px}.seg{display:inline-flex;background:var(--raise);border-radius:10px;padding:3px;gap:2px}.seg button{background:none;border:0;padding:7px 14px;border-radius:8px;font-size:14px;color:var(--muted);font-weight:500}.seg button.on{background:var(--card);color:var(--fg);box-shadow:0 1px 2px #00000014}.skins{display:flex;align-items:center;gap:8px}.skins .seg button{padding:6px 11px;font-size:13px}.summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px}@media (max-width:860px){.summary{grid-template-columns:1fr}}.panel{background:var(--card);border-radius:16px;box-shadow:var(--shadow)}.total{padding:24px;display:flex;flex-direction:column;gap:16px}.big{font-family:var(--display);font-weight:500;font-size:64px;line-height:.95;letter-spacing:-.02em}.big span{font-size:24px;color:var(--muted);margin-left:2px}.stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:12px}.stat .v{font-size:22px;font-weight:600;white-space:nowrap}.stat .l{font-size:13px;color:var(--muted)}.stat.bad .v{color:var(--bad)}.lock{display:flex;gap:12px;align-items:center;font-size:13.5px;color:var(--muted);border-top:1px solid var(--line-soft);padding-top:14px}.lock .btn{padding:7px 12px;font-size:13.5px;flex:none}.lock .btn:disabled{opacity:.5;cursor:not-allowed}.lock .btn.on{background:var(--ok);border-color:var(--ok);color:#fff}.companies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width:560px){.companies{grid-template-columns:1fr}}.co{border:0;text-align:left;padding:16px 18px;display:flex;flex-direction:column;gap:10px;position:relative}.co:hover{box-shadow:0 0 0 1px var(--line),var(--shadow)}.co.sel{box-shadow:0 0 0 2px var(--accent),var(--shadow)}.co .row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.co .n,.co .pct{font-weight:600;font-size:15.5px}.co .meta{font-size:13px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}.co .meta .late{color:var(--bad);font-weight:500}.bar{height:8px;background:var(--track);border-radius:99px;overflow:hidden;display:flex}.bar i{display:block;height:100%}.bar .g{background:var(--ok)}.bar .d{background:color-mix(in srgb,var(--ok) 50%,var(--track))}.bar .p{background:var(--gold)}.legend{display:flex;gap:16px;font-size:13px;color:var(--muted);flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.ring{display:none}.toolbar{display:flex;flex-direction:column;gap:12px}.toolrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolrow select,.toolrow input{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-size:14px}.toolrow input{flex:1;min-width:180px}.by{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);margin-left:auto}.vdesc{font-size:13.5px;color:var(--muted)}select.st{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;border:0;border-radius:99px;padding:6px 28px 6px 26px;font-size:13.5px;font-weight:500;cursor:pointer;background-color:var(--raise);color:var(--fg2);background-image:radial-gradient(circle at 13px 50%,var(--dot) 4px,transparent 4.6px),linear-gradient(45deg,transparent 50%,var(--faint) 50%),linear-gradient(135deg,var(--faint) 50%,transparent 50%);background-position:0 0,calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:100% 100%,5px 5px,5px 5px;background-repeat:no-repeat;--dot:var(--faint)}select.st.s1{--dot:var(--gold);background-color:var(--gold-soft);color:#6e5418}select.st.s2{--dot:var(--ok);background-color:var(--ok-soft);color:#3d5230}select.st.s3{--dot:#fff;background-color:var(--ok);color:#fff}select.st:disabled{opacity:.6;cursor:not-allowed}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--faint)}.dot.s1{background:var(--gold)}.dot.s2{background:color-mix(in srgb,var(--ok) 55%,#fff)}.dot.s3{background:var(--ok)}#tasks{display:flex;flex-direction:column;gap:26px}.grp{display:flex;flex-direction:column;gap:8px}.gh{display:flex;align-items:center;gap:14px;background:none;border:0;padding:2px 4px;text-align:left;align-self:flex-start;max-width:100%;flex-wrap:wrap}.gh .gn{font-family:var(--display);font-size:20px;font-weight:500}.gh .c{font-size:14px;color:var(--muted)}.gh .bar{width:140px;height:6px;flex:none}.gh .late{font-size:13.5px;color:var(--bad);font-weight:500}.chev{color:var(--faint);font-size:11px;width:12px}.tblwrap{overflow-x:auto}.tbl{min-width:840px}.tr{display:grid;gap:16px;align-items:center;padding:11px 18px;border-top:1px solid var(--line-soft)}.tr:first-child{border-top:0}.tr.head{padding-block:10px;font-size:13px;font-weight:600;color:var(--muted)}.tr:not(.head):hover{background:color-mix(in srgb,var(--raise) 45%,transparent)}.konto{font-weight:600;color:var(--fg2)}.konto.none{color:var(--faint);font-weight:400}.title{font-weight:500;color:var(--fg);min-width:0}.tr.done .title,.tr.done .konto{color:var(--faint)}.tag{display:inline-block;font-size:12px;font-weight:500;color:var(--muted);background:var(--raise);border-radius:5px;padding:0 6px;margin-left:8px;vertical-align:1px}.chip{justify-self:start;font-size:13.5px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:inline-flex;align-items:center;gap:7px}.chip:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--cc,var(--faint));flex:none}.who{display:flex;align-items:center;gap:8px;font-size:14px;min-width:0;color:var(--fg2)}.av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;color:#2a2622;flex:none}.due{font-size:14px;white-space:nowrap;color:var(--fg2)}.due small{display:block;font-size:12.5px;color:var(--muted)}.due.late{color:var(--bad);font-weight:500}.due.late small{color:var(--bad);font-weight:400}.exp{background:none;border:0;color:var(--faint);width:30px;height:30px;border-radius:8px;font-size:11px}.exp:hover{background:var(--raise);color:var(--fg)}.detail{grid-column:1/-1;background:var(--raise);border-radius:12px;padding:16px 18px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;margin-block:2px 6px}@media (max-width:760px){.detail{grid-template-columns:1fr}}.detail p{margin:6px 0 0;white-space:pre-line;color:var(--fg2);max-width:62ch}.facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:13.5px;color:var(--muted)}.facts b{color:var(--fg2);font-weight:500}.detail textarea{width:100%;min-height:70px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:14px;resize:vertical;margin-top:6px}.log{font-size:13px;color:var(--muted);margin-top:10px}.detail .btn{margin-top:12px;padding:6px 12px;font-size:13.5px}.empty{background:var(--card);border:1px dashed var(--line);border-radius:16px;padding:44px 20px;text-align:center;color:var(--muted)}.empty b{display:block;color:var(--fg);font-size:18px;margin-bottom:6px;font-weight:600}.boardwrap{overflow-x:auto}.board{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;min-width:1040px}.col{background:var(--raise);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px;max-height:780px;overflow-y:auto}.col.over{box-shadow:0 0 0 2px var(--accent) inset}.colh{display:flex;align-items:center;gap:9px;font-weight:600;padding:2px 4px 4px;position:sticky;top:-12px;background:var(--raise);z-index:1}.colh .c{margin-left:auto;font-size:13.5px;color:var(--muted);font-weight:500}.card{background:var(--card);border-radius:12px;padding:12px 13px;display:flex;flex-direction:column;gap:9px;cursor:grab;box-shadow:0 1px 2px #32281912}.card.late{box-shadow:0 0 0 1.5px var(--bad)}.card .ct{font-weight:500;line-height:1.4}.k{color:var(--muted);font-weight:600;margin-right:6px}.card .cf{display:flex;justify-content:space-between;align-items:center;gap:8px}.mxwrap{overflow-x:auto;padding:6px}.mx{width:100%;border-collapse:separate;border-spacing:6px;min-width:780px}.mx th{font-size:13px;font-weight:600;color:var(--muted);padding:6px 8px;text-align:center}.mx th[scope=row]{text-align:left;font-size:14.5px;color:var(--fg2);font-weight:500;white-space:nowrap}.mx td{padding:0}.cell{width:100%;border:0;border-radius:10px;padding:10px 6px;font-size:14.5px;font-weight:600;color:var(--fg);background:color-mix(in srgb,var(--ok) calc(var(--p)*.42%),var(--raise))}.cell small{display:block;font-size:12.5px;font-weight:400;color:var(--fg2)}.cell.late{box-shadow:0 0 0 2px var(--bad) inset}.mx tr.tot th,.mx tr.tot .cell{font-weight:700}.hint{font-size:13.5px;color:var(--muted)}.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.pcol{padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}.ph{display:flex;align-items:center;gap:12px}.ph .av{width:38px;height:38px;font-size:14px}.ph .nm{font-weight:600;font-size:16px}.pt{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:10px;align-items:center;border-top:1px solid var(--line-soft);padding-top:10px}.pt .title{font-size:14.5px;line-height:1.4}.pt .meta{font-size:13px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-top:3px}.pt .meta .late{color:var(--bad);font-weight:500}.more{background:none;border:0;color:var(--accent);font-size:14px;text-align:left;padding:4px 0;font-weight:500}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#19161259;z-index:20}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--card);z-index:21;display:flex;flex-direction:column;box-shadow:-10px 0 40px #0000002e;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.drawer header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 8px}.drawer h2{font-family:var(--display);font-weight:500;font-size:24px;margin:0}.drawer form{flex:1;overflow-y:auto;padding:8px 24px 24px;display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label,.field legend{font-size:13.5px;font-weight:600;color:var(--fg2)}.field .help{font-size:13px;color:var(--muted)}.field input,.field select,.field textarea{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:15px}.field textarea{min-height:90px;resize:vertical}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.field{min-width:0}.field input,.field select,.field textarea{width:100%;min-width:0}.drawer form{overflow-x:hidden}fieldset legend{padding:0;margin-bottom:2px}.checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checks label{border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer;line-height:1.3}.checks label:hover{border-color:var(--faint)}.checks label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);font-weight:500}.field input[type=checkbox]{width:18px;height:18px;flex:none;margin:0;padding:0;accent-color:var(--accent)}.rowbtns{display:flex;gap:2px;justify-content:flex-end}.me{display:flex;align-items:center;gap:8px}.me select{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:14px}.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:600;margin-left:6px}.logfilter{display:flex;gap:8px;flex-wrap:wrap}.logfilter select{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:14px}.logday{font-size:13px;font-weight:600;color:var(--muted);margin-top:8px}.li{border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.li .h{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.li .act{font-size:12.5px;font-weight:600;border-radius:6px;padding:1px 8px;background:var(--raise);color:var(--fg2)}.li .act.add{background:var(--ok-soft);color:#3d5230}.li .act.del{background:var(--bad-soft);color:var(--bad)}.li .act.edit{background:var(--gold-soft);color:#6e5418}.li .t{font-weight:600}.li .m{font-size:13px;color:var(--muted)}.chg{font-size:13.5px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:2px 10px}.chg .f{color:var(--muted)}.chg del{color:var(--bad);text-decoration:line-through;text-decoration-thickness:1px}.chg ins{color:var(--ok);text-decoration:none;font-weight:500}.thist{margin-top:10px;font-size:13px;color:var(--muted)}.thist b{color:var(--fg2);font-weight:500}.co{cursor:pointer}.companies.many{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1100px){.companies.many{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.companies.many{grid-template-columns:1fr}}.companies.many .co{padding:14px 16px;gap:8px}.companies.many .co .n{font-size:14.5px}.codl{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line-soft);padding-top:10px;font-size:13.5px;color:var(--fg2)}.dlsel{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:4px 8px;font-size:13.5px;color:var(--fg2);cursor:pointer}[data-skin=farg] .codl{border-top-color:#fff9}[data-skin=natt] .codl{margin-right:-72px}fieldset{border:0;padding:0;margin:0}.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:6px}.checks label{font-weight:400;font-size:14.5px;display:flex;gap:8px;align-items:center;color:var(--fg)}.err{color:var(--bad);font-size:13.5px;font-weight:500}.dfoot{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--line-soft);flex-wrap:wrap}.dfoot .right{display:flex;gap:10px;margin-left:auto}.confirm{font-size:13.5px;color:var(--bad);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--fg);color:var(--bg);padding:11px 18px;border-radius:12px;font-size:14.5px;z-index:30;box-shadow:0 8px 30px #00000040;max-width:calc(100% - 32px)}.toast.cheer{background:var(--ok);color:#fff;font-weight:500;font-size:15.5px;padding:13px 22px}.toast.cheer.big{font-size:17px;padding:16px 26px;font-family:var(--display)}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:31;overflow:hidden}.confetti i{position:absolute;left:50%;bottom:calc(46px + env(safe-area-inset-bottom,0px));border-radius:2px;opacity:0;animation:confetti 1.6s cubic-bezier(.15,.65,.35,1) var(--d) forwards}@keyframes confetti{0%{opacity:1;transform:translate(0) rotate(0)}60%{opacity:1;transform:translate(calc(var(--x) * .85),var(--y)) rotate(calc(var(--r) * .6))}to{opacity:0;transform:translate(var(--x),calc(var(--y) + 160px)) rotate(var(--r))}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}@media (max-width:640px){.monthrow h1{font-size:27px;min-width:0}.by{margin-left:0}}@media (prefers-reduced-motion:no-preference){.bar i{transition:width .35s ease}}:root[data-skin=natt]{--bg:#0E0E10;--card:#17171A;--raise:#202024;--line:#2C2C31;--line-soft:#232327;--fg:#F2F1EE;--fg2:#D9D7D2;--muted:#A9A6A0;--faint:#7C7A76;--accent:#FFA591;--accent-soft:#3A2622;--accent-ink:#1A1310;--ok:#8DB679;--ok-soft:#24301F;--gold:#E3B866;--gold-soft:#332A17;--bad:#FF7A5C;--bad-soft:#3A1F19;--track:#2A2A2F;--shadow:0 1px 0 rgba(255,255,255,.03) inset,0 8px 28px rgba(0,0,0,.4);color-scheme:dark}[data-skin=natt] select.st.s1{color:#f1d9a8}[data-skin=natt] select.st.s2{color:#cfe3c3}[data-skin=natt] select.st.s3{color:#10140d;--dot:#10140D}[data-skin=natt] .seg button.on{background:#2e2e34;box-shadow:none}[data-skin=natt] .logo{border-top-color:var(--accent)}[data-skin=natt] .note{background:#26221a}[data-skin=natt] .co{padding-right:90px;min-height:92px;justify-content:center}[data-skin=natt] .co .bar,[data-skin=natt] .co .pct{display:none}[data-skin=natt] .co .ring{display:block;position:absolute;right:18px;top:50%;transform:translateY(-50%);width:56px;height:56px}[data-skin=natt] .card{box-shadow:none;border:1px solid var(--line)}[data-skin=natt] .card.late{border-color:var(--bad)}[data-skin=natt] .scrim{background:#0000008c}[data-skin=farg] .co{background:color-mix(in srgb,var(--cc) 26%,#FFFFFF);box-shadow:none}[data-skin=farg] .co .bar{background:#ffffffb3}[data-skin=farg] .co .bar .g{background:color-mix(in srgb,var(--cc) 55%,#2A2622)}[data-skin=farg] .co .bar .d{background:color-mix(in srgb,var(--cc) 85%,#2A2622)}[data-skin=farg] .co .bar .p{background:#fff}[data-skin=farg] .co .meta{color:#4f4a43}[data-skin=farg] .co.sel{box-shadow:0 0 0 2px var(--fg)}[data-skin=farg] .total{background:#2f2d2a;color:#f6f4f0;--muted:#C2BCB2;--track:#4A4743;--line-soft:#46433F;box-shadow:none}[data-skin=farg] .total .bar .g{background:#a3b38a}[data-skin=farg] .total .bar .d{background:#6e7b5d}[data-skin=farg] .total .bar .p{background:#deb773}[data-skin=farg] .total .lock .btn{background:#3d3a37;border-color:#55524d;color:#f6f4f0}[data-skin=farg] .gh{background:color-mix(in srgb,var(--cc) 34%,#FFFFFF);border-radius:12px 12px 0 0;padding:9px 16px;margin-bottom:-8px}[data-skin=farg] .gh .c{color:#4f4a43}[data-skin=farg] .gh .bar{background:#ffffffb3}[data-skin=farg] .grp .panel{border-top-left-radius:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--cc) 34%,#FFFFFF)}[data-skin=farg] .pcol{border-top:6px solid var(--cc)}[data-skin=farg] .card{border-left:5px solid var(--cc)}.login{min-height:100vh;display:grid;place-items:center;padding-inline:16px;padding-block:24px}.loginbox{width:min(420px,100%);padding:28px;display:flex;flex-direction:column;gap:14px}.loginbox h1{font-family:var(--display);font-weight:500;font-size:28px;margin:6px 0 0}.loginbox p{margin:0}.loginbox .field input{font-size:16px}.btn:disabled{opacity:.55;cursor:not-allowed}.chg>div{display:contents}[data-skin=natt] .toast.cheer{color:#10140d}
