@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{--ink: #171310;--wine: #8E2A4B;--wine-soft: #f3e6eb;--dot: #D40000;--paper: #F7F3EC;--surface: #ffffff;--line: #e2ddd4;--muted: #6b6157;--ok: #2f6b3f;--ok-soft: #e6f0e8;--warn: #8a5a00;--warn-soft: #fbf1dc;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--arabic: "Geeza Pro", "Noto Naskh Arabic", "Segoe UI", Tahoma, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--r: 8px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}[dir=rtl] body,[dir=rtl]{font-family:var(--arabic),var(--sans)}a{color:var(--wine)}h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;letter-spacing:-.01em}h1{font-size:30px;line-height:1.15}h2{font-size:20px}h3{font-size:16px}:focus-visible{outline:2px solid var(--wine);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100%}.side{background:var(--ink);color:#efe9df;padding:22px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{font-family:var(--serif);font-size:22px;font-weight:700;padding:0 10px 2px;color:#fff}.brand i{color:var(--dot);font-style:normal}.brand-logo{display:block;width:136px;height:auto;margin:4px 10px 8px}.brand-sub{font-size:13px;color:#a99f92;padding:0 10px 18px;letter-spacing:.02em}.brand-sub i{color:var(--dot);font-style:normal}.nav-group{margin-top:14px}.nav-group>span{display:block;font-size:12px;color:#8f8578;padding:4px 10px}.nav a{display:flex;align-items:center;justify-content:space-between;color:#efe9df;text-decoration:none;padding:7px 10px;border-radius:6px;font-size:14px}.nav a:hover{background:#2a231e}.nav a.active{background:#34292a;color:#fff;box-shadow:inset 3px 0 0 var(--wine)}[dir=rtl] .nav a.active{box-shadow:inset -3px 0 0 var(--wine)}.side-foot{margin-top:22px;padding:12px 10px 0;border-top:1px solid #2f2823;font-size:13px;color:#c9c0b4}.side-foot button{background:none;border:0;color:#c9c0b4;padding:0;cursor:pointer;font:inherit;text-decoration:underline}.main{padding:32px 40px 64px;max-width:1180px;width:100%;margin-inline:auto;box-sizing:border-box}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head p{margin:6px 0 0;color:var(--muted);max-width:640px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dot);flex:none}.count{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#fff}.count .dot{width:7px;height:7px}.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.section{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px 22px}.section>h2{margin-bottom:12px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.muted{color:var(--muted)}.small{font-size:13px}.figure{font-family:var(--serif);font-size:44px;line-height:1;font-weight:600}.figure small{font-family:var(--sans);font-size:14px;font-weight:400;color:var(--muted);margin-inline-start:6px}.ledger{display:grid;grid-template-columns:1fr auto;gap:4px 16px;margin-top:14px;font-size:14px}.ledger div:nth-child(2n){text-align:end;font-variant-numeric:tabular-nums}.ledger .sum{border-top:1px solid var(--line);padding-top:6px;font-weight:600}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:start;font-weight:600;color:var(--muted);font-size:13px;padding:8px 10px;border-bottom:1px solid var(--line)}td{padding:10px;border-bottom:1px solid #efebe4;vertical-align:top}tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.num{text-align:end;font-variant-numeric:tabular-nums}.badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:99px;background:#efebe4;color:var(--ink);white-space:nowrap}.badge.approved,.badge.issued,.badge.done,.badge.active,.badge.confirmed{background:var(--ok-soft);color:var(--ok)}.badge.pending,.badge.submitted,.badge.pending_manager,.badge.pending_it,.badge.expected{background:var(--warn-soft);color:var(--warn)}.badge.rejected,.badge.revoked,.badge.cancelled,.badge.missing{background:#f6e3e3;color:#8c1d1d}.badge.moved{background:var(--wine-soft);color:var(--wine)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--wine);background:var(--wine);color:#fff;padding:8px 14px;border-radius:var(--r);font:600 14px var(--sans);cursor:pointer;text-decoration:none}.btn:hover{background:#75213d}.btn.ghost{background:transparent;color:var(--wine)}.btn.ghost:hover{background:var(--wine-soft)}.btn.quiet{background:transparent;border-color:var(--line);color:var(--ink);font-weight:500}.btn.quiet:hover{border-color:var(--muted)}.btn.sm{padding:4px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form{display:grid;gap:14px}.field{display:grid;gap:5px}.field>label,.field>.label{font-size:13px;font-weight:600}.field .hint{font-size:12px;color:var(--muted)}input,select,textarea{font:15px var(--sans);color:var(--ink);background:#fff;border:1px solid #cfc7ba;border-radius:var(--r);padding:8px 10px;width:100%}textarea{min-height:72px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--wine);outline:none;box-shadow:0 0 0 3px var(--wine-soft)}.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;gap:8px;align-items:center;font-size:14px}.check input{width:auto}.notice{border-radius:var(--r);padding:10px 12px;font-size:14px;background:var(--warn-soft);color:#5c3d00}.notice.error{background:#f6e3e3;color:#7c1717}.notice.ok{background:var(--ok-soft);color:#234f2f}.notice.info{background:#efebe4;color:var(--ink)}.list{display:grid}.list-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #efebe4;align-items:center}.list-item:last-child{border-bottom:0}.empty{color:var(--muted);padding:8px 0;font-size:14px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#17131073;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:12px;padding:24px;width:min(440px,100%);box-shadow:0 20px 50px #00000040}.modal h2{margin-bottom:8px}.toast{position:fixed;bottom:24px;inset-inline-end:24px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r);font-size:14px;z-index:60;max-width:420px}.toast.error{background:#7c1717}.secret{font-family:var(--serif);font-size:32px;letter-spacing:.06em;font-variant-numeric:tabular-nums}.timer{height:3px;background:var(--line);border-radius:2px;overflow:hidden;margin-top:10px}.timer>div{height:100%;background:var(--wine);transition:width 1s linear}.week{display:grid;grid-template-columns:200px repeat(5,minmax(70px,1fr)) 70px;gap:0;font-size:14px}.week>div{padding:8px;border-bottom:1px solid #efebe4;display:flex;align-items:center}.week .h{font-weight:600;color:var(--muted);font-size:13px;flex-direction:column;align-items:flex-start}.week input{padding:6px;text-align:center}.week .off{background:#f4f0e9;color:var(--muted);font-size:12px;justify-content:center}.login{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:var(--ink);color:#efe9df;padding:56px;display:flex;flex-direction:column;justify-content:space-between}.login-art .big{font-family:var(--serif);font-size:56px;line-height:1.05;color:#fff}.login-art .big i{color:var(--dot);font-style:normal}.login-form{display:grid;place-items:center;padding:32px}.login-form form{width:min(360px,100%)}.ms-btn{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;padding:12px 18px}.ar{font-family:var(--arabic);direction:rtl}.kv{display:grid;grid-template-columns:160px 1fr;gap:6px 14px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{background:none;border:0;padding:8px 12px;font:500 14px var(--sans);color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--ink);border-color:var(--wine)}@media (max-width: 860px){.shell{grid-template-columns:1fr}.side{position:static;height:auto}.main{padding:20px 16px 48px}.g2,.g3,.f2,.login{grid-template-columns:1fr}.login-art{padding:32px}.week{grid-template-columns:140px repeat(5,64px) 56px;overflow-x:auto}}td.num,div.num,.mono{font-family:var(--mono);font-size:.92em;font-variant-numeric:tabular-nums}.mono{white-space:nowrap}.modal.wide{width:min(1100px,100%);max-height:92vh;overflow:auto}.sections{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.sections textarea{width:100%;min-height:44px;font:14px/1.5 var(--sans)}.sections textarea.tall{min-height:170px}.sections [dir=rtl] textarea{font-family:var(--arabic)}.section-head{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;margin-bottom:4px}@media (max-width: 860px){.sections{grid-template-columns:1fr}}.pick{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:var(--r);padding:4px 12px 10px}.pick-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:5px 0;cursor:pointer}.pick-row input{width:auto}.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:start}.linkish:hover b,.linkish:hover{color:var(--wine);text-decoration:underline}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:420px}input.cell{width:auto;padding:4px 6px;font-size:13px}input.cell.num-input{width:64px;text-align:end}.net-bar{display:flex;gap:18px;justify-content:flex-end;flex-wrap:wrap;background:#f4f1ec;padding:12px 16px;border-radius:var(--r);font-size:15px}.month-picker{display:inline-flex;align-items:center;gap:4px}.month-picker select{width:auto;padding:5px 8px}.month-picker .btn{padding:4px 10px;font-size:15px;line-height:1}.steps{margin:0 0 14px;padding-inline-start:22px;display:grid;gap:6px}.steps li{padding-inline-start:4px}.steps li.done::marker{color:#2e7d4f}.steps li.done>b{text-decoration:line-through;text-decoration-color:#b5aea2}.steps .btn{margin-inline-start:6px}.progress{height:6px;background:#efebe4;border-radius:99px;overflow:hidden;margin:6px 0 4px}.progress>div{height:100%;background:var(--wine);border-radius:99px}.tabs-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.tabs{display:inline-flex;background:#efebe4;border-radius:10px;padding:3px;gap:2px}.tabs button{border:0;background:none;padding:7px 14px;border-radius:8px;font:500 14px var(--sans);color:var(--ink);cursor:pointer}.tabs button.on{background:#fff;box-shadow:0 1px 3px #0000001a;font-weight:600}.board{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:10px;overflow-x:auto}.col,.backlog,.lane{background:#f6f3ee;border:1px dashed transparent;border-radius:10px;padding:8px;min-height:120px;display:flex;flex-direction:column;gap:8px}.col.over,.backlog.over,.lane.over{border-color:var(--wine);background:var(--wine-soft)}.col-head,.lane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px}.col-blocked .col-head b{color:var(--dot)}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:grab;box-shadow:0 1px 2px #0000000a}.card[draggable=false]{cursor:default}.card.blocked{border-color:#e9b4b4}.card-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:6px;color:var(--muted)}.avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px;font-weight:700;flex:none}.plan{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:14px;align-items:start}.lanes{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.lane-head{align-items:flex-start;justify-content:flex-start}.quick{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;display:grid;gap:6px}.quick textarea{min-height:64px;font-size:13px}.progress.over>div{background:var(--dot)}.mylist{display:grid;gap:8px}.myrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.myrow.done{opacity:.55}@media (max-width: 860px){.plan{grid-template-columns:1fr}.board{grid-template-columns:repeat(5,220px)}}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (min-width: 1180px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;position:relative;overflow:hidden}.kpi.in:before,.kpi.out:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#2a8a4f}.kpi.out:before{background:var(--wine)}.kpi-fig{font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);white-space:nowrap;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums;margin-top:4px}.kpi-fig small{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted);margin-inline-start:6px}.amounts{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px}.list-item .amounts,.net-bar .amounts,.notice .amounts{flex-direction:row;gap:10px}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:minmax(110px,34%) 1fr;gap:12px;align-items:start}.bar-line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;min-height:20px}.bar-track{height:8px;background:#f1ede6;border-radius:99px;overflow:hidden}.bar-track>div{height:100%;border-radius:99px}.legend{display:inline-flex;align-items:center;gap:6px}.legend i,.tip i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:6px}.chart{position:relative}.chart svg{width:100%;height:auto;display:block}.chart .axis{font:11px var(--sans);fill:var(--muted)}.tip{position:absolute;top:4px;transform:translate(-50%);background:var(--ink);color:#fff;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.6;pointer-events:none;white-space:nowrap;z-index:2;box-shadow:0 6px 20px #0003}.tip .muted{color:#b9afa3}.tabs-row+.grid{margin-top:0}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.seg button{display:grid;gap:2px;text-align:start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;font:14px var(--sans);color:var(--ink)}.seg button span{font-size:12px;color:var(--muted)}.seg button.on{border-color:var(--wine);box-shadow:0 0 0 3px var(--wine-soft)}.f3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.paid-now{background:#f8f5f0;border:1px solid var(--line);border-radius:10px;padding:12px 14px}details summary{cursor:pointer;margin-top:8px}@media (max-width: 860px){.seg,.f3{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr;gap:4px}}.grid>*{min-width:0}.kpi-egp{font-size:13px;font-weight:600;margin-top:6px;font-family:var(--mono)}.rate-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.rate-bar.warn{border-color:#e7cf9b;background:var(--warn-soft)}.rate-title{font-size:13px;font-weight:600}.rate{display:inline-flex;align-items:center;gap:6px;font-size:14px}.rate input{width:100px;padding:5px 8px;text-align:end;font-family:var(--mono)}.alloc{display:grid;gap:6px;margin-top:10px;max-width:460px}.alloc-row{display:grid;grid-template-columns:1fr 140px auto;gap:10px;align-items:center;font-size:14px}.alloc-row input{text-align:end;font-family:var(--mono);padding:6px 8px}.money-left{display:grid;grid-template-columns:1fr auto;gap:14px 24px;align-items:center;background:var(--ink);color:#f3ede4;border-radius:12px;padding:20px 22px}.money-left .muted{color:#b9afa3}.money-left .ml-fig{font-family:var(--serif);font-size:clamp(32px,4vw,44px);line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px;color:#fff}.money-left .ml-fig small{font-family:var(--sans);font-size:14px;font-weight:500;color:#b9afa3;margin-inline-start:8px}.money-left .ml-side{display:grid;justify-items:end;gap:8px}.money-left .ml-side polyline{stroke:#e7a8bd}.money-left .ml-side circle{stroke:#e7a8bd}.money-left .btn.quiet{color:#f3ede4;border-color:#4a4039}.money-left .table-wrap{background:#fff;color:var(--ink);border-radius:8px;padding:4px 8px}.money-left .table-wrap .muted{color:var(--muted)}@media (max-width: 860px){.money-left{grid-template-columns:1fr}.money-left .ml-side{justify-items:start}}.money-left{--dot: #ff9d9d}.money-left .table-wrap{--dot: #D40000}.paid-months{display:grid;gap:6px;margin-top:10px}.pm-row{display:grid;grid-template-columns:24px minmax(110px,1fr) 120px 150px minmax(100px,1fr) 110px;gap:8px;align-items:center;font-size:14px}.pm-row input[type=checkbox]{width:auto}.pm-row input{padding:5px 8px}.pm-row input[type=number]{text-align:end;font-family:var(--mono)}.pm-row.off>span{color:var(--muted);text-decoration:line-through}.pm-head{font-weight:600}@media (max-width: 860px){.pm-row{grid-template-columns:24px 1fr 1fr}.pm-head{display:none}}.pay-inline{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin:6px 0 10px}.ml-flow{display:flex;flex-wrap:wrap;align-items:end;gap:6px 12px;margin-top:12px;padding-top:12px;border-top:1px solid #3a322c}.ml-flow span{display:grid;gap:1px}.ml-flow small{font-size:11px;color:#b9afa3}.ml-flow b{font-family:var(--mono);font-size:17px;color:#fff}.ml-flow b.in{color:#8fd6a8}.ml-flow b.out{color:#f0b3c6}.ml-flow i{font-style:normal;color:#b9afa3;font-size:18px;padding-bottom:1px}.conv-row{display:grid;grid-template-columns:1fr 1fr 150px 110px 36px;gap:8px;align-items:center}.conv-row input{padding:6px 8px}.conv-row input[type=number]{text-align:end;font-family:var(--mono)}@media (max-width: 860px){.conv-row{grid-template-columns:1fr 1fr 36px}.conv-row input[type=date],.conv-row .num{display:none}}
