@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--ink:#172033;--muted:#788497;--line:#e7ebf0;--orange:#f45b2a;--orange-dark:#dc4618;--surface:#fff;--green:#15946d;--blue:#3976db}
*{box-sizing:border-box}html,body{margin:0;font-family:'DM Sans',Segoe UI,sans-serif;color:var(--ink);background:#f6f8fb}a{color:#e94f20}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px;gap:20px}.page-heading h1{font-size:28px;letter-spacing:-.04em;margin:3px 0 5px}.page-heading p{color:var(--muted);font-size:14px;margin:0}.kicker{color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.btn-primary,.btn-secondary,.btn-danger{border:0;border-radius:9px;padding:11px 16px;text-decoration:none;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.btn-primary{color:white;background:var(--orange);box-shadow:0 8px 18px rgba(244,91,42,.18)}.btn-primary:hover{background:var(--orange-dark);color:white}.btn-secondary{color:#465268;background:#eef1f5}.btn-danger{color:#bd3a38;background:#fff0ef}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metric-card{background:white;border:1px solid var(--line);border-radius:13px;padding:19px;display:flex;gap:14px;align-items:center;box-shadow:0 3px 12px rgba(28,39,55,.03)}.metric-icon{width:45px;height:45px;border-radius:11px;display:grid;place-items:center;font-weight:900;font-size:18px}.metric-icon.orange{background:#fff1eb;color:#f05a2a}.metric-icon.green{background:#e9f8f2;color:#168c68}.metric-icon.blue{background:#edf4ff;color:#3976db}.metric-icon.violet{background:#f2efff;color:#7556d9}.metric-card>div:last-child{display:grid}.metric-card span{color:#7b8799;font-size:11px;font-weight:600}.metric-card strong{font-size:23px;letter-spacing:-.04em;margin:1px 0}.metric-card small{color:#9aa3b2;font-size:10px}.metric-card small.positive{color:#15946d}.panel{background:white;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 12px rgba(28,39,55,.03)}.dashboard-grid{display:grid;grid-template-columns:2fr .82fr;gap:18px;margin-bottom:18px}.panel-title{padding:18px 20px;border-bottom:1px solid #edf0f3;display:flex;align-items:center;justify-content:space-between}.panel-title h2{font-size:15px;margin:0 0 3px}.panel-title p{font-size:11px;color:#8a95a7;margin:0}.panel-title>a{font-size:12px;font-weight:800;text-decoration:none}.soft-pill{font-size:10px;color:#68758a;background:#f4f6f8;padding:6px 9px;border-radius:6px}.chart{height:210px;padding:26px 24px 20px;display:flex;align-items:flex-end;gap:17px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 44px,#eff2f5 45px)}.chart-column{flex:1;height:170px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.bar{width:min(36px,72%);min-height:6px;background:linear-gradient(180deg,#ff8d66,#f45b2a);border-radius:6px 6px 2px 2px}.bar-value,.chart-column span{font-size:10px;color:#8994a5}.donut{--posted:0;width:128px;height:128px;border-radius:50%;margin:24px auto 18px;background:conic-gradient(#1db186 calc(var(--posted)*1%),#edf1f5 0);position:relative;display:grid;place-items:center}.donut:before{content:'';position:absolute;width:88px;height:88px;border-radius:50%;background:white}.donut>div{position:relative;text-align:center;display:grid}.donut strong{font-size:23px}.donut span{font-size:10px;color:#8b96a7}.legend{padding:0 22px 20px;display:grid;gap:8px}.legend span{font-size:11px;color:#748095;display:flex;align-items:center}.legend b{margin-left:auto;color:#263247}.legend i{width:7px;height:7px;border-radius:50%;margin-right:7px}.legend i.posted{background:#1db186}.legend i.draft{background:#dfe5ea}.table-panel{margin-top:0}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:#8792a3;font-size:10px;text-transform:uppercase;letter-spacing:.05em;background:#fafbfc;padding:11px 20px;border-bottom:1px solid var(--line)}td{padding:14px 20px;border-bottom:1px solid #eef1f4;font-size:12px;color:#475368}td a{font-weight:800;text-decoration:none;color:#273247}td small{display:block;color:#99a2b1;font-size:9px;margin-top:3px}td.money{font-weight:800;color:#273247}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.status.posted{color:#13785b;background:#e9f8f2}.status.draft{color:#926514;background:#fff6dd}.status.validated{color:#315da6;background:#edf4ff}.status.rejected{color:#b53c3c;background:#fff0ef}.empty{text-align:center;padding:42px}.empty>span{font-size:28px;color:#c2c9d2}.empty h3{font-size:15px;margin:8px 0 5px}.empty p{font-size:12px;color:#8d97a7}.empty a{font-size:12px;font-weight:800}.form-panel{padding:22px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;color:#536074}.field input,.field select,.field textarea,.form-control,.form-select{border:1px solid #dfe4ea;border-radius:8px;padding:10px 11px;background:white;color:#263247;font-size:13px;outline:none;width:100%}.field textarea{min-height:76px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.form-control:focus,.form-select:focus{border-color:#ff8a63;box-shadow:0 0 0 3px rgba(244,91,42,.09)}.field small{color:#909baa;font-size:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 11px}.section-heading h2{font-size:15px;margin:0}.line-builder{background:#fafbfc;border:1px solid var(--line);border-radius:11px;padding:16px}.line-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:11px;align-items:end}.line-actions{display:flex;justify-content:flex-end;margin-top:13px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.alert{border-radius:9px;padding:11px 13px;margin-bottom:15px;font-size:12px}.alert-success{background:#eaf8f3;color:#147859;border:1px solid #ccecdf}.alert-danger{background:#fff0ef;color:#ab3838;border:1px solid #f6cfcb}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px}.search{max-width:340px;position:relative;flex:1}.search input{width:100%;padding:10px 12px 10px 34px;border:1px solid var(--line);border-radius:9px}.search:before{content:'⌕';position:absolute;left:12px;top:8px;color:#8d98a9}.entity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.entity-card{background:white;border:1px solid var(--line);border-radius:12px;padding:17px;display:grid;gap:11px}.entity-head{display:flex;gap:11px;align-items:center}.entity-avatar{width:39px;height:39px;border-radius:10px;background:#fff0ea;color:#ee5626;display:grid;place-items:center;font-weight:900}.entity-card h3{font-size:13px;margin:0}.entity-card p{font-size:10px;color:#8b96a6;margin:3px 0 0}.entity-meta{display:grid;gap:7px;font-size:11px;color:#667287}.entity-meta span{display:flex;justify-content:space-between;gap:12px}.entity-meta b{color:#2f3a4c;font-weight:700;text-align:right}.split-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:18px}.summary-box{padding:19px}.summary-row{display:flex;justify-content:space-between;padding:9px 0;color:#69758a;font-size:12px;border-bottom:1px solid #eef1f4}.summary-row strong{color:#253044}.summary-row.total{font-size:15px;border:0;padding-top:15px}.invoice-hero{display:flex;justify-content:space-between;align-items:flex-start;padding:22px}.invoice-hero h2{font-size:21px;margin:2px 0}.invoice-hero p{font-size:11px;color:#8994a4;margin:0}.invoice-info{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:17px 22px;border-top:1px solid var(--line);background:#fafbfc}.info-item small{display:block;color:#8994a5;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.info-item strong{font-size:12px}.account-page{max-width:760px;margin:0 auto}.validation-message,.text-danger{font-size:11px;color:#bd3a38!important}.modified.invalid{outline-color:#bd3a38}.valid.modified:not([type=checkbox]){outline-color:#15946d}
.login-card-wrap{width:min(100%,430px)}.login-card{padding:34px}.login-brand{text-align:center;margin-bottom:26px}.login-brand img,.registration-disabled img{display:block;width:92px;height:92px;object-fit:contain;margin:0 auto 12px}.login-brand h1,.registration-disabled h1{font-size:27px;letter-spacing:-.04em;margin:7px 0}.login-brand p,.registration-disabled p{color:#7d8899;font-size:13px;line-height:1.6}.managed-access{text-align:center;color:#929baa;font-size:11px;margin:19px 0 0;padding-top:17px;border-top:1px solid #edf0f4}.registration-disabled{width:min(calc(100vw - 40px),480px);padding:36px;text-align:center}.registration-disabled .btn-primary{margin-top:10px}
.company-checks{display:flex;flex-wrap:wrap;gap:9px}.company-checks label{display:flex;align-items:center;gap:8px;border:1px solid #dfe4ea;border-radius:8px;padding:9px 11px;background:#fafbfc;cursor:pointer}.company-checks input{width:auto}.company-checks span{display:grid;color:#354156;font-size:12px;font-weight:700}.company-checks small{font-size:9px;font-weight:500;color:#8a95a7}.company-checks.compact{margin-bottom:8px}.company-checks.compact label{padding:6px 8px}.company-checks.compact span{font-size:10px}.compact-button{padding:7px 10px;font-size:10px}.user-company-cell{min-width:280px}.all-companies{color:#13785b;font-weight:700}
.company-card-actions{display:flex;gap:8px;flex-wrap:wrap}.company-card-actions button{flex:1;justify-content:center}.delete-confirmation{border-top:1px solid #f0d3cf;background:#fff7f5;margin:2px -17px -17px;padding:15px 17px;border-radius:0 0 12px 12px}.delete-confirmation strong{font-size:12px;color:#a63831}.delete-confirmation p{font-size:10px;color:#7f6b69;margin:5px 0 12px}.delete-confirmation>div{display:flex;justify-content:flex-end;gap:8px}.relation-warning strong{display:block;margin-bottom:9px}.relation-warning ul{list-style:none;padding:0;margin:0 0 9px;display:grid;gap:5px}.relation-warning li{display:flex;justify-content:space-between;gap:20px}.relation-warning li a{color:#9f302d;font-weight:800}.relation-warning li b{font-size:11px}.relation-warning>span{font-size:11px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.entity-grid{grid-template-columns:repeat(2,1fr)}.line-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.dashboard-grid,.split-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.metric-grid,.entity-grid,.form-grid,.form-grid.three,.line-grid,.invoice-info{grid-template-columns:1fr}.topbar .eyebrow{display:none}.content{padding:20px 14px}.metric-card{padding:15px}.form-actions{flex-wrap:wrap}.form-actions>*{flex:1;justify-content:center}}

/* Professional form controls */
.field{gap:7px;align-content:start}.field label{font-size:11px;font-weight:750;letter-spacing:.015em;color:#3f4c61}.field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.field select,.field textarea,.form-control,.form-select,.search input{min-height:44px;border:1px solid #cfd7e2;border-radius:9px;padding:10px 12px;background:#fff;color:#1f2b3d;font-size:13px;line-height:1.35;box-shadow:0 1px 2px rgba(24,39,58,.04),inset 0 1px 0 rgba(255,255,255,.8);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.field textarea{min-height:96px;padding-top:11px;line-height:1.5}.field input::placeholder,.field textarea::placeholder,.search input::placeholder{color:#9aa6b5;opacity:1}.field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,.field select:hover,.field textarea:hover,.form-control:hover,.form-select:hover,.search input:hover{border-color:#aeb9c7}.field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,.field select:focus,.field textarea:focus,.form-control:focus,.form-select:focus,.search input:focus{border-color:#ef6a3e;background:#fff;box-shadow:0 0 0 3px rgba(244,91,42,.12),0 3px 9px rgba(34,48,68,.06);outline:none}.field input:disabled,.field select:disabled,.field textarea:disabled,.form-control:disabled,.form-select:disabled{background:#f3f5f8;color:#7e8998;border-color:#dfe4ea;cursor:not-allowed;box-shadow:none}.field .modified.invalid,.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#cf4b49;background:#fffafa;box-shadow:0 0 0 3px rgba(207,75,73,.09)}.field small{line-height:1.45}.line-builder{padding:19px;background:linear-gradient(180deg,#fbfcfd 0%,#f7f9fb 100%);border-color:#dfe5ec;box-shadow:inset 0 1px 0 #fff}.line-grid{gap:14px}.line-grid .item-description-field{grid-column:1/-1}.line-grid .item-description-field textarea{width:100%;min-height:82px}
@media(max-width:1100px){.line-grid .item-description-field{grid-column:1/-1}}
@media(max-width:760px){.line-grid .item-description-field{grid-column:1/-1}}
.invoice-create-layout{grid-template-columns:minmax(0,1.85fr) minmax(250px,.55fr)}.invoice-create-layout .item-description-field{grid-column:1/-1}.invoice-create-layout .item-description-field textarea{width:100%;min-height:88px}
@media(min-width:1101px){.invoice-create-layout .line-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.invoice-create-layout .line-grid>.field{grid-column:span 3}.invoice-create-layout .line-grid>.invoice-primary-item-field{grid-column:span 4}.invoice-create-layout .line-grid>.item-description-field{grid-column:1/-1}}
@media(max-width:1050px){.invoice-create-layout{grid-template-columns:1fr}.invoice-create-layout>aside{position:static!important}}
@media print{html,body{width:auto!important;height:auto!important;overflow:visible!important}.sidebar,.topbar,.page-heading,.no-print{display:none!important}.app-shell,.main-panel{display:block!important;width:100%!important;max-width:none!important;overflow:visible!important}.content{width:100%!important;max-width:none!important;padding:0!important;overflow:visible!important}.panel{box-shadow:none;border:0}body{background:white}}
