@import "https://fonts.googleapis.com/css2?family=Assistant:wght@400;500;600;700;800&family=Heebo:wght@400;500;700&display=swap";
:root{--ink:#16232e;--paper:#f2efe7;--blueprint:#2f5d75;--blueprint-dark:#1f4356;--amber:#c97a3d;--amber-dark:#a85f27;--ok:#3e7a5c;--danger:#b24a3c;--line:#16232e24;--card:#fff}*{box-sizing:border-box}html,body{height:100%}body{color:var(--ink);background:var(--paper);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);direction:rtl;background-size:28px 28px;min-height:100vh;margin:0;font-family:Assistant,sans-serif;font-size:15px}a{color:inherit}.wrap{max-width:1600px;margin:0 auto;padding:22px 22px 60px}.topbar{background:var(--blueprint-dark);color:#fff;border:1px solid #ffffff14;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:18px 24px;display:flex;position:relative;overflow:hidden}.topbar:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(90deg,#ffffff0d 0 1px,#0000 1px 24px);position:absolute;inset:0}.brand{align-items:center;gap:12px;display:flex;position:relative}.brand .brand-logo{background:#fff;border-radius:6px;width:auto;height:42px;padding:2px 6px}.brand h1{letter-spacing:.2px;margin:0;font-family:Heebo;font-size:19px;font-weight:700}.brand p{color:#c9d6dc;margin:0;font-size:12px;font-weight:400}.topbar-right{align-items:center;gap:14px;display:flex;position:relative}.topbar-user{color:#e7eef1;text-align:left;font-size:12.5px}.topbar-user b{font-family:Heebo}nav.main-nav{flex-wrap:wrap;gap:6px;display:flex;position:relative}nav.main-nav a{color:#e7eef1;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:9px;padding:8px 16px;font-family:Assistant;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-block}nav.main-nav a:hover{background:#ffffff1a}nav.main-nav a.active{background:var(--amber);border-color:var(--amber);color:#1b1206}.grid{gap:16px;display:grid}.grid.cols-5{grid-template-columns:repeat(5,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width:900px){.grid.cols-5,.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}nav.main-nav{width:100%}}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:0 1px 2px #16232e0a}.kpi .label{color:#5b6b74;margin-bottom:6px;font-size:12.5px;font-weight:600}.kpi .value{color:var(--blueprint-dark);font-family:Heebo;font-size:26px;font-weight:700}.kpi .sub{color:#8a97a0;margin-top:4px;font-size:12px}.kpi.warn .value{color:var(--danger)}.kpi.good .value{color:var(--ok)}h2.section{color:var(--blueprint-dark);align-items:center;gap:8px;margin:26px 0 12px;font-family:Heebo;font-size:17px;font-weight:700;display:flex}h2.section:before{content:"";background:var(--amber);border-radius:2px;width:4px;height:16px;display:inline-block}h3.subsection{color:var(--blueprint-dark);margin:18px 0 8px;font-family:Heebo;font-size:14.5px;font-weight:700}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:right;color:#4a5a63;border-bottom:2px solid var(--line);white-space:nowrap;z-index:2;background:#f7f5ef;padding:7px 8px;font-size:11.5px;font-weight:700;position:sticky;top:0}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px;font-size:12.8px}tr:hover td{background:#fafaf6}.tag{border-radius:20px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-block}.tag.active{color:var(--ok);background:#e4f0e8}.tag.done,.tag.completed{color:#5b6b74;background:#e9ecee}.tag.paid{color:var(--ok);background:#e4f0e8}.tag.pending{color:var(--amber-dark);background:#fbeee0}.tag.invoiced,.tag.done_not_invoiced{color:var(--blueprint-dark);background:#e4ebf0}.tag.overdue{color:var(--danger);background:#f6e1dd}.btn{cursor:pointer;background:var(--blueprint);color:#fff;border:none;border-radius:9px;padding:9px 16px;font-family:Assistant;font-size:13.5px;font-weight:700;text-decoration:none;transition:all .15s}.btn:hover{background:var(--blueprint-dark)}.btn.amber{background:var(--amber);color:#1b1206}.btn.amber:hover{background:var(--amber-dark);color:#fff}.btn.ghost{color:var(--blueprint-dark);border:1px solid var(--line);background:0 0}.btn.ghost:hover{background:#f0eee9}.topbar .btn.ghost{color:#e7eef1;border-color:#ffffff59}.topbar .btn.ghost:hover{color:#fff;background:#ffffff1f}.btn.danger{background:var(--danger)}.btn.sm{border-radius:7px;padding:5px 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #cbd2d6;border-radius:8px;width:100%;padding:7px 9px;font-family:Assistant;font-size:13px}textarea{resize:vertical;min-height:90px}.no-spin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.no-spin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spin{-moz-appearance:textfield}label{color:#4a5a63;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.field{margin-bottom:12px}.modal-bg{z-index:50;background:#16232e73;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:14px;width:100%;max-width:780px;padding:24px}.login-shell{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{border:1px solid var(--line);background:#fff;border-radius:16px;width:100%;max-width:380px;padding:36px 32px;box-shadow:0 8px 30px #16232e1f}.login-card img{height:56px;margin:0 auto 16px;display:block}.login-card h1{text-align:center;color:var(--blueprint-dark);margin:0 0 22px;font-family:Heebo;font-size:19px}.login-error{color:var(--danger);background:#f6e1dd;border-radius:8px;margin-bottom:14px;padding:8px 12px;font-size:12.5px}
