@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/ibm-plex-sans-arabic-arabic-400-normal-CyU-ddYS.woff2) format("woff2"),url(/build/assets/ibm-plex-sans-arabic-arabic-400-normal-EA1o-u_Q.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/ibm-plex-sans-arabic-cyrillic-ext-400-normal-KAuemXZb.woff2) format("woff2"),url(/build/assets/ibm-plex-sans-arabic-cyrillic-ext-400-normal-BnfWueTs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/ibm-plex-sans-arabic-latin-ext-400-normal-BpLfq-63.woff2) format("woff2"),url(/build/assets/ibm-plex-sans-arabic-latin-ext-400-normal-BeVLg08x.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/ibm-plex-sans-arabic-latin-400-normal-Bo5KPYvw.woff2) format("woff2"),url(/build/assets/ibm-plex-sans-arabic-latin-400-normal-CFZh1unN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/ibm-plex-sans-arabic-arabic-600-normal-0pRdybE_.woff2) format("woff2"),url(/build/assets/ibm-plex-sans-arabic-arabic-600-normal-MJZ0liF5.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/ibm-plex-sans-arabic-cyrillic-ext-600-normal-ABNWglN6.woff2) format("woff2"),url(/build/assets/ibm-plex-sans-arabic-cyrillic-ext-600-normal-CFFPHiVs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/ibm-plex-sans-arabic-latin-ext-600-normal-DjDAeNQD.woff2) format("woff2"),url(/build/assets/ibm-plex-sans-arabic-latin-ext-600-normal-DT29Q8HW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/ibm-plex-sans-arabic-latin-600-normal-KrqB56Mw.woff2) format("woff2"),url(/build/assets/ibm-plex-sans-arabic-latin-600-normal-Dk5eISD_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2) format("woff2"),url(/build/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2) format("woff2"),url(/build/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(/build/assets/space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2) format("woff2"),url(/build/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2"),url(/build/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/build/assets/space-grotesk-latin-600-normal-BflQw4A9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #16181d;--muted: #7c7a72;--paper: #f4f1e9;--card: rgba(255, 255, 250, .94);--line: #ded7c8;--graphite: #151b27;--brass: #b0812f;--soft: #f4ecdc;--good: #2f7d5b;--bad: #b23b3b;--shadow: 0 8px 28px #16181d0b;font-family:IBM Plex Sans Arabic,Segoe UI,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background-color:var(--paper);background-image:linear-gradient(#b9ad9422 1px,transparent 1px),linear-gradient(90deg,#b9ad9422 1px,transparent 1px);background-size:32px 32px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{transition:background .15s,border-color .15s}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:9px 14px;text-decoration:none;font-size:13px}button:hover,.btn:hover{border-color:var(--brass)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--brass);outline-offset:3px}.btn-primary{background:var(--graphite);color:#fff;border-color:var(--graphite)}.btn-brass{background:var(--brass);color:#fff;border-color:var(--brass)}.btn-danger{color:var(--bad)}.app{display:flex;min-height:100vh}.sidebar{width:250px;flex:0 0 250px;background:linear-gradient(150deg,#3b3426 0%,var(--graphite) 28%,#10151f 100%);color:#d7d4cc;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:25px 20px;border-bottom:1px solid #ffffff12;min-height:100px}.brand strong{font-size:15px}.brand small{display:block;font:10px Space Grotesk,sans-serif;letter-spacing:1.4px;color:#9a978e;margin-top:7px}.mono{width:42px;height:42px;border:1px solid var(--brass);color:var(--brass);display:grid;place-items:center;border-radius:10px;font:600 22px Space Grotesk,sans-serif;flex-shrink:0}.sidebar nav{padding:20px 12px;flex:1;overflow:auto}.nav-label{font-size:10px;color:#817e75;margin:17px 12px 8px}.navlink{display:flex;align-items:center;gap:12px;padding:13px 14px;text-decoration:none;border-radius:12px;margin-bottom:3px;font-size:13px;border:1px solid transparent}.navlink:hover{background:#ffffff08}.navlink.active{background:linear-gradient(90deg,#b0812f34,#b0812f14);border-color:#b0812f4d;color:#fff4db}.sidefoot{padding:17px;border-top:1px solid #ffffff12}.sidefoot button{color:#aba69b;background:transparent;border:0;font-size:12px}.main{flex:1;min-width:0}.topbar{min-height:100px;padding:20px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#faf8f2dd;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}h1,h2,h3,p{margin:0}h1{font-size:25px;letter-spacing:-.6px}h2{font-size:20px}h3{font-size:15px}.topbar p,.subtle{font-size:12px;color:var(--muted);margin-top:5px}.heading,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.content{padding:28px 30px 60px;max-width:1600px;margin:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow);overflow:visible;margin-bottom:20px}.card-pad{padding:22px}.card-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.grid{display:grid;gap:17px}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.stat{padding:22px;background:var(--card);border:1px solid var(--line);border-radius:18px;margin-bottom:20px}.stat small{display:block;color:var(--muted);font-size:12px;margin-bottom:12px}.stat .money{font-size:27px;font-weight:600}.stat.dark{background:radial-gradient(at 8% 0%,#a8813d66,transparent 65%),var(--graphite);color:#fff}.stat.dark small{color:#c7c0af}.money{font-family:Space Grotesk,Segoe UI,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums}.positive{color:var(--good)}.negative{color:var(--bad)}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:16px 20px;margin-bottom:20px;background:var(--card);border:1px solid var(--line);border-radius:16px}.toolbar input{width:auto}.toolbar .field{margin:0;min-width:120px}.field{display:block;margin-bottom:16px;min-width:0}.field>span{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea,input,textarea,select{width:100%;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:11px 12px;font-size:13px}textarea{resize:vertical;min-height:100px}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full{width:100%;margin-top:15px}.table-wrap{min-width:0;max-width:100%;overflow:visible;container:records / inline-size}table{width:100%;border-collapse:collapse;text-align:start;font-size:13px;table-layout:fixed;white-space:normal;overflow-wrap:anywhere}th{text-align:start;font-size:11px;color:var(--muted);font-weight:500;padding:14px 20px;background:#a8997808}td{padding:16px 20px;border-top:1px solid var(--line)}td small{display:block;color:var(--muted);font-size:11px}.badge{display:inline-block;padding:4px 9px;border-radius:20px;font-size:11px;background:var(--soft);color:var(--brass)}.badge.paid{background:#e5f1eb;color:var(--good)}.badge.void,.badge.overdue{background:#f6e7e6;color:var(--bad)}.pagination{display:flex;gap:7px;align-items:center;padding:15px 20px}.pagination a{padding:4px 9px;text-decoration:none;border-radius:5px}.pagination a.active{background:var(--soft);color:var(--brass)}.pagination small{margin-inline-start:auto;color:var(--muted)}.empty{text-align:center;padding:70px 25px;color:var(--muted)}.empty-mark{display:block;font-size:38px;margin-bottom:16px;color:var(--brass)}dialog{padding:0;border:1px solid var(--line);border-radius:20px;max-width:760px;width:calc(100% - 30px);max-height:90vh;color:var(--ink);background:var(--paper);box-shadow:0 30px 100px #0005}dialog::backdrop{background:#11182790;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-head{padding:20px 25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:25px}.modal-foot{padding:18px 25px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}.errors{background:#f6e7e6;color:#8a2424;padding:14px;border-radius:10px;margin:12px 0;font-size:13px}.notice{padding:15px 20px;border:1px solid #bdd6c8;background:#e5f1eb;color:#276646;border-radius:12px;margin-bottom:20px}.search-select{position:relative;margin-bottom:10px}.search-select .field{margin-bottom:5px}.search-options{position:absolute;z-index:3;width:100%;background:var(--card);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:10px;max-height:240px;overflow:auto}.search-options button{display:block;border:0;border-radius:0;width:100%;text-align:start}.search-select small{font-size:11px;color:var(--muted)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px}.auth-card{background:var(--card);border:1px solid var(--line);padding:38px;border-radius:24px;box-shadow:var(--shadow);width:100%;max-width:460px}.auth-card p{color:var(--muted);font-size:13px;line-height:1.8;margin:12px 0 25px}.auth-brand{display:flex;align-items:center;gap:15px;letter-spacing:3px;margin-bottom:35px;font-family:Space Grotesk,sans-serif}.auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:25px;font-size:11px}.onboarding{max-width:650px}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.module-choice{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:13px}.module-choice input{width:auto}.eyebrow{display:block;color:var(--brass);font:11px Space Grotesk,sans-serif;letter-spacing:2px;margin-bottom:13px}.chart{height:200px;display:flex;align-items:flex-end;gap:15px;padding:25px 20px 30px}.chart-month{flex:1;min-width:12px;position:relative;height:100%;display:flex;align-items:flex-end;gap:3px}.chart-month .bar{flex:1;background:var(--brass);border-radius:4px 4px 0 0;min-height:2px}.chart-month .bar.cost{background:#9aa7a0}.chart-month small{position:absolute;bottom:-23px;left:0;font-size:10px;color:var(--muted)}.activity-row{display:flex;justify-content:space-between;padding:14px 22px;border-top:1px solid var(--line);font-size:12px}.activity-row time{color:var(--muted)}.line-item{display:grid;grid-template-columns:2fr 70px 110px 40px;gap:9px;margin-bottom:10px}.mobile-toggle{display:none}.settings-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.settings-nav a{font-size:12px}.settings-section{scroll-margin-top:20px}.lookup-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.muted{color:var(--muted)}html[data-theme=navy]{--paper: #eef4f8;--brass: #2f80ed;--graphite: #071827;--line: #d7e2eb;--soft: #e5f0ff}html[data-theme=olive]{--paper: #f3f4ec;--brass: #6f8f4e;--graphite: #142018;--line: #dce0cf;--soft: #eaf1df}html[data-theme=sand]{--paper: #f7efe3;--brass: #c98945;--graphite: #2a2119;--line: #e5d7c3;--soft: #f7e7d1}html[data-theme=clean]{--paper: #f7f8fa;--brass: #4f46e5;--graphite: #111827;--line: #e5e7eb;--soft: #eef2ff}html[data-theme=dark]{--paper: #0c0f14;--card: #181d26;--ink: #f3f0e8;--muted: #aaa59a;--line: #2b3341;--brass: #d0a351;--soft: #2a251a}html[data-theme=dark] .topbar{background:#181d26}html[data-theme=dark] .sidebar{background:#080a0f}@media(max-width:1000px){.sidebar{width:215px;flex-basis:215px}.content{padding:22px 18px}.topbar{padding:20px}.g4{grid-template-columns:repeat(2,1fr)}.stat .money{font-size:22px}.g3{gap:10px}.detail-grid{grid-template-columns:1fr}}@media(max-width:720px){.sidebar{position:fixed;inset-inline-start:0;z-index:40;display:none;width:240px}.sidebar.mobile-open,.mobile-toggle{display:flex}.content{padding:18px 12px}.topbar{min-height:85px;flex-wrap:wrap}.topbar h1{font-size:21px}.g3,.g2{grid-template-columns:1fr}.g4{gap:10px}.stat{margin-bottom:10px}.row{grid-template-columns:1fr;gap:0}.toolbar{padding:13px}.toolbar .field{flex:1}.line-item{grid-template-columns:1fr 55px 85px 35px}.auth-card{padding:25px}.module-grid{grid-template-columns:1fr}.chart{gap:7px}.actions{gap:6px}}@media print{.sidebar,.topbar,.pagination,button,.toolbar{display:none!important}.content{padding:0}.card{box-shadow:none;break-inside:avoid}.app{display:block}body{background:#fff}}.advanced-filters summary{cursor:pointer;font-size:13px;padding:10px;color:var(--muted)}.advanced-filters[open]{flex-basis:100%}.advanced-filters>div{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:12px 0}.advanced-filters .search-select{flex:1;min-width:160px}.content,.modal-body{overflow-wrap:anywhere}.content :is(.grid,.row,.detail-grid,.card,.card-pad,.card-head,.toolbar,.settings-panels,.stat,.actions,.heading){min-width:0;max-width:100%}.grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.content :is(img,svg,video,canvas),.modal-body img{max-width:100%}.card-head,.modal-head,.modal-foot{min-width:0;flex-wrap:wrap}.card-head>*,.topbar>div,.modal-head h2,.brand>div{min-width:0}.modal-head button{flex-shrink:0}.responsive-table{max-width:100%;min-width:0}.responsive-table :is(th,td){min-width:0;white-space:normal;overflow-wrap:anywhere}.table-cell-content{min-width:0;max-width:100%}.responsive-table .money{white-space:normal;overflow-wrap:anywhere}.responsive-table :is(button,.btn){padding:7px 10px;font-size:12px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.responsive-table .badge{max-width:100%;white-space:normal}.responsive-table td small{margin-top:4px;line-height:1.6}.table-wrap .responsive-table thead tr:first-child th:first-child{border-start-start-radius:23px}.table-wrap .responsive-table thead tr:first-child th:last-child{border-start-end-radius:23px}.invoice-table .invoice-column{width:19%}.invoice-table .customer-column{width:21%}.invoice-table .actions-column{width:18%}.invoice-table .invoice-remaining{font-weight:600}.invoice-table td .badge{margin-top:6px}.invoice-items-table th:first-child{width:43%}.line-item{grid-template-columns:minmax(0,2fr) minmax(0,.8fr) minmax(0,1.1fr) 36px}.line-item>*{min-width:0;max-width:100%}.line-item{align-items:end}.line-item .field,.modal-body .line-item .field{margin-bottom:0}.search-options{overflow-wrap:anywhere}.brand-demo,.preview-value{flex-wrap:wrap}.preview-value span{min-width:0}.activity-list small{text-align:end;min-width:0}.stat .money,.overview-strip .money,.due-total .money{white-space:normal;overflow-wrap:anywhere}@container records (max-width:640px){.table-cards{display:block;table-layout:auto}.table-cards colgroup{display:none}.table-cards thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.table-cards :is(tbody,tfoot){display:block;width:100%}.table-cards tbody tr{display:block;margin:12px;padding:10px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.table-cards td{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;width:100%;padding:9px 0;border:0;text-align:start;max-width:none}.table-cards td:before{content:attr(data-label);font-size:11px;color:var(--muted);font-weight:500}.table-cards td:not([data-label]),.table-cards td[data-label=""],.table-cards td.table-message{display:block}.table-cards td:not([data-label]):before,.table-cards td[data-label=""]:before{display:none}.table-cards td+td{border-top:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.table-cards .actions{justify-content:flex-start}}@media(max-width:1000px){.grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.grid.g2,.grid.g3{grid-template-columns:1fr}.line-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.line-item>.field:first-child{grid-column:1/-1}.toolbar .advanced-filters .search-select{min-width:0;flex-basis:100%}.toolbar .field{min-width:0;max-width:100%}.line-item input{min-width:0}.table-wrap{container:records/inline-size}}.activity-panel>summary{cursor:pointer;font-size:13px}.activity-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.activity-list small{color:var(--muted);font-size:11px}.boq-document-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.boq-document-meta>.field{min-width:0;width:100%}.year-select #report-year{font-size:18px;width:165px}.report-period-note{margin:0 5px 16px}body:has(.auth-page){overflow:auto}a.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid transparent;border-radius:12px;color:#fff;text-decoration:none;font-size:13px}.boq-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.boq-item-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.boq-item-fields>.field:first-child{grid-column:1/-1}.eyebrow,.text-link{color:color-mix(in srgb,var(--accent) 55%,var(--ink))}.import-intro,.module-intro{margin:8px 4px 25px}.import-intro h2,.module-intro h2{font-size:27px;margin:5px 0 10px}.import-intro p,.module-intro p{max-width:780px;line-height:1.9}.import-kind-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px}.import-kind{display:flex;flex-direction:column;gap:9px;padding:25px;text-align:start;background:var(--card);border-radius:22px}.import-kind b{font-size:16px}.import-kind span{font-size:12px;color:var(--muted);line-height:1.8}.import-kind.selected{border-color:var(--accent);background:var(--soft-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.mapping-panel>summary,.advanced-panel>summary{cursor:pointer;padding:15px 0;font-weight:600}.advanced-panel{margin:15px 0}.import-preview-cell{white-space:normal;min-width:0;max-width:410px}.import-issues-cell{white-space:normal;min-width:0;max-width:350px}.import-issues-cell p{font-size:12px;margin:8px 0;overflow-wrap:anywhere}.preview-value{display:flex;gap:12px;justify-content:space-between;padding:3px 0}.preview-value small{flex-shrink:0;max-width:44%;color:var(--muted)}.preview-value span{overflow-wrap:anywhere;text-align:end}.record-details{margin-top:10px}.record-details summary{font-size:11px;color:var(--muted);cursor:pointer}.check-row{display:flex;align-items:center;gap:12px;padding:15px 0;line-height:1.8}.import-confirm p{line-height:1.9}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 14px;gap:10px}.section-heading small{color:var(--muted)}.boq-subtotal{text-align:end;padding-top:12px;font-size:12px;color:var(--muted)}.boq-subtotal .money{font-weight:600;color:var(--ink);margin-inline-start:8px}.status-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.status-tabs a{text-decoration:none;color:var(--muted);padding:10px 18px;border-radius:13px;border:1px solid transparent;font-size:13px}.status-tabs a.active{color:var(--ink);background:var(--card);border-color:var(--line);box-shadow:var(--shadow)}@media(max-width:720px){.import-kind-grid{grid-template-columns:1fr}.import-kind{padding:18px}.section-heading{align-items:start;flex-direction:column}.status-tabs{gap:3px}.status-tabs a{padding:8px 11px;font-size:12px}}:root{--accent: var(--brand-accent, var(--brass));--surface: color-mix(in srgb, var(--card) 94%, var(--accent) 6%);--shadow: 0 16px 38px #17233310, 0 3px 8px #17233305, inset 0 1px 0 #ffffffb3;--soft-accent: color-mix(in srgb, var(--accent) 10%, var(--card))}html{scroll-behavior:smooth}body{background-size:auto,24px 24px,24px 24px;background-repeat:no-repeat,repeat,repeat;background-image:radial-gradient(ellipse at 85% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 65%),linear-gradient(#9eabac14 1px,transparent 1px),linear-gradient(90deg,#9eabac14 1px,transparent 1px);overflow:hidden}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 28%,transparent) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-thumb{background:#8d969a55;border-radius:10px}*::-webkit-scrollbar-track{background:transparent}.app{height:100dvh;min-height:0;overflow:hidden}.main{height:100dvh;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth}.sidebar{height:100dvh;background:radial-gradient(at 100% 0%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 60%),linear-gradient(155deg,color-mix(in srgb,var(--graphite) 92%,white),var(--graphite));box-shadow:-5px 0 25px #0d1a201c;z-index:25}.topbar{position:sticky;top:0;z-index:15;min-height:90px;background:color-mix(in srgb,var(--paper) 88%,transparent);border-color:color-mix(in srgb,var(--line) 70%,transparent)}.content{padding:30px 32px 60px;animation:page-arrive .3s ease both;min-width:0}.brand{min-height:90px;padding:20px}.brand img{border-radius:12px;background:#fffe;padding:4px}.mono{box-shadow:0 0 24px color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent);color:var(--accent)}.navlink{padding:11px 13px;margin-bottom:3px;border-radius:12px;position:relative}.navlink.active{background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 28%,transparent),color-mix(in srgb,var(--accent) 10%,transparent));border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:#fff;box-shadow:inset 0 1px #ffffff12,0 5px 15px #00000010}.navlink.active:after{content:"";position:absolute;inset-inline-start:5px;top:27%;height:46%;width:3px;border-radius:5px;background:var(--accent);box-shadow:0 0 12px var(--accent)}.navlink:hover{background-color:#ffffff0c;transform:translate(-2px)}[dir=ltr] .navlink:hover{transform:translate(2px)}.nav-tools{margin:12px 0}.nav-tools summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:#ccc9c2;font-size:12px;border-top:1px solid #ffffff15}.nav-tools summary span{font-family:Space Grotesk;color:var(--accent)}.nav-tools[open]{background:#ffffff04;border-radius:12px}.nav-tools .navlink{font-size:12px}.sidebar-scrim{position:fixed;inset:0;background:#0c172878;z-index:30;border:0;border-radius:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}button,.btn,a,input,select,textarea{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s,opacity .18s}button,.btn{box-shadow:0 2px 5px #19253106,inset 0 1px #ffffff52;border-radius:12px}button:hover:not(:disabled),.btn:hover{border-color:var(--accent);box-shadow:0 5px 15px #17233012;transform:translateY(-1px)}button:active:not(:disabled),.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(145deg,color-mix(in srgb,var(--graphite) 82%,var(--accent)),var(--graphite));box-shadow:0 9px 22px #14233525,inset 0 1px #fff3}.btn-brass{background:var(--accent);border-color:var(--accent);color:var(--on-accent, #fff)}.text-link{color:var(--accent);font-size:12px;text-decoration:none;font-weight:600}.eyebrow{color:var(--accent);margin-bottom:9px}.card{border-radius:24px;border-color:color-mix(in srgb,var(--line) 82%,white);background:linear-gradient(125deg,color-mix(in srgb,var(--card) 98%,white),var(--card));box-shadow:var(--shadow);overflow:visible}.card-head{padding:22px 24px;gap:16px;background:linear-gradient(120deg,transparent,color-mix(in srgb,var(--accent) 3%,transparent))}.card-pad{padding:24px}.card-foot{border-top:1px solid var(--line);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.card-head .subtle{max-width:590px;line-height:1.8}.field input,.field select,.field textarea,input,textarea,select{border-radius:13px;box-shadow:inset 0 1px 2px #101b2304;background:color-mix(in srgb,var(--card) 90%,white)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}input[type=checkbox]{width:18px;height:18px;box-shadow:none;accent-color:var(--accent);flex-shrink:0}input[type=color]{min-height:47px;padding:5px;cursor:pointer}input[type=file]{font-size:12px}input::file-selector-button{background:var(--soft-accent);border:0;padding:7px 12px;border-radius:8px;margin-inline-end:10px;color:var(--ink)}:focus-visible{outline-color:var(--accent)}.toolbar{background:color-mix(in srgb,var(--card) 80%,transparent);box-shadow:0 8px 25px #14213008;border-radius:20px;align-items:center}.toolbar>.field{flex:1;max-width:390px}.toolbar input{width:100%}.toolbar .advanced-filters{margin-inline-start:auto}.advanced-filters[open]{margin-inline-start:0}.advanced-filters summary{color:var(--ink)}th{background:var(--surface);padding:12px 10px}td{padding:14px 10px;vertical-align:top}tbody tr{transition:background .18s}tbody tr:hover{background:color-mix(in srgb,var(--accent) 3%,transparent)}td:first-child a{font-weight:600;text-decoration:none}td .actions{flex-wrap:wrap;gap:6px}.badge{background:var(--soft-accent);color:color-mix(in srgb,var(--accent) 72%,var(--ink));border:1px solid color-mix(in srgb,var(--accent) 10%,transparent)}.badge.paid{background:#2f7d5b12}.badge.overdue,.badge.void{background:#b23b3b12}.table-wrap{overflow:visible}.period-bar,.settings-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:color-mix(in srgb,var(--card) 85%,transparent);border:1px solid var(--line);border-radius:24px;padding:25px 28px;margin-bottom:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}.settings-hero:before{content:"";position:absolute;inset-inline-end:0;top:-80px;width:240px;height:240px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%);pointer-events:none}.settings-hero h2{font-size:28px}.settings-hero p{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.8}.year-select{display:flex;align-items:center;gap:15px}.year-select label{color:var(--muted);font-size:13px}.year-select select{width:142px;font:600 27px Space Grotesk;padding:5px 12px;background:transparent;border:0;box-shadow:none}.overview-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.overview-strip>div{padding:16px 20px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:0 6px 18px #17233308;min-width:0}.overview-strip small{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.overview-strip strong,.overview-strip .money{font:600 21px Space Grotesk,Segoe UI,sans-serif}.cash-stats .stat{position:relative;padding:24px;border-radius:22px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.cash-stats .stat:before{content:"";position:absolute;top:14px;inset-inline-end:16px;width:10px;height:10px;border-top:1px solid var(--accent);border-inline-end:1px solid var(--accent);opacity:.3}.stat.dark{background:radial-gradient(at 5% 0%,color-mix(in srgb,var(--accent) 23%,transparent),transparent 70%),var(--graphite);box-shadow:0 18px 35px #13202c25}.stat.dark .positive{color:#80c5a7}.stat-period{display:block;color:var(--muted);font:12px Space Grotesk;margin-top:15px}.stat.dark .stat-period{color:#bcc6cb}.accounting-details{margin:0 0 22px}.accounting-details summary{cursor:pointer;font-size:12px;padding:3px 10px 12px}.accounting-details summary span{color:var(--muted);margin-inline-start:8px}.accounting-details .overview-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.due-total{text-align:end;flex-shrink:0}.due-total small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.due-total .money{color:var(--bad);font-size:23px;font-weight:600}.receivable-client{border:1px solid var(--line);border-radius:17px;margin-bottom:10px;box-shadow:inset 0 1px 2px #13253504}.receivable-client summary{display:flex;align-items:center;gap:15px;padding:17px 18px;cursor:pointer;border-radius:17px;transition:background .2s}.receivable-client summary:hover{background:var(--soft-accent)}.client-avatar{width:35px;height:35px;display:grid;place-items:center;background:var(--soft-accent);border-radius:12px;color:var(--accent);font-weight:600}.client-name{flex:1;min-width:0}.client-name small,.receivable-lines small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.receivable-client summary>.negative{margin-inline-end:18px}.receivable-lines{padding:0 18px 18px;border-top:1px solid var(--line)}.receivable-lines>a{display:flex;justify-content:space-between;gap:15px;padding:15px 0;color:inherit;text-decoration:none;font-size:12px;align-items:center}.receivable-lines>a+a{border-top:1px dashed var(--line)}.calm-empty{padding:30px;text-align:center;color:var(--good)}.settings-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:22px;align-items:start}.settings-index{position:sticky;top:112px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:12px;box-shadow:var(--shadow)}.settings-index button{display:flex;width:100%;justify-content:space-between;text-align:start;padding:14px 10px;border:0;box-shadow:none;background:transparent;margin-bottom:4px;font-size:12px}.settings-index button b,.section-number{display:grid;place-items:center;border-radius:11px;min-width:31px;height:31px;font:600 12px Space Grotesk;background:var(--graphite);color:#fff;box-shadow:0 5px 12px #182c3620}.settings-index button.active{background:var(--soft-accent);color:var(--ink)}.settings-index button.active b{background:var(--accent);color:var(--on-accent, white)}.settings-panels{min-width:0;animation:panel-arrive .22s ease both}.section-number{background:var(--soft-accent);color:var(--accent);box-shadow:none}.save-dock{position:sticky;bottom:16px;z-index:10;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;background:color-mix(in srgb,var(--card) 95%,transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px #13202c20;font-size:12px;color:var(--muted)}.settings-extra{margin-top:20px}.settings-extra>summary{padding:20px;border:1px solid var(--line);background:var(--card);border-radius:18px;cursor:pointer;font-size:13px}.settings-extra[open]>summary{margin-bottom:15px}.segmented{display:flex;gap:7px;background:var(--surface);padding:5px;border-radius:14px}.segmented button{flex:1;background:transparent;box-shadow:none;border-color:transparent}.segmented button.active{background:var(--card);border-color:color-mix(in srgb,var(--accent) 40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.notice.neutral{background:var(--soft-accent);color:var(--ink);border-color:var(--line);font-size:12px;line-height:1.8}.export-grid{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.theme-choice{display:block;text-align:start;padding:11px;border-radius:17px;background:var(--card);border:1px solid var(--line)}.theme-choice.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.theme-choice strong{display:block;font-size:12px;margin:11px 1px 5px}.theme-choice small{font-size:10px;color:var(--muted)}.theme-mini{display:grid;grid-template-columns:27% 1fr;grid-template-rows:17px 23px 23px;gap:6px;height:87px;border:1px solid #d9dcdf66;border-radius:10px;overflow:hidden;padding:7px}.theme-mini i{grid-row:1/4;border-radius:5px}.theme-mini b{border-radius:4px;width:65%;height:9px;align-self:center}.theme-mini em{background:#8e98a018;border:1px solid #c3c9ce44;border-radius:5px}.brand-palette{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.brand-palette>button{margin:18px 0 8px}.brand-demo{display:flex;gap:15px;align-items:center;padding:20px;border-radius:16px;background:var(--surface);flex-wrap:wrap}.brand-demo strong{flex:1}.color-options{display:flex;gap:8px;margin-bottom:12px}.upload-preview{display:flex;align-items:center;gap:20px;padding:20px;margin:15px 0 22px;border:1px dashed var(--line);border-radius:17px;background:var(--surface)}.upload-preview img{width:80px;height:65px;object-fit:contain}.upload-preview>span{font-size:35px;color:var(--accent)}.upload-preview p{font-size:12px;color:var(--muted)}.tool-group>summary{display:flex;justify-content:space-between;gap:10px;padding:19px 0;cursor:pointer;font-size:14px;font-weight:600}.tool-group+.tool-group{border-top:1px solid var(--line);margin-top:10px}.tool-choice{display:flex;align-items:center;gap:15px;padding:18px;border-radius:17px;border:1px solid var(--line);cursor:pointer;min-width:0;background:var(--card)}.tool-choice.selected{background:var(--soft-accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.tool-choice>span{flex:1}.tool-choice strong{font-size:13px}.tool-choice small{display:block;font-size:11px;color:var(--muted);line-height:1.8;margin-top:7px}.tool-choice input{width:30px;height:19px}.module-grid{align-items:stretch;gap:12px}dialog[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 40px);overflow:hidden;border-radius:25px;animation:modal-arrive .22s cubic-bezier(.2,.7,.3,1) both;background:var(--card);box-shadow:0 35px 100px #0b162b55,inset 0 1px #ffffff80}dialog::backdrop{background:#101a2d78;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}dialog>form{display:flex;flex-direction:column;min-height:0;overflow:hidden}dialog>.modal-head{flex-shrink:0}.modal-head{padding:18px 23px;background:var(--surface)}.modal-head button{width:35px;height:35px;padding:0;font-size:21px}.modal-body{overflow-y:auto;overflow-x:auto;min-height:0;overscroll-behavior:contain;padding:24px}.modal-foot{flex-shrink:0;background:var(--surface);padding:15px 24px}.modal-body .row{gap:12px}.modal-body .field{margin-bottom:17px}body:has(dialog[open]) .main{overflow:hidden}.search-options{box-shadow:0 12px 30px #101b2920;background:var(--card);z-index:8}.search-options button{padding:13px;transform:none!important}.import-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 22px;padding:0}.import-steps li{display:flex;align-items:center;gap:10px;background:var(--card);padding:16px;border:1px solid var(--line);border-radius:17px;font-size:12px;color:var(--muted)}.import-steps b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--surface);font-family:Space Grotesk}.import-steps .active{border-color:var(--accent);color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.import-steps .active b{background:var(--accent);color:var(--on-accent, white)}.import-steps .done b{background:#2f7d5b15;color:var(--good)}.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mapping-grid .field{padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:15px;margin:0}.import-review-cell{max-width:380px;white-space:normal}.import-review-cell details{font-size:11px;color:var(--muted)}.import-review-cell summary{cursor:pointer}.import-review-cell details div{padding:4px 0}.review-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex-wrap:wrap;margin:15px 0}.review-counts>div{background:var(--card);border:1px solid var(--line);padding:16px 19px;border-radius:18px;font-size:12px}.review-counts small{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.review-counts strong{display:block;font:600 25px Space Grotesk;color:var(--ink)}@media(max-width:720px){.review-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.review-counts>div{padding:13px}}.boq-item{padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--surface);margin:14px 0}.boq-item .row{grid-template-columns:repeat(3,minmax(0,1fr))}.boq-item header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.boq-item .field{margin-bottom:10px}.boq-total{display:flex;justify-content:space-between;align-items:center;margin:20px 0;padding:16px;background:var(--soft-accent);border-radius:15px}.navigation-progress{position:fixed;top:0;inset-inline:0;height:3px;background:var(--accent);transform-origin:0 50%;animation:progress-pulse 1.4s ease-in-out infinite;z-index:100}@keyframes page-arrive{0%{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-arrive{0%{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-arrive{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes progress-pulse{0%{transform:scaleX(.15)}to{transform:scaleX(.94)}}html[data-theme=dark] .card{border-color:var(--line);background:var(--card);box-shadow:0 12px 28px #0002,inset 0 1px #ffffff07}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#ffffff05}html[data-theme=dark] .positive{color:#80c5a7}html[data-theme=dark] .negative,html[data-theme=dark] .due-total .money{color:#ee9b99}html[data-theme=dark] .sidebar{background:radial-gradient(at 70% 0%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 60%),#0a1018}@media(max-width:1100px){.content{padding:24px 20px 50px}.settings-layout{grid-template-columns:180px minmax(0,1fr);gap:16px}.settings-index button{font-size:11px;padding:12px 6px}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-stats .money{font-size:23px}.overview-strip{gap:10px}.overview-strip>div{padding:14px}.receivable-client summary{gap:10px}.receivable-client summary>.negative{margin-inline-end:0}}@media(max-width:800px){.settings-layout{display:block}.settings-index{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:20px;padding:8px}.settings-index button{margin:0;font-size:12px}.settings-hero{padding:23px}.settings-hero h2{font-size:23px}.settings-hero p{font-size:12px}.cash-stats{gap:10px}}@media(max-width:720px){.content{padding:18px 13px 40px}.sidebar{z-index:40}.topbar{padding:16px;min-height:82px}.period-bar{padding:18px;align-items:start;flex-wrap:wrap}.period-bar .eyebrow{font-size:9px}.overview-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-stats{grid-template-columns:1fr}.cash-stats .stat{padding:20px;display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:0}.cash-stats .stat small{margin:0}.cash-stats{margin-bottom:20px}.stat-period{margin-top:8px}.accounting-details .overview-strip{grid-template-columns:1fr}.card-head{padding:18px;align-items:start;flex-wrap:wrap}.card-head h2{font-size:18px}.card-pad{padding:18px}.due-total{text-align:start}.due-total .money{font-size:21px}.receivable-client summary{display:grid;grid-template-columns:30px 1fr auto;padding:14px;gap:10px}.receivable-client .client-avatar{width:30px;height:30px}.receivable-client summary>.negative{grid-column:2;font-size:14px}.receivable-client summary>.badge{grid-column:3;grid-row:1/3}.receivable-lines>a{flex-wrap:wrap;gap:10px}.receivable-lines .text-link{width:100%}.settings-hero{flex-wrap:wrap;gap:16px}.settings-hero>button{width:100%}.save-dock{bottom:8px;padding:12px;flex-wrap:wrap}.save-dock>.actions{flex:1;justify-content:flex-end}.theme-grid{gap:10px}.theme-choice{padding:9px}.brand-demo{padding:15px}.brand-demo strong{font-size:13px}.import-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.import-steps li{padding:12px;font-size:11px}.mapping-grid{grid-template-columns:1fr}.boq-item .row{grid-template-columns:1fr 1fr}.boq-item .row .field:last-child{grid-column:1/3}.modal-body{padding:18px}.modal-foot{padding:13px 18px}dialog[open]{max-height:calc(100dvh - 20px);width:calc(100% - 20px);border-radius:22px}.chart{gap:5px}.chart-month small{font-size:9px;left:50%;transform:translate(-50%)}.settings-index b{min-width:25px;height:25px}.accounting-details summary span{display:block;margin:8px 0}}@media print{body,.main,.app{height:auto;overflow:visible}.settings-index,.save-dock,.period-bar,.navigation-progress{display:none!important}.card{box-shadow:none}.content{animation:none}}.saif-list-search.results-search{width:min(460px,100%);justify-self:center;display:flex;align-items:center;gap:0;transition:width .2s ease,box-shadow .2s ease;border:1px solid var(--line);border-radius:999px;background:var(--card);position:relative;min-width:0;padding:0 5px;height:40px}.saif-list-search.results-search.collapsed{width:40px;padding:0}.saif-list-search input{border:0!important;box-shadow:none!important;min-width:0;width:100%;padding-inline:5px!important;background:transparent!important}.saif-list-search.collapsed input{width:0;padding:0!important;visibility:hidden}.saif-list-search :is(.search-trigger,.search-close){flex:0 0 30px;padding:5px;border:0;background:transparent;box-shadow:none;min-height:30px}.saif-list-search .search-trigger{position:static;display:inline-flex;align-items:center;justify-content:center}.saif-list-search:focus-within{box-shadow:0 0 0 3px var(--accent-soft,#dcecff)}.hub-identity,.hub-actions,.hub-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-block:0 16px}.hub-identity{font-size:14px}.hub-actions :is(button,.btn){padding:8px 12px;min-height:34px;font-size:12px}.hub-actions .subtle{margin-inline-start:auto;font-size:11px}.hub-summary .project-billing{padding:16px 20px;margin-block:0 12px}.hub-summary .billing-amounts{margin-block:8px 0}.hub-summary .billing-amounts>div,.hub-summary .billing-amounts>.field{padding:8px 12px}.hub-summary .stat{padding:16px;min-height:0}.hub-tabs{border-bottom:1px solid var(--line);gap:5px;padding-block-end:8px}.hub-tabs :is(button,a){border:0;box-shadow:none;background:transparent;padding:9px 13px;font-size:12px;border-radius:10px;color:var(--ink)}.hub-tabs .active{background:var(--accent-soft,#e6f0ff);color:var(--accent,#267fe7)}.hub-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px;gap:0}.hub-metrics>div{padding:14px;display:grid;gap:6px;min-width:0}.hub-metrics small{color:var(--muted)}.hub-metrics strong{font-size:19px}.hub-panel .activity-row{gap:12px;flex-wrap:wrap;padding-block:12px}.hub-panel .card-head{padding:0 0 12px}.category-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-block:9px;flex-wrap:wrap}.category-row button{padding:7px 10px;min-height:30px}.category-name{text-align:start;border:0;box-shadow:none;background:transparent}.category-name small{display:block;color:var(--muted);font-size:10px}.category-list .actions{gap:5px}.dashboard-month{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:15px 20px}.dashboard-month>span{display:grid;gap:4px}.dashboard-month small{color:var(--muted);font-size:11px}.cash-stats .stat{position:relative;box-shadow:0 9px 26px #102c4010}.cash-stats .stat:before{content:"";position:absolute;inset-block-start:15px;inset-inline-end:15px;width:6px;height:6px;border-radius:50%;background:var(--accent,#388cf8);box-shadow:0 0 0 5px #388cf812}@media screen{.hub-panel{animation:page-in .18s ease}.category-row:hover{background:#388cf806}.cash-stats .stat:hover{transform:translateY(-2px);box-shadow:0 13px 30px #102c4018}}@media(max-width:700px){.hub-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-actions .subtle,.saif-list-search.results-search.expanded{width:100%}.hub-tabs{gap:2px}.hub-tabs :is(button,a){padding:8px}.dashboard-month>strong{width:100%}.hub-metrics strong{font-size:16px}}.hub-summary .billing-amounts .field>.money{font-size:18px;font-weight:600}.hub-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:700px){.hub-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.hub-summary .billing-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-summary .billing-amounts>.field{grid-column:1/-1}.hub-summary .billing-amounts .money{max-width:100%;overflow-wrap:anywhere}}.record-name{display:inline-block}.filter-bar{padding:20px;margin-bottom:22px;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);min-width:0}.filter-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:14px 12px;align-items:end}.filter-secondary{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:16px}.filter-secondary>.field{flex:1 1 180px}.filter-bar .field{margin:0;min-width:0;max-width:100%}.filter-bar .entity-select{min-width:0;margin-bottom:0}.filter-note{color:var(--muted);font-size:12px;margin:12px 0 0}.filter-secondary .actions,.view-mode{min-height:44px;align-items:center}.filter-bar input,.filter-bar .select-trigger{min-height:44px}.saif-select,.saif-date{width:100%;min-width:0}.select-trigger{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;text-align:start;background:var(--input, var(--card));color:var(--ink);border:1px solid var(--line);padding:10px 12px;white-space:normal;font:inherit;font-size:13px;box-shadow:none;transform:none!important}.select-trigger span{min-width:0;overflow-wrap:anywhere;flex:1}.select-trigger svg{flex-shrink:0;color:var(--muted)}.select-trigger:disabled{color:var(--muted);opacity:.75;background:var(--surface);cursor:not-allowed}.select-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft-accent)}.saif-popover{position:fixed;inset:auto;margin:0;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 18px 48px #0003;overflow:auto;overscroll-behavior:contain;font:13px IBM Plex Sans Arabic,Segoe UI,sans-serif;max-width:calc(100vw - 24px);z-index:1000;animation:panel-arrive .15s ease}.saif-popover:popover-open{display:block}.saif-popover::backdrop{background:transparent}.saif-popover p{padding:10px 12px;margin:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.select-options button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:0;background:transparent;color:var(--ink);box-shadow:none;border-radius:8px;text-align:start;white-space:normal;overflow-wrap:anywhere;transform:none!important}.select-options button>span{min-width:0}.select-options small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.select-options button.highlighted,.select-options button:hover{background:var(--soft-accent)}.select-options button[aria-selected=true]{font-weight:600;color:var(--ink);background:var(--soft-accent)}.select-options button:disabled{opacity:.55;cursor:not-allowed}.select-options button:focus-visible,.calendar-popover button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.entity-input{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--input, var(--card))}.entity-input input{border:0;background:transparent;box-shadow:none!important;min-width:0;flex:1;width:100%;padding:10px 0;color:var(--ink)}.entity-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft-accent)}.entity-input svg{color:var(--muted);flex-shrink:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}[data-theme=dark]{color-scheme:dark}[data-theme]:not([data-theme=dark]){color-scheme:light}[data-theme=dark] .saif-popover{background:#202631;--surface: #202631;box-shadow:0 20px 50px #0008}[data-theme=dark] :is(input,textarea,.select-trigger,.entity-input){background:#171d27;color:#e6eaf1;border-color:#46505e}[data-theme=dark] .entity-input input{background:transparent;border:0}[data-theme=dark] ::placeholder{color:#a5afbd}[data-theme=dark] .badge{color:#e6eaf1}[data-theme=dark] .badge.paid{color:#93e0ba;background:#183e31}[data-theme=dark] .badge.partial{color:#f4d58d;background:#44361c}[data-theme=dark] .badge.overdue,[data-theme=dark] .badge.unpaid{color:#ffb1ad;background:#482627}[data-theme=dark] .badge.void{color:#c1c6cf;background:#303641}.calendar-popover{padding:12px;overflow:auto}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-heading button{padding:7px;background:transparent;border:0;color:var(--ink)}.calendar-year{margin:6px 0 12px}.calendar-year label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.calendar-year input{width:90px;min-width:0;padding:5px 9px;background:var(--card);color:var(--ink)}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-week{color:var(--muted);font-size:11px;margin-bottom:7px}.calendar-grid button{width:100%;padding:8px 0;min-width:0;border:1px solid transparent;background:transparent;box-shadow:none;color:var(--ink);font:13px Space Grotesk,sans-serif;transform:none!important;border-radius:9px}.calendar-grid button:hover{background:var(--soft-accent)}.calendar-grid button.selected{background:var(--accent);color:var(--on-accent, white)}.calendar-grid button.today{border-color:var(--accent)}.calendar-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.calendar-footer button{padding:6px 10px;color:var(--ink);background:var(--card)}.amount-visibility{display:inline-flex;gap:7px;align-items:center;justify-content:center;white-space:normal}.back-link{display:inline-block;font-size:12px;margin-bottom:8px;color:var(--ink);text-decoration:none;opacity:.85}.back-link:hover{text-decoration:underline;opacity:1}.requested-cards .table-cards{display:block}.requested-cards colgroup{display:none}.requested-cards thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.requested-cards tbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;padding:14px}.requested-cards tbody tr{display:block;padding:14px;border:1px solid var(--line);border-radius:16px;min-width:0}.requested-cards td{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;padding:9px 0;border:0;width:100%}.requested-cards td:before{content:attr(data-label);color:var(--muted);font-size:11px}.requested-cards td[data-label=""]{display:block}.requested-cards td[data-label=""]:before{display:none}.type-list{list-style:none;padding:0;margin:0}.type-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);min-width:0}.type-list .type-name{flex:1;min-width:0}.type-list small{display:block;color:var(--muted);font-size:11px}.type-list .actions{flex-shrink:0}.type-list .actions button{padding:7px 9px}.type-add{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.type-add input{flex:1;min-width:120px}.performance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 24px}.performance-summary small{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.performance-summary strong{font-size:16px}.chart-month.future{opacity:.32}.chart-month.future .bar{background:transparent;border:1px dashed var(--muted)}.chart-month .bar.negative{background:var(--bad)}.chart{padding-top:20px}.chart-month{position:relative}.chart-month:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.chart-value{position:absolute;bottom:100%;font-size:10px;white-space:nowrap;background:var(--surface);color:var(--ink);padding:6px;border:1px solid var(--line);border-radius:7px;display:none;z-index:2}.chart-month:hover .chart-value,.chart-month:focus .chart-value{display:block}.settings-index button{line-height:1.5}.save-dock{flex-wrap:wrap}.settings-advanced-note{font-size:13px;line-height:1.8;color:var(--muted)}@media(max-width:720px){.filter-bar{padding:15px}.filter-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filter-secondary>.field{flex-basis:100%}.filter-bar .entity-select{grid-column:1/-1}.performance-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.type-list li{flex-wrap:wrap}.type-list .type-name{flex-basis:55%}.amount-visibility span{font-size:11px}.topbar{flex-wrap:wrap;gap:12px}.topbar>.actions{justify-content:flex-start}}@media(max-width:360px){.filter-main{grid-template-columns:1fr}.filter-main .entity-select{grid-column:auto}}.confirm-discard{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}.confirm-discard .actions{justify-content:flex-end;flex-wrap:wrap}.confirm-discard p{color:var(--muted);margin:16px 0 24px}.year-select{min-width:160px}.year-select>label{flex-shrink:0;white-space:nowrap}.year-select>.saif-select{width:120px}.chart-month:first-child .chart-value{inset-inline-start:0;inset-inline-end:auto}.chart-month:last-child .chart-value{inset-inline-end:0;inset-inline-start:auto}.saif-popover{background:#fffefa}html[data-theme=dark] .saif-popover{background:#202630}.filter-bar .entity-input{height:44px;box-sizing:border-box}.filter-bar .entity-input input{height:100%}.calendar-row{display:contents}.list-controls{min-width:0;container-type:inline-size}.list-controls .filter-bar{padding:12px;margin-bottom:13px;border-radius:18px;background:color-mix(in srgb,var(--card) 85%,transparent)}.list-controls .filter-main{display:flex;flex-wrap:wrap;gap:12px 10px;align-items:end}.list-controls .filter-main>.field{flex:0 1 156px;width:156px}.list-controls .filter-main>.entity-select{flex:0 1 180px;width:180px}.list-controls-projects .filter-main>.field{flex-basis:clamp(110px,11.6cqw,156px);width:clamp(110px,11.6cqw,156px)}.list-controls-projects .filter-main>.entity-select{flex-basis:clamp(138px,13cqw,180px);width:clamp(138px,13cqw,180px)}.list-controls-clients .filter-main{justify-content:space-between}.list-controls .field{margin-bottom:0;min-width:0}.list-controls .field>span{font-size:12px;color:var(--muted)}.list-controls .entity-input,.list-controls .select-trigger{height:44px}.list-controls .entity-input input{height:100%}.list-controls .view-mode{margin-inline-start:auto;flex:0 0 auto;gap:4px;padding:4px;min-height:44px}.view-mode button{white-space:nowrap;overflow-wrap:normal;word-break:normal;flex:0 0 auto;min-width:64px;padding:7px 12px}.list-results{display:grid;grid-template-columns:minmax(165px,1fr) minmax(180px,460px) minmax(90px,1fr);align-items:center;gap:14px;margin-bottom:16px;padding:12px 18px;min-height:69px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--card) 78%,var(--soft));box-shadow:var(--shadow)}.results-heading,.results-search,.results-end{min-width:0}.results-heading>strong{font-size:14px;display:flex;align-items:center;gap:10px}.results-heading>strong:before{content:"";width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--accent, #4685d8);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent, #4685d8) 14%,transparent)}.results-meta{display:block;color:var(--muted);font-size:12px;line-height:1.5}.results-search>input{min-height:40px;border-radius:999px;margin:0;padding-inline-start:36px}.results-search{position:relative}.search-emoji{flex-shrink:0;font-size:13px;line-height:1;pointer-events:none}.results-search>.search-emoji{position:absolute;inset-inline-start:13px;top:50%;transform:translateY(-50%)}.results-end{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}.results-count{border-radius:999px;background:#102b3c;color:#fff;padding:6px 10px;font-size:12px;white-space:nowrap}.list-controls .filter-reset{padding:4px 6px;font-size:12px;min-height:30px;box-shadow:none;background:transparent;border-color:transparent;white-space:nowrap}.list-controls .filter-reset:hover{background:var(--soft);border-color:var(--line)}.invoice-client-access{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:0 0 14px}.invoice-client-access>.entity-select{flex:0 1 250px;margin:0}.invoice-client-access .field>span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.invoice-client-access>.results-search{flex:0 1 460px;margin-inline-start:auto}.invoice-client-access .entity-input{height:40px;border-radius:999px}.invoice-summary{padding:20px 22px;margin-bottom:16px}.invoice-summary-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.invoice-summary-heading strong{display:block;font-size:15px;overflow-wrap:anywhere}.invoice-summary .muted,.summary-counts{font-size:12px;color:var(--muted)}.summary-counts{background:var(--soft);padding:6px 12px;border:1px solid var(--line);border-radius:999px}.invoice-summary-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.summary-money{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:15px;font-weight:700;line-height:1.7}.summary-money .money{max-width:100%}.summary-note{color:var(--muted);font-size:12px;margin:10px 0 0}@container (max-width: 780px){.list-controls .filter-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.list-controls .filter-main>.field,.list-controls .filter-main>.entity-select{width:auto}.list-controls .view-mode{margin-inline-start:0;justify-self:start}.list-results{grid-template-columns:1fr auto}.results-search{grid-row:2;grid-column:1/-1;width:min(100%,460px);justify-self:center}.results-end{grid-row:1;grid-column:2}}@container (max-width: 480px){.list-controls .filter-main{grid-template-columns:repeat(2,minmax(0,1fr))}.list-controls .filter-main>.entity-select{grid-column:auto}.list-controls .view-mode{grid-column:1/-1}.list-results{padding:12px;gap:10px}.invoice-client-access>.entity-select,.invoice-client-access>.results-search{flex:1 1 100%;max-width:100%}}@media(max-width:600px){.invoice-summary{padding:16px}.invoice-summary-values{grid-template-columns:1fr;gap:12px}}@media(min-width:721px){.main:is(.main-projects,.main-clients,.main-invoices)>.topbar{padding-block:16px;min-height:93px}}.list-controls .filter-bar{padding-block:11px}.list-controls-invoices .filter-bar{padding-block:12px}.list-controls-invoices .filter-main>.field>span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.invoice-summary{padding-block:15px}.list-controls-clients .view-mode{margin-inline-start:0}.financial-scope{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;color:var(--muted);font-size:12px;margin:-4px 4px 12px}.financial-scope details{flex:1 1 230px}.financial-scope summary{cursor:pointer;width:fit-content}.financial-scope p{max-width:90ch;line-height:1.8}.financial-table :is(th,td),.invoice-table :is(th,td){padding:10px 12px;vertical-align:top}.financial-table .record-name{font-weight:600}.financial-table td small,.invoice-table td small{margin-top:3px;line-height:1.5}.financial-actions{display:flex;flex-wrap:wrap;gap:5px}.financial-actions button{padding:6px 8px}.financial-action-menu{display:grid;gap:4px;padding:8px}.financial-action-menu :is(button,a){display:block;text-align:start;padding:10px;border:0;border-radius:8px;color:var(--ink);background:var(--card);text-decoration:none}.financial-action-menu :is(button,a):hover{background:var(--soft)}.financial-records .requested-cards tbody{grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr))}.financial-records .requested-cards td{padding:9px 0}.invoice-identity{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.invoice-table .invoice-identity .badge{margin:0}@container records (max-width: 640px){.financial-table td,.invoice-table td{padding:9px 0}}.financial-table :is(th,td),.invoice-table :is(th,td){padding:9px 8px;vertical-align:middle}.financial-table td,.invoice-table td{height:65px}.financial-table th,.invoice-table th{height:43px;padding-block:8px}.record-identity{display:flex;align-items:center;gap:9px}.record-identity>div{min-width:0}.record-number{flex:0 0 auto;padding:4px 6px;border-radius:16px;background:var(--primary, #0a2030);color:#fff;font-size:11px;font-weight:700}.record-identity small{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.financial-table .record-name,.invoice-table .record-name{font-weight:600;text-decoration:none}.invoice-number{display:inline-block;color:var(--accent);background:var(--soft-accent);padding:5px 8px;border-radius:18px}.financial-table .money,.invoice-table .money{line-height:1.5}.invoice-table td .badge{margin:0}.financial-actions{gap:4px;align-items:center}.responsive-table .compact-action{display:inline-flex;flex:0 0 28px;align-items:center;justify-content:center;width:28px;height:29px;min-height:29px;padding:0;border-radius:14px}.responsive-table .collect-action{font-size:11px;padding:5px 8px;min-height:29px;border-radius:14px}.responsive-table .record-info{display:inline-flex;vertical-align:middle;padding:0;border:0;background:transparent;color:var(--muted);min-height:18px;width:18px;height:18px;border-radius:50%;box-shadow:none}.record-financial-details{padding:14px;width:min(300px,calc(100vw - 24px))}.record-financial-details p{margin-top:10px}.project-status,.collection-status{display:inline-flex;align-items:center;gap:4px;line-height:1.5;padding:4px 7px}.project-status i,.collection-status i{width:5px;height:5px;border-radius:50%;background:currentColor;flex:0 0 auto}.project-status-active{color:#2473e9;background:#3588ff12;border-color:#3588ff40}.project-status-pending,.collection-status.partial{color:#a86a16;background:#c98d2614;border-color:#c98d2633}.project-status-done,.collection-status.paid{color:var(--good);background:#25826312;border-color:#25826333}.project-status-cancelled,.collection-status.unpaid{color:var(--bad);background:#d23a3a12;border-color:#d23a3a33}:root[data-theme=dark] .project-status-active{color:#80b5ff}:root[data-theme=dark] :is(.project-status-pending,.collection-status.partial){color:#e6b66a}.inline-create-hint{color:var(--muted);font-size:12px;margin:-6px 0 14px}.project-form .project-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.project-form .field{margin-bottom:14px}.project-extra-fields{margin:0 0 14px}.project-extra-fields summary{cursor:pointer;color:var(--muted);font-size:12px;padding-block:6px}.project-extra-fields[open] summary{margin-bottom:10px}.project-form>.subtle{font-size:11px;margin:0}.page-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.page-title-line .back-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);text-decoration:none}.lookup-fixed-note{display:block;color:var(--muted);font-size:11px;margin-top:10px}@media(hover:hover)and (pointer:fine){:is(button,.btn){transition:box-shadow .18s,transform .18s,background .18s}:is(button,.btn):not(:disabled):hover{box-shadow:0 7px 16px #09182726}:is(.card,.stat){transition:box-shadow .2s}:is(.card,.stat):hover{box-shadow:0 12px 28px #09182733}.responsive-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,var(--card))}.record-info:hover{color:var(--accent)}@media screen{:is(button,.btn):not(:disabled):hover{transform:translateY(-1px)}:is(.saif-popover,.segmented) button:hover{transform:none}}}.financial-records .requested-cards td{height:auto}@container records (max-width: 640px){.financial-table td,.invoice-table td{height:auto;padding:9px 0}.responsive-table .compact-action{width:36px;height:36px;flex-basis:36px}.responsive-table .collect-action{min-height:36px}}@media(max-width:420px){.project-form .project-form-grid{grid-template-columns:minmax(0,1fr)}}dialog:has(.project-form){width:min(650px,calc(100vw - 24px))}.invoice-table .badge.unpaid{color:var(--bad);background:#d23a3a12;border-color:#d23a3a33}.invoice-table .badge.partial{color:#a86a16;background:#c98d2614;border-color:#c98d2633}:root[data-theme=dark] .invoice-table .badge.partial{color:#e6b66a}:root[data-theme=dark] :is(.project-status-cancelled,.collection-status.unpaid,.invoice-table .badge.unpaid){color:#efa1a1}:root[data-theme=dark] :is(.project-status-done,.collection-status.paid){color:#9fdbba}.project-billing{border:1px dashed var(--line);border-radius:18px;padding:14px;display:grid;gap:12px;background:linear-gradient(135deg,var(--surface),var(--surface-soft,var(--surface)));min-width:0;box-shadow:inset 0 1px #ffffff18}.billing-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.billing-heading a,.project-billing>small{font-size:11px}.billing-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.billing-amounts>div,.billing-amounts>.field{border:1px solid var(--line);border-radius:13px;padding:10px;margin:0;min-width:0}.billing-amounts small,.billing-amounts .field>span{display:block;font-size:10px;margin-bottom:5px}.billing-amounts strong{display:block;font-size:14px}.billing-amounts input{height:34px;padding:5px 9px}.billing-receipt{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px;font-size:12px;flex-wrap:wrap}.billing-warning{border-inline-start:3px solid #c28a38;padding-inline-start:10px;font-size:12px;margin:0}.billing-credit-choice{display:flex;align-items:flex-start;gap:9px;font-size:12px;margin:10px 0}.billing-credit-choice input{width:17px;height:17px;flex:0 0 auto}.metric-info{display:inline-flex;vertical-align:middle;border:0;box-shadow:none;background:transparent;padding:3px;min-width:0;min-height:0;margin-inline-start:3px;color:inherit}.metric-tip{max-width:min(330px,calc(100vw - 24px));font-size:12px;padding:12px}.metric-tip p{margin:0}.financial-scope{align-items:center;justify-content:flex-start;flex-wrap:wrap}.project-form{gap:13px}@media(max-width:480px){.billing-amounts{gap:6px}.billing-amounts>div,.billing-amounts>.field{padding:7px}.billing-amounts strong{font-size:12px}}@media screen{dialog[open]{animation:project-dialog-in .16s ease-out}dialog.modal-leaving{animation:project-dialog-out .14s ease-in forwards}}@keyframes project-dialog-in{0%{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}@keyframes project-dialog-out{to{opacity:0;transform:translateY(5px) scale(.99)}}.modal-body.project-form{padding:20px 24px}.modal-body.project-form .field{margin-bottom:12px}.project-form .project-billing{gap:9px;margin:6px 0 12px}.project-form .billing-amounts .field{margin-bottom:0}.billing-amounts>div,.billing-amounts>.field{background:var(--card)}.project-form+.modal-foot{justify-content:flex-start}.list-controls-invoices .entity-selector{min-width:0}.list-controls-invoices .entity-selector .entity-input input{border-radius:10px;background:var(--surface);cursor:pointer}.list-controls-invoices .entity-selector .entity-input input:focus{cursor:text}.list-controls-invoices .invoice-client-access{justify-content:center}.list-controls-invoices .invoice-client-access .results-search{flex:1;max-width:600px}.billing-amounts[aria-label]{grid-template-columns:repeat(2,minmax(0,1fr))}.list-controls .results-search.saif-list-search{margin:0;flex:0 1 460px;max-width:460px}.list-controls .results-search.saif-list-search.collapsed{flex:0 0 40px;max-width:40px;width:40px}.list-controls .results-search.saif-list-search.expanded{width:min(460px,100%)}.entity-select .entity-input input,.list-controls .entity-select .entity-input input{background:transparent;border:0;border-radius:0;box-shadow:none;padding-inline:0;min-width:0;text-overflow:ellipsis}.entity-select .entity-input{gap:7px}.entity-select .entity-input>svg{pointer-events:none}.entity-input:has(input[aria-expanded=true])>svg:last-child{transform:rotate(180deg)}.entity-input>svg:last-child{transition:transform .28s ease}.list-controls .results-search.saif-list-search{flex:0 1 auto;width:460px;max-width:100%;padding:0;transition:width .42s cubic-bezier(.22,.8,.25,1),box-shadow .25s,border-color .25s}.list-controls .results-search.saif-list-search.collapsed{flex:0 1 auto;width:40px;max-width:100%}.list-controls .results-search.saif-list-search.expanded{width:460px}.saif-list-search :is(.search-trigger,.search-close){flex:0 0 38px;height:38px}.saif-list-search.collapsed .search-trigger{flex-basis:38px}.saif-list-search input{flex:1 1 0;width:0;transition:opacity .2s .12s}.saif-list-search.collapsed input{flex:0 1 0;opacity:0;transition-delay:0s}.saif-list-search .search-close{opacity:1;transition:opacity .2s .12s,transform .25s}.saif-list-search.collapsed .search-close{flex-basis:0;width:0;padding:0;opacity:0;visibility:hidden;pointer-events:none}.saif-list-search .search-trigger span{display:inline-block;transition:transform .35s cubic-bezier(.2,.9,.3,1.3)}.saif-list-search.expanded .search-trigger span{transform:rotate(-18deg) scale(1.12)}.saif-list-search.collapsed:hover .search-trigger span{transform:rotate(12deg) scale(1.18)}.main-dashboard .content{padding:24px 18px}html:not([data-theme=dark]) .dashboard-legacy{--card: #fbfdff;--surface: #f4f8fc;--line: #d4e2f1}.dashboard-legacy{display:flex;flex-direction:column;gap:16px}.dashboard-legacy>*{margin:0;min-width:0}.dashboard-legacy .period-bar{padding:10px 14px;min-height:54px;border-radius:16px;justify-content:space-between;flex-wrap:wrap}.dashboard-legacy .year-select{gap:10px}.dashboard-legacy .year-select label{font-size:12px}.dashboard-legacy .year-select .select-wrap{width:156px}.dashboard-legacy .period-bar .select-trigger{min-height:38px;padding-block:7px}.dashboard-legacy .overview-strip{gap:14px}.dashboard-legacy .overview-strip>div{padding:12px 16px;border-radius:16px;box-shadow:var(--shadow)}.dashboard-legacy .overview-strip>div:first-child{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--card)),var(--card))}.dashboard-legacy .overview-strip small{margin-bottom:2px;font-size:11px}.dashboard-legacy .overview-strip :is(strong,.money){font-size:22px;font-weight:650}.dashboard-legacy .cash-stats{gap:16px}.dashboard-legacy .cash-stats .stat{padding:16px 20px;margin:0;border-radius:16px;min-height:112px;border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--muted) 7%,var(--card)),var(--card) 60%)}.dashboard-legacy .cash-stats .stat.dark{background:radial-gradient(at 6% 0%,#597185 0,transparent 64%),#0b2030;box-shadow:0 14px 28px #172d3a26,inset 0 1px #fff5}.dashboard-legacy .cash-stats .stat:before{width:7px;height:7px;border-radius:0;box-shadow:none;background:transparent;border-block-start:1px solid #b59a70;border-inline-end:1px solid #b59a70;opacity:.65}.dashboard-legacy .cash-stats .stat>small{font-size:11px;display:flex;align-items:center;gap:4px}.dashboard-legacy .cash-stats .money{font-size:clamp(22px,2.2vw,30px);font-weight:650}.dashboard-legacy .stat-period{font-size:11px;margin-top:6px}.dashboard-legacy .stat.dark .positive{color:#2e9270}.dashboard-legacy .card{border-radius:16px}.dashboard-legacy .card-head{padding:16px 18px;align-items:center;gap:12px}.dashboard-legacy .card-head :is(h2,h3){font-size:14px;margin:0}.dashboard-legacy .card-head .eyebrow{display:none}.dashboard-legacy .card-head p{margin:3px 0 0;font-size:11px}.dashboard-legacy .monthly-performance .card-head{flex-wrap:wrap}.dashboard-legacy .monthly-performance .card-head>h3{margin-inline-end:auto}.dashboard-legacy .monthly-performance .card-head>div:last-child{width:118px!important}.dashboard-legacy .monthly-performance .select-trigger{padding:5px 9px;min-height:30px;font-size:11px}.dashboard-legacy .performance-summary{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;border:0;background:transparent}.dashboard-legacy .performance-summary>div{display:flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--line);background:color-mix(in srgb,var(--muted) 7%,var(--card));border-radius:999px;font-size:10px}.dashboard-legacy .performance-summary :is(small,strong,.money){font-size:10px;margin:0;font-weight:400}.dashboard-legacy .performance-summary>div:last-child{display:none}.dashboard-legacy .chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;height:auto;padding:16px 16px 8px;align-items:start;direction:inherit}.dashboard-legacy .chart-month{display:grid;grid-template-rows:116px auto auto;gap:4px;height:auto;min-width:0;padding:0;text-align:center;background:transparent;border:0}.dashboard-legacy .chart-track{position:relative;display:flex;align-items:flex-end;justify-content:center;padding:9px 10px 0;height:116px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(var(--card),var(--surface))}.dashboard-legacy .chart .bar{position:static;width:28px;max-width:75%;border-radius:7px 7px 0 0;background:var(--good);transform-origin:bottom;animation:chart-grow .65s cubic-bezier(.2,.75,.25,1) both}.dashboard-legacy .chart .bar.negative{background:var(--bad)}.dashboard-legacy .chart-month>small{position:static;inset:auto;transform:none;font-size:10px;padding:0;color:var(--muted)}.dashboard-legacy .chart-amount{font-size:10px;color:var(--good);line-height:1.4;overflow-wrap:anywhere}.dashboard-legacy .chart-amount .money{font-size:inherit}html[data-theme=dark] .dashboard-legacy .chart-amount{color:#94cfb4}.dashboard-legacy .chart-month.future{opacity:.55}.dashboard-legacy .monthly-performance>details{padding:4px 16px 10px;font-size:10px}.dashboard-legacy .receivables .card-pad{padding:14px 16px;display:grid;gap:8px}.dashboard-legacy .receivable-client{border:1px solid var(--line);border-radius:12px;margin:0}.dashboard-legacy .receivable-client summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(110px,.8fr) minmax(100px,1fr) auto;padding:10px 14px;gap:12px;min-height:58px;border-radius:12px}.dashboard-legacy .client-avatar{display:none}.dashboard-legacy .client-name{font-size:12px}.dashboard-legacy .client-name strong:after{content:"⌄";display:inline-block;margin-inline-start:8px;transition:transform .25s}.dashboard-legacy details[open] .client-name strong:after{transform:rotate(180deg)}.dashboard-legacy .client-name small{font-size:10px;margin-top:3px}.dashboard-legacy .receivable-count{font-size:10px;color:var(--muted)}.dashboard-legacy .receivable-client summary>.negative{margin:0;font-size:13px}.dashboard-legacy .receivable-client .badge{font-size:10px;padding:4px 8px}.dashboard-legacy .due-total .money{font-size:17px;color:var(--bad)}.dashboard-legacy .due-total small{font-size:10px}.dashboard-legacy .receivables .card-foot{padding:8px 16px;font-size:10px}.dashboard-legacy .dashboard-shortcuts{justify-content:flex-end;margin:0;margin-inline-start:auto}.dashboard-legacy .dashboard-shortcuts :is(a,button){font-size:11px;min-height:32px;padding:6px 12px}.dashboard-legacy .activity-panel{padding:16px 18px}.dashboard-legacy .activity-panel h3{font-size:14px;margin-bottom:8px}.dashboard-legacy .activity-list>div{padding:8px 0;font-size:12px}.dashboard-legacy .dashboard-notes{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.dashboard-legacy .dashboard-notes .card-pad{padding:16px 18px}.dashboard-legacy .dashboard-notes textarea{min-height:110px}.dashboard-legacy .dashboard-notes .modal-foot{padding:10px 0 0;border:0;background:transparent}@keyframes chart-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes saif-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes saif-row{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@media screen{.content{animation:saif-rise .36s cubic-bezier(.2,.75,.25,1) both}.dashboard-legacy>:is(.overview-strip,.cash-stats,.card),.hub-panel{animation:saif-rise .42s both}.dashboard-legacy>:nth-child(2){animation-delay:.04s}.dashboard-legacy>:nth-child(3){animation-delay:.08s}.dashboard-legacy>:nth-child(4){animation-delay:.12s}tbody tr{animation:saif-row .3s both}tbody tr:nth-child(2){animation-delay:25ms}tbody tr:nth-child(3){animation-delay:.05s}tbody tr:nth-child(4){animation-delay:75ms}.saif-popover{animation:saif-rise .2s ease-out both}details[open]>:not(summary){animation:saif-rise .24s both}:is(button,.btn,.btn-primary,.navlink,.card,.stat,.entity-input,.select-trigger,input,textarea,summary,.badge){transition:transform .22s,translate .22s,box-shadow .25s,background-color .25s,border-color .25s,color .2s}:is(button,.btn,.btn-primary):active:not(:disabled){transform:scale(.96)}.chart-track{transition:box-shadow .25s,border-color .25s}.chart-month:hover .chart-track{border-color:var(--accent);box-shadow:0 6px 15px #102c4018}@media(hover:hover){:is(button,.btn,.btn-primary):hover:not(:disabled){translate:0 -2px;box-shadow:0 7px 16px #102c4018}.navlink:hover{translate:0 -1px}:is(.card,.stat):hover{box-shadow:0 12px 28px #102c401b}tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,var(--card))}}}@media(max-width:760px){.dashboard-legacy .overview-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-legacy .cash-stats{grid-template-columns:1fr}.dashboard-legacy .cash-stats .stat{min-height:108px}.dashboard-legacy .chart{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-legacy .receivable-client summary{grid-template-columns:1fr auto}.dashboard-legacy .performance-summary{order:3;width:100%}}@media print{.dashboard-shortcuts{display:none}}@media(max-width:480px){.dashboard-legacy .chart{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-legacy .chart-track{padding-inline:6px}}.nav-module-group{border-top:1px solid var(--border);margin-block:5px;padding-block:4px}.nav-module-group>summary{padding:8px 14px;cursor:pointer;font-size:12px;display:flex;justify-content:space-between}.optional-form .modal-body,.optional-cost .modal-body{display:grid;gap:12px}.optional-form .field,.optional-cost .field{margin:0;min-width:0}.optional-form .row,.optional-cost .row{gap:12px;align-items:start}.optional-form details,.optional-cost details{margin:0;padding:10px 0;border-top:1px solid var(--border)}.optional-form summary,.optional-cost summary{cursor:pointer;color:var(--muted);margin-bottom:8px}.cost-person{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.optional-cost-payroll .cost-person{grid-template-columns:1fr}.agreement-scope{display:grid;gap:12px;border-top:1px solid var(--border);padding-top:14px}.document-items{display:grid;gap:8px}.document-item{display:grid;grid-template-columns:minmax(130px,3fr) minmax(50px,1fr) minmax(68px,1fr) minmax(78px,1fr) 30px;align-items:end;gap:8px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.document-item.with-unit{grid-template-columns:minmax(130px,3fr) minmax(45px,.8fr) minmax(50px,.8fr) minmax(65px,1fr) minmax(78px,1fr) 30px}.document-item input{min-width:0;width:100%;padding-inline:8px}.document-item button{padding:4px;min-width:0;margin-bottom:5px}.item-total{display:grid;gap:8px;align-self:center;overflow-wrap:anywhere;font-size:12px}.document-total{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.cost-payment{padding:12px;border:1px solid var(--border);border-radius:12px}@media(max-width:650px){.cost-person{grid-template-columns:1fr}.document-item,.document-item.with-unit{grid-template-columns:repeat(3,minmax(0,1fr))}.document-item .field:first-child{grid-column:1/-1}.document-item .item-total{grid-column:1/3}}.optional-form .row,.optional-cost .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr))}
