:root{--ink:#192e42;--blue:#238bd2;--deep:#176caf;--pale:#e8f5fd;--line:#e3ebf1;--muted:#8295a6;--page:#f5f8fb;--green:#188761;--red:#cb4c56}[hidden]{display:none!important}button:disabled{opacity:.5;cursor:not-allowed}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,"Segoe UI",sans-serif;color:var(--ink);background:var(--page)}button,input,select{font:inherit}button{cursor:pointer}.gate{min-height:100dvh;display:grid;place-items:center;color:var(--muted);padding:30px;text-align:center}.mobile{max-width:600px;min-height:100dvh;margin:auto;background:var(--page);box-shadow:0 0 35px #123d5d11}.topbar{height:69px;display:flex;align-items:center;gap:12px;padding:0 20px;background:#fff;border-bottom:1px solid var(--line)}.logo{width:38px;height:38px;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:bold}.topbar b,.side-brand b{font-size:16px}.topbar small,.side-brand small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.who{margin-left:auto;color:var(--blue);font-size:12px;font-weight:700}.page{display:none;padding:23px 18px calc(116px + env(safe-area-inset-bottom));min-height:calc(100dvh - 69px)}.page.active{display:block;animation:appear .2s ease}@keyframes appear{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}h1{font-size:25px;letter-spacing:-.8px;margin:6px 0 22px}h2{font-size:20px;margin:26px 0 12px;letter-spacing:-.45px}.eyebrow{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:1px;text-transform:uppercase}.hero{padding:22px;border-radius:24px;background:linear-gradient(130deg,#248fd7,#1765b0);box-shadow:0 11px 22px #1f7dc029;color:#fff;display:flex;flex-direction:column;gap:10px}.hero small{color:#d8edfb;font-size:14px}.hero strong{font-size:32px;letter-spacing:-1px}.hero span{border-top:1px solid #ffffff45;padding-top:10px;font-size:13px}.monitor{margin-top:13px;padding:15px;border-radius:17px;background:#e8f5f0;color:#198365;font-size:13px;font-weight:700}.monitor span{display:block;margin-top:5px;font-size:12px;font-weight:500}.link-card,.department{border:0;background:#fff;border-radius:18px;display:flex;align-items:center;gap:12px;width:100%;padding:15px;text-align:left;color:inherit;margin-top:12px;box-shadow:0 2px 9px #18374b08}.card-icon,.dept-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:var(--pale);color:var(--blue);font-size:21px;font-weight:800;flex:none}.link-card b,.department b{display:block;font-size:14px}.link-card small,.department small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.chevron{margin-left:auto;color:#a3b5c1;font-size:25px}h2 small{float:right;font-size:12px;color:var(--muted);letter-spacing:0;font-weight:500}.departments{display:grid;gap:8px}.department{margin:0}.department .summary{margin-left:auto;text-align:right}.department .summary b{font-size:14px}.department .summary small{margin-top:2px}.page-title{display:flex;align-items:center;gap:11px;margin-bottom:18px}.page-title h1{margin:0;flex:1}.page-title span{color:var(--blue);font-size:13px;font-weight:700}.back{border:0;background:none;color:var(--blue);font-size:33px;line-height:1;padding:0 4px}.filters,.period-tabs,.desk-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.filters button,.period-tabs button,.desk-filters button{border:1px solid #dbe7ef;background:#fff;border-radius:25px;padding:9px 15px;color:#667d8e;white-space:nowrap;font-size:12px;font-weight:700}.filters button.selected,.period-tabs button.selected,.desk-filters button.selected{background:var(--pale);color:var(--deep);border-color:#b5e1f8}.sort-label{font-size:12px;color:var(--muted);margin:19px 0}.feed-items{border-radius:15px;background-color:#eff4f6;background-image:radial-gradient(#cad9df .8px,transparent .8px);background-size:24px 24px;padding:2px 12px 20px;min-height:240px}.date-pill{display:table;margin:16px auto 10px;padding:6px 12px;border-radius:14px;background:#dce6eb;color:#647b89;font-size:11px;font-weight:700}.bubble{background:#fff;border-radius:17px 17px 17px 5px;padding:15px;margin:10px 0;max-width:92%;box-shadow:0 1px 4px #1e3a4a17}.bubble-top{display:flex;justify-content:space-between;gap:12px;color:#2684be;font-size:12px;font-weight:700}.bubble h3{font-size:16px;margin:14px 0 5px}.bubble p{color:#728596;margin:0;font-size:12px}.bubble .amount{display:block;color:#227fb7;font-size:20px;font-weight:800;margin-top:14px}.bubble-bottom{display:flex;align-items:center;gap:8px;margin-top:7px}.react{border:1px solid #d6e8f1;background:#f3faff;color:#4882a2;border-radius:14px;padding:5px 9px;font-size:12px}.react.selected{background:#d7effb}.status{font-size:11px;font-weight:800;padding:5px 9px;border-radius:14px}.status.done{background:#e2f5e9;color:var(--green)}.status.pending{background:#fdebed;color:var(--red)}.context{background:var(--pale);color:#3287bc;padding:15px;border-radius:16px;font-size:14px;font-weight:700;margin:0 0 20px}form label,.report-card label{display:block;font-size:13px;color:#5c7182;font-weight:700;margin:14px 0}form input,form select,.report-card input{display:block;width:100%;height:51px;border:1px solid #dce8f0;border-radius:14px;background:white;color:var(--ink);padding:0 14px;margin-top:8px;outline:none}form input:focus,form select:focus,.report-card input:focus{border-color:var(--blue)}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.money-input{display:flex;align-items:center;gap:8px}.money-input input{flex:1;min-width:0}.money-input span{color:var(--muted);font-size:13px}.money-input button{height:50px;width:50px;flex:none;border:0;border-radius:14px;background:var(--blue);color:#fff;font-size:32px}.extras{padding:15px;background:#fff;border:1px solid var(--line);border-radius:18px;margin:15px 0}.extras>b{font-size:13px}.extra-row{display:grid;grid-template-columns:1fr 110px 39px;gap:7px;align-items:end;margin-top:7px}.extra-row input{min-width:0}.extra-row button{height:50px;border:1px solid #ffc7ca;background:#fff0f1;color:var(--red);font-size:25px;border-radius:13px}.grand-total{display:flex;justify-content:space-between;background:var(--pale);color:var(--deep);padding:13px;border-radius:12px;margin-top:15px;font-size:13px}.primary{border:0;border-radius:15px;background:var(--blue);color:#fff;padding:17px 20px;width:100%;font-weight:800;font-size:15px;margin-top:20px}.primary:disabled{opacity:.5;cursor:not-allowed}.report-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}.report-card h2{margin:0 0 8px}.report-card p{color:var(--muted);font-size:13px;line-height:1.55}.report-card small{display:block;color:var(--muted);margin-top:14px}.period-tabs{margin:20px 0}.period-tabs button{flex:1}.range-note{min-height:20px}.report-preview{background:#eaf6ef;color:#20825b;padding:14px;border-radius:13px;font-size:13px;font-weight:700}.bottom-nav{--at:16.666%;height:calc(82px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:50%;width:min(100%,600px);transform:translateX(-50%);background:#fff;border-top:1px solid var(--line);display:flex;z-index:5;box-shadow:0 -4px 16px #163f5a10;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{width:33.333%;border:0;background:transparent;color:#9aa8b4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:700;z-index:2}.bottom-nav button.selected{color:var(--blue)}.nav-icon{font-size:26px;line-height:1}.nav-halo{position:absolute;top:-23px;left:var(--at);transform:translateX(-50%);width:65px;height:65px;background:#fff;border:5px solid var(--blue);border-radius:50%;box-shadow:0 5px 14px #2389d43b;transition:left .48s cubic-bezier(.18,.82,.22,1);pointer-events:none}.bottom-nav button.selected .nav-icon{transform:translateY(-18px);font-size:30px;transition:transform .3s}.accountant{min-height:100dvh;background:#f4f8fb;display:grid;grid-template-columns:247px minmax(0,1fr)}.sidebar{background:#12314c;color:#fff;padding:28px 18px;display:flex;flex-direction:column}.side-brand{display:flex;align-items:center;gap:11px}.side-brand small{color:#a9c3d5}.sidebar>p{font-size:11px;color:#88a8be;margin:58px 0 12px}.side-current{background:#254f71;padding:15px;border-radius:12px;font-size:13px;font-weight:800}.side-note{margin-top:auto;background:#214663;padding:17px;border-radius:14px;color:#c7dce8;font-size:12px;line-height:1.5}.workspace{padding:36px;min-width:0}.desk-top{display:flex;justify-content:space-between;align-items:start}.desk-top small{font-size:11px;color:#6a91ac;font-weight:800;letter-spacing:.5px}.desk-top h1{margin:8px 0 26px;font-size:30px}.desk-top>span{color:#567287;font-size:13px;font-weight:700}.desk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.desk-stats>div{background:white;border:1px solid var(--line);padding:21px;border-radius:17px}.desk-stats small{display:block;color:#8a9eae;font-size:12px;margin-bottom:16px}.desk-stats strong{font-size:28px}.desk-stats .red{color:var(--red)}.desk-stats .green{color:var(--green)}.desk-stats .blue{color:var(--blue)}.rule-card{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#e8f6ee;border:1px solid #cbead8;color:#207b55;border-radius:15px;padding:20px;margin:17px 0}.rule-card span{font-size:12px}.desk-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.desk-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px}.desk-heading h2{margin:0 0 4px;font-size:19px}.desk-heading small{color:#91a3b0;font-size:11px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:950px}th{text-align:left;background:#f9fbfc;color:#8da1b0;font-size:11px;padding:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:16px 15px;border-bottom:1px solid var(--line);font-size:12px}td strong{display:block;font-size:13px}td small{display:block;color:#9cadb9;margin-top:6px}td.money{font-weight:800;white-space:nowrap}.drag{cursor:grab;color:#a4b7c2;font-size:18px}.dept-pill{background:var(--pale);color:#2b8ac4;padding:7px 10px;border-radius:9px;font-weight:800}.status-actions{display:flex;gap:6px}.status-actions button{border:1px solid var(--line);background:#f8fafb;color:#91a0ac;border-radius:9px;padding:9px 10px;font-size:10px;font-weight:800;white-space:nowrap}.status-actions button.pending.active{background:#fff0f1;color:var(--red);border-color:#ffbec3}.status-actions button.done.active{background:#e6f7ed;color:var(--green);border-color:#bbe7cc}tr.dragging{opacity:.35}.toast{position:fixed;left:50%;bottom:102px;transform:translateX(-50%) translateY(20px);background:#163c58;color:white;padding:11px 17px;border-radius:13px;box-shadow:0 8px 20px #19364730;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:20;text-align:center;max-width:90vw}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:800px){.accountant{display:block}.sidebar{display:none}.workspace{padding:20px 12px}.desk-top h1{font-size:23px}.desk-stats{grid-template-columns:repeat(2,1fr);gap:8px}.desk-stats>div{padding:13px}.desk-stats strong{font-size:21px}.rule-card{display:block;font-size:13px}.rule-card span{display:block;margin-top:7px}.desk-heading{display:block}.desk-filters{margin-top:15px}}
@media(max-width:380px){.hero strong{font-size:27px}.two-fields{grid-template-columns:1fr}.extra-row{grid-template-columns:1fr 95px 36px}}

/* Keep the animated navigation ring entirely below the panel divider. */
.bottom-nav{isolation:isolate}
.nav-halo{top:4px;width:48px;height:48px;border-width:3px;box-shadow:0 2px 9px #2389d43b}
.bottom-nav button.selected .nav-icon{transform:translateY(-3px);font-size:26px}

.report-card select{display:block;width:100%;height:51px;border:1px solid #dce8f0;border-radius:14px;background:#fff;color:var(--ink);padding:0 14px;margin-top:8px;outline:none}
.report-card select:focus{border-color:var(--blue)}
.desk-top-actions{display:flex;align-items:center;gap:14px;color:#567287;font-size:13px;font-weight:700}
.desk-back{border:1px solid #b5dcf4;background:#e8f5fd;color:var(--deep);border-radius:10px;padding:9px 12px;font-size:12px;font-weight:800}
.drag{white-space:nowrap}
.drag-handle{display:inline-block;margin-right:8px}
.order-buttons{display:inline-flex;gap:3px;vertical-align:middle}
.order-buttons button{width:28px;height:28px;border:1px solid #d3e8f5;border-radius:8px;background:#f0f9ff;color:var(--deep);font-size:16px;font-weight:800}

@media(max-width:800px){
  .desk-top{align-items:flex-start;gap:12px}
  .desk-top-actions{flex-direction:column;align-items:flex-end;gap:7px;text-align:right}
  .table-wrap{overflow:visible}
  table,tbody{display:block;width:100%;min-width:0}
  thead{display:none}
  tbody{padding:12px}
  tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:14px;margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:#fff}
  td{border:0;padding:0;min-width:0}
  td:nth-child(1){grid-column:2;grid-row:1;text-align:right}
  td:nth-child(2){grid-column:1;grid-row:1;color:var(--muted)}
  td:nth-child(3){grid-column:1;grid-row:2}
  td:nth-child(4){grid-column:1/-1;grid-row:3}
  td:nth-child(5){grid-column:2;grid-row:2;text-align:right}
  td:nth-child(6){grid-column:1/-1;grid-row:4}
  td:nth-child(7){grid-column:1/-1;grid-row:5}
  .status-actions button{flex:1;white-space:normal}
}

.brand-title{min-width:0;flex:1}
.brand-title b,.brand-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-title .who{margin-left:0;color:var(--muted);font-weight:600}
.language-switch{display:flex;flex:none;gap:2px;padding:3px;border:1px solid #d9e9f3;border-radius:12px;background:#eff6fb}
.language-switch button{border:0;border-radius:9px;background:transparent;color:#678298;padding:7px 9px;font-size:11px;font-weight:800;white-space:nowrap}
.language-switch button.selected{background:#fff;color:var(--deep);box-shadow:0 1px 5px #123d5d17}
.react{touch-action:manipulation;user-select:none;-webkit-user-select:none}
.reaction-modal{position:fixed;inset:0;z-index:30;display:flex;align-items:flex-end;justify-content:center}
.reaction-backdrop{position:absolute;inset:0;background:#0b203a82}
.reaction-sheet{position:relative;width:min(100%,600px);max-height:70dvh;overflow:auto;background:#fff;border-radius:22px 22px 0 0;padding:11px 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -10px 35px #0b203a30}
.sheet-handle{display:block;width:42px;height:5px;background:#cbdbe5;border-radius:3px;margin:0 auto 18px}
.reaction-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.reaction-heading h2{margin:0;font-size:19px}
.reaction-heading button{border:0;background:#edf5fa;border-radius:50%;width:35px;height:35px;color:#547c95;font-size:23px}
.reaction-people{padding-top:15px;min-height:70px}
.reaction-person{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}
.reaction-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--pale);color:var(--deep);font-weight:800}
.report-preview{white-space:pre-wrap;max-height:360px;overflow:auto;line-height:1.55;font-weight:500}
@media(max-width:380px){.topbar{padding:0 12px;gap:8px}.language-switch button{padding:6px 7px;font-size:10px}.brand-title b{font-size:13px}}

.delete-expense{border:1px solid #f4cbd0;background:#fff4f5;color:var(--red);border-radius:10px;padding:7px 10px;font-size:11px;font-weight:800;white-space:nowrap}
.delete-expense:hover{background:#ffe9eb}
.bubble-bottom .delete-expense{margin-left:auto}
.desk-delete-cell{white-space:nowrap}
@media(max-width:800px){.desk-delete-cell{grid-column:1/-1;grid-row:6}.desk-delete-cell .delete-expense{width:100%}}

.payment-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.payment-breakdown span{display:block;background:#f3f8fb;border-radius:10px;padding:9px;color:#6b8293;font-size:11px}
.payment-breakdown b{display:block;margin-top:4px;color:var(--ink);font-size:13px}
.status.partial{background:#fff2cf;color:#a16d09}
.desk-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
.desk-stats .amber{color:#a16d09}
.desk-stats strong{overflow-wrap:anywhere}
.paid-editor{display:block;margin:10px 0 8px;color:#617b8d;font-size:11px;font-weight:700}
.paid-editor input{display:block;width:100%;max-width:220px;height:38px;margin-top:5px;padding:0 10px;border:1px solid #dce8f0;border-radius:9px;background:#fff;color:var(--ink);font-size:13px}
.status-actions{flex-wrap:wrap;margin-top:5px}
.status-actions button.partial.active{background:#fff2cf;color:#a16d09;border-color:#efd892}
#desk-rows td:nth-child(7){min-width:230px}
@media(max-width:800px){.desk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.desk-stats>div:last-child{grid-column:1/-1}#desk-rows td:nth-child(7){min-width:0}.paid-editor input{max-width:none}}
