:root{--bg:#f5f6f8;--panel:#fff;--border:#e7e9ee;--text:#1e2330;--muted:#6b7280;--brand:#059669;--brand-2:#10b981;--accent-soft:#d1fae5;--ok:#10b981;--warn:#b45309;--sidebar-w:236px;--radius:12px;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}.grad{background:linear-gradient(100deg, var(--brand), var(--brand-2));color:#0000;-webkit-background-clip:text;background-clip:text}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--panel);border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:18px 12px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:#e2e4ea;border-radius:8px}.sidebar .brand{letter-spacing:-.02em;padding:6px 12px 14px;font-size:21px;font-weight:800}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:#a2a8b4;padding:15px 12px 6px;font-size:10.5px;font-weight:700}.nav-soon{color:#b4b9c4;border:1px solid var(--border);letter-spacing:.03em;border-radius:6px;margin-left:auto;padding:1px 6px;font-size:9px}.nav-item.pending{color:#9ca3b0}.nav-item.pending:hover{color:#6b7280;background:#f7f7f9}.nav-group{cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;border-radius:9px;justify-content:space-between;align-items:center;margin-top:6px;padding:10px 12px;font-family:inherit;font-size:13.5px;font-weight:600;display:flex}.nav-group:hover{background:#f3f4f6}.nav-group .g-left{align-items:center;gap:11px;display:flex}.nav-group .gicon{width:17px;height:17px;stroke:var(--muted);fill:none;stroke-width:1.9px}.nav-sub{margin:2px 0 4px}.nav-sub .nav-item{padding-left:40px;font-size:13.5px}.chev{width:13px;height:13px;stroke:var(--muted);fill:none;stroke-width:2.2px;transition:transform .15s}.chev.open{transform:rotate(90deg)}.nav-item{color:var(--muted);border-radius:9px;align-items:center;gap:11px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-item svg{stroke:currentColor;fill:none;stroke-width:1.9px;width:17px;height:17px}.nav-item:hover{color:var(--text);background:#f3f4f6}.nav-item.active{background:var(--accent-soft);color:var(--brand);font-weight:600}.sidebar .spacer{flex:1;min-height:12px}.sidebar .sb-foot{color:var(--muted);border-top:1px solid var(--border);margin-top:8px;padding:12px;font-size:11px}.coming-soon{text-align:center;padding:64px 24px}.cs-icon{background:var(--accent-soft);width:54px;height:54px;color:var(--brand);border-radius:14px;justify-content:center;align-items:center;margin-bottom:16px;font-size:26px;display:inline-flex}.coming-soon h3{margin:0 0 8px;font-size:19px}.coming-soon p{color:var(--muted);max-width:380px;margin:0 auto 16px;font-size:14px}.app-main{margin-left:var(--sidebar-w);flex:1;min-width:0}.topbar-app{background:var(--panel);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:60px;padding:0 30px;display:flex;position:sticky;top:0}.topbar-app .org{font-size:14px;font-weight:600}.topbar-app .right{align-items:center;gap:12px;display:flex}.app-content{max-width:1080px;padding:28px 30px 60px}.page-head{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:26px}.page-head p{color:var(--muted);margin:4px 0 0;font-size:14px}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.kpi .label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.kpi .value{letter-spacing:-.02em;margin-top:8px;font-size:27px;font-weight:750}.kpi .sub{color:var(--muted);margin-top:3px;font-size:12.5px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-top:22px;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.panel-header h3{margin:0;font-size:15px;font-weight:650}.empty{color:var(--muted);text-align:center;padding:30px 20px;font-size:14px}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);padding:11px 20px;font-size:11.5px;font-weight:600}.table td{border-bottom:1px solid var(--border);padding:13px 20px;font-size:14px}.table tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:#faf9ff}.right-al{text-align:right}.mono{font-family:var(--mono);color:var(--muted);font-size:12px}.pill{border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px}.pill.ok{color:var(--ok);background:#ecfdf5;border-color:#a7f3d0}.pill.warn{color:var(--warn);background:#fffbeb;border-color:#fde68a}.pill.brand{color:var(--brand);background:var(--accent-soft);border-color:#a7f3d0}.btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:#5b2fe0}.btn:disabled{opacity:.55;cursor:default}.btn-ghost{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 13px;font-size:13px;text-decoration:none;display:inline-block}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--muted);font-size:13px;font-weight:500}.input{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:9px;width:100%;padding:10px 12px;font-size:14px}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.err{color:#dc2626;margin:6px 0 12px;font-size:13px}.form-section{text-transform:uppercase;letter-spacing:.05em;color:var(--brand);border-bottom:1px solid var(--border);margin:22px 0 12px;padding-bottom:6px;font-size:12px;font-weight:700}.form-section:first-child{margin-top:0}.frow{gap:14px;display:flex}.frow>.field{flex:1}.check-row{align-items:center;gap:9px;margin:4px 0 14px;font-size:14px;display:flex}.lines-head{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);gap:8px;padding:0 4px 6px;font-size:11px;font-weight:600;display:flex}.line-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:7px 4px;display:flex}.line-row .input{padding:8px 9px}.line-x{color:#c0261f;cursor:pointer;background:0 0;border:none;align-self:center;width:24px;font-size:19px;line-height:1}.line-x:hover{color:#dc2626}.muted-link{color:var(--muted);font-size:13px}.auth-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:34px 32px;box-shadow:0 10px 40px #1e23300f}.auth-card h1{margin:0 0 6px;font-size:30px}.auth-card .lede{color:var(--muted);margin:0 0 24px;font-size:15px}.auth-split{min-height:100vh;display:flex}.auth-brand{background:linear-gradient(160deg, var(--brand-2), var(--brand) 70%);color:#fff;flex-direction:column;flex:50%;justify-content:space-between;padding:40px 48px;display:flex}.auth-brandmark{color:#fff;align-items:center;gap:12px;font-size:20px;font-weight:800;display:flex}.auth-ico{background:#ffffff29;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.auth-ico img{width:26px;height:26px;display:block}.auth-mid{max-width:440px}.auth-headline{letter-spacing:-.5px;margin:0 0 14px;font-size:34px;font-weight:800;line-height:1.15}.auth-lede2{color:#ffffffd1;margin:0 0 28px;font-size:15px;line-height:1.55}.auth-feats{flex-direction:column;gap:15px;display:flex}.auth-feat{color:#fffffff0;align-items:center;gap:12px;font-size:14px;display:flex}.auth-feat svg{opacity:.95;flex:none;width:20px;height:20px}.auth-foot{color:#fff9;font-size:12px}.auth-panel{background:var(--panel);flex:50%;justify-content:center;align-items:center;padding:32px;display:flex}.auth-form{width:100%;max-width:384px}.auth-form h2{margin:0 0 4px;font-size:27px}.auth-form .lede{color:var(--muted);margin:0 0 24px;font-size:14px}.auth-form .field label{color:var(--text);margin:0 0 6px;font-size:13px;font-weight:600;display:block}.auth-form .field{margin-bottom:16px}.muted-link{color:var(--muted);font-size:14px;text-decoration:none}.muted-link:hover{color:var(--brand)}@media (max-width:880px){.auth-brand{display:none}.auth-panel{flex:100%}}.inv-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.invoice-paper{color:#1a1a1a;border:1px solid var(--border);background:#fff;border-radius:14px;max-width:660px;padding:36px 40px;box-shadow:0 10px 40px #1e23300f}.inv-brand{color:var(--brand);font-size:20px;font-weight:800}.inv-head{border-bottom:2px solid #eee;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;display:flex}.inv-head h2{letter-spacing:-.02em;margin:0;font-size:26px}.inv-row{color:#333;justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.inv-muted{color:#8a8a8a}.inv-total{color:#111;border-top:2px solid #eee;margin-top:10px;padding-top:12px;font-size:19px;font-weight:700}.inv-verifactu{border-top:1px dashed #ddd;align-items:center;gap:16px;margin-top:24px;padding-top:18px;display:flex}.inv-legend{font-family:var(--mono);letter-spacing:.16em;color:#111;font-size:15px;font-weight:700}.inv-hash{font-family:var(--mono);color:#aaa;word-break:break-all;font-size:10px}@media print{.no-print{display:none!important}.app-shell{display:block}.sidebar,.topbar-app{display:none!important}.app-main{margin-left:0}.app-content{max-width:100%;padding:0}.invoice-paper{box-shadow:none;border:none;border-radius:0;max-width:100%;padding:0}}
