:root{--ink:#182334;--muted:#708096;--line:#e8edf3;--soft:#f6f8fb;--navy:#14253d;--blue:#316bff;--blue-soft:#ebf1ff;--green:#1aa77c;--orange:#e89139;--red:#e25555;--shadow:0 8px 25px rgba(28,49,79,.08)}*{box-sizing:border-box}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--soft)}button,input,select{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{background:linear-gradient(140deg,#132946,#1d4d80);color:#fff;padding:44px 10%;display:flex;flex-direction:column}.logo{font-family:Manrope,sans-serif;font-weight:800;font-size:18px;display:flex;gap:9px;align-items:center}.logo span{display:grid;place-items:center;background:#5f8cff;color:#fff;border-radius:8px;width:31px;height:31px;font-size:12px}.hero-copy{margin:auto 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;color:var(--muted);margin:0 0 9px}.login-brand .eyebrow{color:#a9c3e9}.hero-copy h1{font:800 clamp(34px,5vw,62px)/1.06 Manrope,sans-serif;margin:0 0 20px;max-width:620px}.hero-copy p:last-child{color:#c5d6ed;max-width:520px;font-size:17px;line-height:1.6}.stat-row{display:flex;gap:50px}.stat-row div{display:grid;gap:3px}.stat-row strong{font:700 25px Manrope}.stat-row span{font-size:12px;color:#b8cbe5}.login-panel{display:grid;place-items:center;padding:30px;background:#fff}.login-card{width:min(400px,100%)}.login-card h2{font:800 28px Manrope;margin:0 0 8px}.muted{color:var(--muted);line-height:1.55}.login-card label{display:grid;gap:7px;font-size:13px;font-weight:600;margin-top:21px}.login-card input,.field input,.field select,textarea{border:1px solid #dce4ee;border-radius:8px;padding:11px 12px;outline:0;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #e5edff}.btn{border:0;border-radius:8px;padding:11px 15px;font-weight:700;cursor:pointer;transition:.2s}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:#2358db}.btn.secondary{background:var(--blue-soft);color:#2556c7}.btn.danger{background:#fff0f0;color:var(--red)}.wide{width:100%;margin-top:25px;font-size:14px}.wide span{float:right;font-size:20px;line-height:13px}.demo-note{font-size:11px;color:var(--muted);text-align:center;margin-top:17px}.form-error{min-height:16px;color:var(--red);font-size:12px;margin-top:10px}.app{display:flex;min-height:100vh}.sidebar{width:245px;background:#14253d;color:#d4e0ee;padding:26px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.sidebar .logo{color:#fff;margin:0 10px 37px}.workspace-label{font-size:10px;letter-spacing:1.2px;color:#7890ac;margin:0 10px 10px}.nav-item{width:100%;border:0;background:transparent;color:#b9c9dc;text-align:left;border-radius:8px;padding:11px 12px;margin:2px 0;cursor:pointer;font-weight:500}.nav-item i{font-style:normal;font-size:18px;width:27px;display:inline-block;vertical-align:-2px}.nav-item:hover,.nav-item.active{background:#203b5f;color:#fff}.sidebar-footer{border-top:1px solid #29415f;margin-top:auto;padding:18px 10px 0;display:flex;align-items:center;gap:9px;font-size:12px}.sidebar-footer div:nth-child(2){display:grid;gap:2px}.sidebar-footer span{color:#89a1be;font-size:10px}.user-avatar{width:31px;height:31px;border-radius:50%;background:#d89949;display:grid;place-items:center;color:#fff;font-weight:700;font-size:10px}.sidebar-footer button{margin-left:auto;border:0;background:transparent;color:#a9bbd1;font-size:19px;cursor:pointer}.main-content{margin-left:245px;width:calc(100% - 245px);min-height:100vh}.topbar{background:#fff;padding:25px 38px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.topbar h1{font:800 23px Manrope;margin:0}.top-actions{display:flex;align-items:center;gap:13px}.top-actions>span{font-size:12px;color:var(--muted)}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}.content-wrap{padding:30px 38px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.kpi{background:#fff;border:1px solid var(--line);padding:19px;border-radius:11px;box-shadow:0 2px 6px rgba(20,37,61,.02)}.kpi-head{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.kpi-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue)}.kpi strong{display:block;font:800 25px Manrope;margin:15px 0 5px}.trend{font-size:11px;color:var(--green)}.trend.down{color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:18px;margin-top:22px}.card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px;box-shadow:0 2px 6px rgba(20,37,61,.02)}.card h3{font:700 15px Manrope;margin:0}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.link-btn{border:0;background:none;color:var(--blue);font-size:12px;font-weight:700;cursor:pointer}.chart{height:235px;display:flex;align-items:flex-end;gap:20px;padding:9px 4px 0;border-bottom:1px solid var(--line)}.bar-group{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:6px;position:relative;padding-bottom:24px}.bar{width:17px;border-radius:5px 5px 0 0;background:#dce7ff}.bar.current{background:var(--blue)}.bar-label{position:absolute;bottom:3px;color:var(--muted);font-size:10px}.breakdown{display:grid;gap:18px}.breakdown-row{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:12px}.breakdown-row span{color:var(--muted)}.progress{grid-column:1/-1;background:#eef2f7;height:7px;border-radius:10px;overflow:hidden}.progress i{display:block;height:100%;background:var(--blue);border-radius:10px}.table-card{margin-top:18px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:.6px;padding:0 10px 12px;border-bottom:1px solid var(--line)}.data-table td{padding:13px 10px;border-bottom:1px solid #f0f3f7}.data-table tr:last-child td{border:0}.badge{display:inline-block;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:700}.badge.paid,.badge.active{background:#e7f8f1;color:#168664}.badge.pending,.badge.low{background:#fff3df;color:#b26d10}.badge.overdue,.badge.out{background:#ffebeb;color:#c64e4e}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:21px}.page-head h2{font:800 23px Manrope;margin:0}.page-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.toolbar{display:flex;gap:10px;align-items:center}.search{min-width:220px;border:1px solid #dce4ee;border-radius:8px;padding:10px 12px;background:#fff}.empty{padding:35px;text-align:center;color:var(--muted)}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.summary-pill{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.summary-pill span{font-size:11px;color:var(--muted)}.summary-pill strong{display:block;margin-top:5px;font:700 19px Manrope}.modal-backdrop{position:fixed;inset:0;background:rgba(15,28,46,.5);display:grid;place-items:center;z-index:5;padding:20px}.modal{background:#fff;border-radius:13px;width:min(950px,100%);max-height:92vh;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.2)}.modal-header{display:flex;justify-content:space-between;padding:21px 24px;border-bottom:1px solid var(--line)}.modal-header h2{font:800 20px Manrope;margin:0}.close{border:0;background:transparent;font-size:25px;cursor:pointer;color:var(--muted)}.modal-body{padding:23px 24px}.invoice-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:22px}.field{display:grid;gap:6px;font-size:11px;font-weight:700;color:#526177}.field input,.field select{padding:9px;font-size:12px;font-weight:500}.line-items{width:100%;border-collapse:collapse;font-size:12px}.line-items th{text-align:left;background:#f6f8fb;padding:10px;color:var(--muted);font-size:10px}.line-items td{padding:7px;border-bottom:1px solid var(--line)}.line-items input,.line-items select{width:100%;padding:8px;border:1px solid #dce4ee;border-radius:6px;font-size:12px}.remove-line{border:0;background:transparent;color:var(--red);font-size:16px;cursor:pointer}.invoice-actions{display:flex;justify-content:space-between;margin-top:15px}.invoice-totals{margin-left:auto;width:270px;margin-top:15px}.total-row{display:flex;justify-content:space-between;padding:7px 0;font-size:12px;color:var(--muted)}.total-row.grand{border-top:1px solid var(--line);color:var(--ink);font:700 17px Manrope;margin-top:4px}.modal-footer{border-top:1px solid var(--line);padding:16px 24px;display:flex;justify-content:flex-end;gap:10px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-stat{padding:24px}.report-stat strong{font:800 30px Manrope;display:block;margin:7px 0}.report-stat p{font-size:12px;color:var(--muted);margin:0}.report-bar{height:13px;background:#edf2f8;border-radius:6px;margin-top:18px;overflow:hidden}.report-bar i{display:block;height:100%;background:linear-gradient(90deg,#316bff,#67a1ff)}.toast{position:fixed;right:25px;bottom:25px;background:#172b46;color:#fff;border-radius:8px;padding:13px 17px;font-size:13px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}@media(max-width:950px){.sidebar{width:65px;padding:20px 8px}.sidebar .logo{font-size:0;margin:0 auto 25px}.sidebar .logo span{font-size:12px}.workspace-label,.nav-item:not(.active){font-size:0}.nav-item i{font-size:20px;text-align:center;width:100%}.sidebar-footer div:nth-child(2),.sidebar-footer button{display:none}.main-content{margin-left:65px;width:calc(100% - 65px)}.kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.report-grid{grid-template-columns:1fr}.topbar,.content-wrap{padding-left:22px;padding-right:22px}.top-actions>span{display:none}}@media(max-width:630px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.topbar{align-items:flex-start}.top-actions .icon-btn{display:none}.top-actions .btn{font-size:0;padding:12px}.top-actions .btn:first-letter{font-size:16px}.kpis,.summary-strip{grid-template-columns:1fr}.invoice-meta{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start;gap:12px;flex-direction:column}.toolbar{width:100%}.search{min-width:0;flex:1}.data-table{min-width:650px}.table-scroll{overflow:auto}.modal-body{padding:15px}.line-items{min-width:720px}.line-items-wrap{overflow:auto}}
