*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f3f6fa;color:#172033}a{color:#0b5cab;text-decoration:none}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #ccd6e2;border-radius:8px;background:#fff}label{display:block;margin:10px 0 5px;font-weight:650;color:#314156}.shell{display:grid;grid-template-columns:265px 1fr;min-height:100vh}aside{background:linear-gradient(180deg,#16273f,#0e1b2d);color:#fff;padding:22px 18px}.brand{font-weight:800;font-size:22px;line-height:1.1;margin-bottom:28px}.brand span{display:block;font-size:12px;color:#9fb5d1;font-weight:600;margin-top:5px}nav a{display:block;color:#dbe7f5;padding:11px 13px;border-radius:10px;margin:4px 0;font-weight:650}nav a:hover{background:rgba(255,255,255,.09);color:white}.top{height:86px;background:#fff;border-bottom:1px solid #e1e7ef;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.top h1{margin:0;font-size:24px}.top p{margin:4px 0 0;color:#6b7789}.content{padding:26px}.panel,.card{background:#fff;border:1px solid #e0e7f0;border-radius:16px;box-shadow:0 10px 30px rgba(20,32,50,.05);padding:20px}.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}.metric{font-size:32px;font-weight:850;margin-top:8px}.muted{color:#6b7789}.btn{display:inline-block;border:0;border-radius:10px;background:#0b5cab;color:#fff!important;padding:10px 15px;font-weight:750;cursor:pointer}.btn.success{background:#198754}.btn.danger{background:#b42318}.btn.secondary{background:#eef3f8;color:#20324a!important}.alert{border-radius:10px;padding:12px;margin:12px 0}.alert.ok{background:#e8f7ee;color:#135b2d}.alert.err{background:#fdecec;color:#8a1f11}.login{max-width:520px;margin:7vh auto}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{border-bottom:1px solid #edf1f6;padding:10px;text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6a7688;background:#f8fafc}.pill{display:inline-block;border-radius:99px;background:#edf4ff;padding:4px 9px;font-size:12px;font-weight:700}.actions{display:flex;gap:8px;flex-wrap:wrap}.right{text-align:right}.statement{max-width:960px;margin:30px auto;background:white;padding:32px;border-radius:14px}.invoice-lines input{min-width:90px}@media(max-width:900px){.shell{grid-template-columns:1fr}aside{position:relative}.cards,.formgrid{grid-template-columns:1fr}.top{height:auto;padding:18px}.content{padding:15px}}

.module-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.module-head h2{margin:0}.module-head p{margin:4px 0 0}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.searchbox{max-width:520px}.table-scroll{max-height:62vh;overflow:auto;border:1px solid #edf1f6;border-radius:12px}.table-scroll table{margin-top:0}.fixed-head thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 #e3e9f2}.actions.compact{white-space:nowrap}.linkbtn{border:0;background:transparent;color:#0b5cab;font:inherit;font-weight:650;cursor:pointer;padding:0}.dangerlink{color:#b42318}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(8,18,32,.58);z-index:50;align-items:flex-start;justify-content:center;padding:5vh 18px;overflow:auto}.modal-backdrop.show{display:flex}.modal-card{width:min(1050px,100%);background:#fff;border-radius:18px;box-shadow:0 25px 90px rgba(0,0,0,.28);padding:22px;border:1px solid #e0e7f0}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #edf1f6;margin:-2px -2px 18px;padding:0 0 16px}.modal-head h2{margin:0}.modal-head p{margin:5px 0 0}.modal-close{border:0;background:#eef3f8;border-radius:10px;width:38px;height:38px;font-size:26px;line-height:1;cursor:pointer;color:#20324a}.modal-card h3{margin:18px 0 4px;color:#20324a}.modal-actions{justify-content:flex-end;border-top:1px solid #edf1f6;margin-top:20px;padding-top:16px}@media(max-width:900px){.module-head,.table-toolbar{align-items:stretch;flex-direction:column}.searchbox{max-width:100%}.table-scroll{max-height:70vh}.modal-backdrop{padding:12px}.modal-card{padding:16px}}
.record-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.record-head h2{margin:0}.record-head p{margin:5px 0 0}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;border-bottom:1px solid #dfe7f1}.tabs a{display:inline-block;padding:12px 16px;border-radius:12px 12px 0 0;background:#eef3f8;color:#20324a;font-weight:750}.tabs a.active{background:#fff;border:1px solid #dfe7f1;border-bottom-color:#fff;margin-bottom:-1px;color:#0b5cab}.click-table tbody tr,.click-row{cursor:pointer}.click-table tbody tr:hover,.click-row:hover{background:#f5f9ff}.click-table tbody tr:focus{outline:2px solid #8cbcff;outline-offset:-2px}.option-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;align-items:center}.option-grid p{margin:5px 0 0}.totals{display:flex;justify-content:flex-end;gap:24px;margin-top:16px;font-size:16px}.panel h3{margin-top:0}@media(max-width:900px){.record-head{align-items:stretch;flex-direction:column}.tabs{overflow:auto;flex-wrap:nowrap}.option-grid{grid-template-columns:1fr}.totals{flex-direction:column;gap:6px}}

.audit-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:8px 0 18px}.audit-summary div{background:#f8fafc;border:1px solid #e5ecf5;border-radius:12px;padding:12px}.audit-summary span,.audit-summary strong{display:block}.audit-summary strong{margin-top:4px}.audit-table td{font-size:13px}.audit-details div{margin:3px 0}@media(max-width:1100px){.audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.audit-summary{grid-template-columns:1fr}}
.alert.warn{background:#fff7e6;color:#8a5a00;border:1px solid #ffd791}.btn.disabled,.btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.25)}

.check{display:flex;align-items:center;gap:8px;margin-top:8px}.check input{width:auto}.btn.small{padding:6px 10px;font-size:12px}.customer-product-form{margin-top:12px}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;background:#eef2f7;color:#344054}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.alert.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.tablewrap{overflow:auto;max-height:65vh}.tablewrap table thead th{position:sticky;top:0;z-index:2}

.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filters input{max-width:360px}.table-panel{max-height:62vh;overflow:auto}.sticky-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc}.click-row{cursor:pointer}.click-row:hover{background:#f8fafc}.toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.badge{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fee2e2;color:#991b1b}.switchline{display:flex;gap:8px;align-items:center;margin-top:8px}.switchline input{width:auto}.linkbtn{border:0;background:transparent;color:#1d4ed8;text-decoration:underline;cursor:pointer;padding:0;font:inherit}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.kpis.compact{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:-4px}@media (max-width:1200px){.kpis.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.kpis.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{background:#fff;border:1px solid #e0e7f0;border-radius:16px;padding:16px;box-shadow:0 10px 30px rgba(20,32,50,.04)}.kpi span{display:block;color:#6b7789;font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.kpi strong{display:block;margin-top:6px;font-size:22px}.table-toolbar.stacked{align-items:flex-start;flex-direction:column}.filter-pill{display:inline-block;border-radius:999px;background:#eef3f8;color:#20324a;padding:7px 12px;font-weight:750}.filter-pill.active{background:#0b5cab;color:#fff}.pill.status-paid{background:#dcfce7;color:#166534}.pill.status-part_paid{background:#fef3c7;color:#92400e}.pill.status-void{background:#fee2e2;color:#991b1b}.pill.status-sent{background:#e0f2fe;color:#075985}.pill.status-draft{background:#eef2f7;color:#344054}.invoice-lines thead th{position:sticky;top:0;z-index:1}.invoice-lines td,.invoice-lines th{vertical-align:middle}.invoice-lines select{min-width:150px}.invoice-lines input{text-align:inherit}@media(max-width:900px){.kpis,.kpis.compact{grid-template-columns:1fr 1fr}}@media(max-width:560px){.kpis,.kpis.compact{grid-template-columns:1fr}}

.upgrade-warn{display:inline-block;background:#fff7e6;color:#8a5a00!important;border:1px solid #ffd791;border-radius:999px;padding:6px 10px;font-weight:800}.customer-preview{margin-top:12px;background:#f8fafc;border:1px solid #e1e7ef;border-radius:12px;padding:14px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px}.customer-preview strong{display:block;margin-bottom:4px}.mini-label{font-size:12px;text-transform:uppercase;color:#667085;font-weight:800;letter-spacing:.04em}.wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.wizard-step{background:#f8fafc;border:1px solid #e1e7ef;border-radius:14px;padding:14px}.wizard-step strong{display:block}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#f59e0b;margin-right:6px}.status-dot.ok{background:#16a34a}
@media(max-width:900px){.customer-preview,.wizard-steps{grid-template-columns:1fr}}

.invoice-line-scroll{max-height:58vh;overflow:auto;border:1px solid #e5ecf5;border-radius:12px}.invoice-lines{min-width:1120px}.invoice-lines tfoot th{position:sticky;bottom:0;background:#f8fafc;z-index:2;border-top:1px solid #d9e2ef}.invoice-lines .locked-product input[readonly]{background:#f3f6fa;color:#475467;border-color:#d8e0ea}.invoice-lines .line-total{white-space:nowrap}.invoice-lines .btn.small{padding:7px 9px}.invoice-lines input[readonly]:focus{outline:none;box-shadow:none}.invoice-lines tbody tr:hover{background:#fbfdff}
.notice-card{border:1px solid #d7e3f4;background:#f6f9ff;border-radius:14px;padding:12px 14px;margin:0 0 16px 0;box-shadow:0 1px 2px rgba(16,24,40,.04)}

.link-card{display:block;color:inherit;text-decoration:none}
.link-card:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(15,23,42,.12)}

/* Invoice documents tab */
.documents-panel .document-options{align-items:start}.document-button-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.document-action-form{display:flex;justify-content:flex-end}.document-btn{min-width:165px;text-align:center;white-space:nowrap}.recurring-document-form{display:grid;grid-template-columns:1fr;gap:8px;max-width:360px;margin-left:auto}.recurring-document-form .document-btn{width:100%}@media(max-width:900px){.document-button-row,.document-action-form{justify-content:flex-start}.document-btn{width:100%;min-width:0}.recurring-document-form{max-width:none;margin-left:0}}
.btn.equal{min-width:150px;text-align:center;justify-content:center}.actions-col{width:310px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.grid.two{grid-template-columns:1fr}.btn.equal{width:100%;min-width:0}}
.confirm-box{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px;border:1px solid #e5b4b4;background:#fff5f5;border-radius:10px;margin-left:8px}.confirm-box input{min-width:170px}.inline-delete{display:inline-block}.btn.danger{background:#b42318;color:#fff;border-color:#b42318}.btn.danger:hover{background:#8f1d14}


/* Email template editor */
.split-layout{display:flex;gap:18px;align-items:flex-start}.side-list{width:320px;flex:0 0 320px}.grow{flex:1}.list-row{display:block;padding:12px 14px;border:1px solid #dde5ee;border-radius:10px;margin:8px 0;text-decoration:none;color:#172033;background:#fff}.list-row span{display:block;color:#6b778c;font-size:12px;margin-top:3px}.list-row.active{border-color:#1f6feb;box-shadow:0 0 0 3px rgba(31,111,235,.10)}.rtf-toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;border:1px solid #d8e0ea;border-bottom:0;border-radius:10px 10px 0 0;padding:8px;background:#f6f8fb}.rtf-toolbar button,.rtf-toolbar select{height:34px;min-width:48px;border:1px solid #cfd8e3;background:#fff;border-radius:8px;padding:0 9px}.rtf-editor{min-height:340px;border:1px solid #d8e0ea;border-radius:0 0 10px 10px;background:#fff;padding:18px;line-height:1.5;overflow:auto}.placeholder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.placeholder-grid code{display:block;margin:6px 0;padding:5px 7px;background:#eef3f8;border-radius:6px}.panel.soft{background:#f8fafc;margin-top:18px}
@media(max-width:900px){.split-layout{display:block}.side-list{width:auto;flex:auto}}

.rtf-control-group{display:flex;align-items:center;gap:6px;white-space:nowrap;background:#fff;border:1px solid #cfd8e3;border-radius:9px;padding:5px 7px}.rtf-control-group label{font-size:12px;color:#526173;font-weight:700}.rtf-control-group select{border:0!important;height:28px!important;min-width:92px!important;padding:0 4px!important}.rtf-control-group select+label{margin-left:8px}


/* Cron monitor */
.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.button-row form{margin:0}.cron-log-viewer{background:#111827;color:#d1d5db;border-radius:14px;padding:16px;max-height:520px;overflow:auto;font-size:12px;line-height:1.55;white-space:pre-wrap}.cron-message{background:#f8fafc;border:1px solid #e5ecf5;border-radius:10px;padding:10px;white-space:pre-wrap}.pill.status-complete{background:#dcfce7;color:#166534}.pill.status-warning{background:#fef3c7;color:#92400e}.pill.status-failed{background:#fee2e2;color:#991b1b}.pill.status-running{background:#e0f2fe;color:#075985}


/* Navigation polish */
.side-nav{display:flex;flex-direction:column;gap:14px}.nav-group{border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.nav-group:first-child{border-top:0;padding-top:0}.nav-heading{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8fa7c7;font-weight:850;margin:0 0 6px 6px}.side-nav .nav-link{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#dbe7f5;padding:10px 12px;border-radius:10px;margin:3px 0;font-weight:700;border:1px solid transparent}.side-nav .nav-link:hover{background:rgba(255,255,255,.09);color:#fff}.side-nav .nav-link.active{background:#fff;color:#0f2742;border-color:rgba(255,255,255,.18);box-shadow:0 8px 18px rgba(0,0,0,.12)}.nav-badge{display:inline-flex;min-width:22px;height:22px;border-radius:999px;align-items:center;justify-content:center;background:#f59e0b;color:#111827;font-size:12px;font-weight:900;padding:0 6px}

/* Button and report controls polish */
.btn:not(.small){min-width:160px;text-align:center}.btn.large{min-width:220px}.btn.small{min-width:120px;text-align:center}.inline-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.inline-field{display:flex;align-items:center;gap:8px;margin:0;font-weight:750}.inline-field span{white-space:nowrap}.inline-field input,.inline-field select{width:auto;min-width:170px}.toolbar .inline-form .btn{margin-top:0}

/* Fixed sidebar and collapsible enterprise navigation */
html,body{height:100%;min-height:100%}.shell{height:100vh;min-height:0;overflow:hidden}.shell aside{height:100vh;position:sticky;top:0;overflow-y:auto;overscroll-behavior:contain}.shell main{height:100vh;min-width:0;display:flex;flex-direction:column;overflow:hidden}.top{flex:0 0 auto}.content{flex:1 1 auto;overflow:auto;min-height:0}.side-nav{padding-bottom:24px}.nav-group.collapsible{padding-top:10px}.nav-toggle{width:100%;display:flex!important;align-items:center;justify-content:space-between;gap:10px;background:transparent;border:0;color:#8fa7c7;cursor:pointer;padding:7px 6px;margin:0 0 4px;border-radius:9px;text-align:left}.nav-toggle:hover{background:rgba(255,255,255,.06);color:#c7d8ee}.nav-toggle span:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.nav-chevron{transition:transform .18s ease;font-size:14px;color:#9fb5d1}.nav-group.collapsible:not(.open) .nav-chevron{transform:rotate(-90deg)}.nav-items{display:none}.nav-group.open .nav-items{display:block}.nav-group.open .nav-heading{color:#b8cbe3}.side-nav .nav-link{position:relative}.side-nav .nav-link.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:999px;background:#0b5cab}@media(max-width:900px){html,body{height:auto;overflow:auto}.shell{height:auto;min-height:100vh}.shell aside{position:relative;height:auto;overflow:visible}.shell main{height:auto;overflow:visible}.content{overflow:visible}}


/* Enterprise V4 */
.email-preview{border:1px solid #d8e0ea;border-radius:12px;background:#fff;padding:16px;max-height:520px;overflow:auto}.portal-v2{max-width:1180px;margin:0 auto;padding:28px}.portal-v2 .tabs{margin-top:12px}.soft{background:#f8fafc}.btn.wide{min-width:180px}.document-drop{border:1px dashed #9fb5d1;background:#f8fafc;border-radius:14px;padding:18px}.status-sent{background:#dcfce7;color:#166534}.status-failed{background:#fee2e2;color:#991b1b}.status-queued{background:#fef3c7;color:#92400e}.status-sending{background:#e0f2fe;color:#075985}


/* Customer Portal V1 unified login refinements */
.login-body { min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#eef3f8,#f8fafc); }
.unified-login { max-width:420px; width:100%; }
.login-links { margin-top:12px; }
.portal-hint { margin-top:18px; padding:12px; border-radius:10px; background:#f3f6f9; color:#465565; line-height:1.5; }
.portal-v2 .record-head { align-items:center; }
.portal-v2 .tabs { position:sticky; top:0; z-index:5; background:#fff; padding-top:8px; }
.portal-v2 table .btn.small { min-width:90px; text-align:center; margin:2px; }


/* Customer portal scrolling fix */
body.portal-page{min-height:100vh;overflow:auto;background:#f3f6fa;}
body.portal-page .content.portal-v2{min-height:100vh;max-height:none;overflow:visible;}
body.portal-page .portal-profile-grid{align-items:start;}
body.portal-page .panel{margin-bottom:24px;}
@media(max-width:900px){body.portal-page .portal-v2{padding:16px;}body.portal-page .tabs{overflow-x:auto;flex-wrap:nowrap;}}

/* Backup management */
.readonly-box{border:1px solid #d5dce8;background:#f7f9fc;border-radius:10px;padding:10px 12px;min-height:40px;display:flex;align-items:center;color:#334155}
.button-row form{display:inline-block;margin:0}


/* Products page filter bar: keep catalogue filters on one line on desktop */
.product-filters{flex-wrap:nowrap;align-items:center}
.product-filters input[name="q"]{flex:1 1 420px;max-width:none;min-width:260px}
.product-filters select[name="family"]{flex:0 1 260px;width:auto;min-width:180px}
.product-filters select[name="status"]{flex:0 0 180px;width:auto;min-width:160px}
.product-filters .btn{flex:0 0 auto;margin:0;white-space:nowrap}
@media(max-width:1100px){.product-filters{flex-wrap:wrap}.product-filters input[name="q"],.product-filters select[name="family"],.product-filters select[name="status"]{flex:1 1 220px;width:100%;min-width:0}.product-filters .btn{width:100%}}

/* Desktop-style fixed top menu */
body{overflow:hidden}.app-frame{height:100vh;display:flex;flex-direction:column;background:#f3f6fa}.desktop-header{position:sticky;top:0;z-index:1000;background:linear-gradient(180deg,#16273f,#0e1b2d);color:#fff;box-shadow:0 8px 24px rgba(15,23,42,.18)}.desktop-titlebar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 22px}.desktop-brand{margin:0;color:#fff}.desktop-brand span{color:#9fb5d1}.desktop-userbar{color:#dbe7f5;font-weight:650}.desktop-userbar a{color:#fff}.menu-bar{height:36px;display:flex;align-items:stretch;gap:2px;padding:0 14px;background:#f7f9fc;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid #cfd8e3;color:#172033}.menu-item{position:relative;display:flex;align-items:stretch}.menu-button{border:0;background:transparent;color:#172033;padding:0 14px;font:inherit;font-weight:750;cursor:pointer;border-radius:8px 8px 0 0}.menu-item:hover .menu-button,.menu-item.open .menu-button,.menu-item.active .menu-button{background:#e8eef7;color:#0b5cab}.menu-dropdown{display:none;position:absolute;top:36px;left:0;min-width:230px;background:#fff;border:1px solid #cfd8e3;border-radius:0 0 12px 12px;box-shadow:0 18px 45px rgba(15,23,42,.20);padding:7px;z-index:1200}.menu-item:hover .menu-dropdown,.menu-item.open .menu-dropdown{display:block}.menu-link{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#172033!important;padding:9px 11px;border-radius:8px;font-weight:650;white-space:nowrap}.menu-link:hover,.menu-link.active{background:#eef4ff;color:#0b5cab!important}.desktop-main{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.page-top{height:74px;background:#fff;border-bottom:1px solid #e1e7ef;display:flex;align-items:center;justify-content:space-between;padding:0 28px;flex:0 0 auto}.page-top h1{margin:0;font-size:24px}.page-top p{margin:4px 0 0;color:#6b7789}.app-frame .content{flex:1 1 auto;overflow:auto;min-height:0;padding:26px}.nav-badge{margin-left:auto}.upgrade-warn{background:#fff7e6;color:#8a5a00!important;border-color:#ffd791}.shell,aside,.top{all:unset}@media(max-width:900px){body{overflow:auto}.app-frame{height:auto;min-height:100vh}.desktop-titlebar{height:auto;align-items:flex-start;flex-direction:column;padding:16px}.menu-bar{height:auto;overflow-x:auto;padding:0 10px}.menu-item{position:static}.menu-dropdown{position:absolute;top:auto;left:10px;right:10px;min-width:0}.page-top{height:auto;padding:18px}.desktop-main{overflow:visible}.app-frame .content{overflow:visible;padding:15px}}

/* Polish pass: global search, dashboard actions and attention cards */
/* Standard button sizing */
/* Lakemews Design System v1
   This layer standardises the visual language across legacy and new admin pages. */
:root{
  --lm-bg:#f3f6fa;
  --lm-surface:#ffffff;
  --lm-surface-soft:#f8fafc;
  --lm-surface-blue:#f7fbff;
  --lm-text:#172033;
  --lm-muted:#667085;
  --lm-border:#dfe7f1;
  --lm-border-strong:#cbd5e1;
  --lm-primary:#0b5cab;
  --lm-primary-dark:#084680;
  --lm-success:#198754;
  --lm-danger:#b42318;
  --lm-warning:#f59e0b;
  --lm-info:#075985;
  --lm-radius-sm:8px;
  --lm-radius:12px;
  --lm-radius-lg:16px;
  --lm-shadow-sm:0 1px 2px rgba(16,24,40,.06);
  --lm-shadow:0 10px 30px rgba(20,32,50,.06);
  --lm-shadow-lg:0 18px 45px rgba(15,23,42,.16);
  --lm-focus:0 0 0 3px rgba(11,92,171,.18);
  --lm-space-1:4px;
  --lm-space-2:8px;
  --lm-space-3:12px;
  --lm-space-4:16px;
  --lm-space-5:20px;
  --lm-space-6:24px;
}

body{background:var(--lm-bg);color:var(--lm-text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:var(--lm-primary);transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;}
a:hover{color:var(--lm-primary-dark);} 
:focus-visible{outline:none;box-shadow:var(--lm-focus)!important;}

h1,h2,h3{color:var(--lm-text);letter-spacing:-.015em;}h1{font-size:24px;}h2{font-size:20px;}h3{font-size:17px;}.muted{color:var(--lm-muted)!important}.small,small{font-size:12px;line-height:1.35}.mini-label{color:var(--lm-muted);}

.panel,.card,.kpi,.wizard-step,.notice-card,.modal-card,.statement{background:var(--lm-surface);border:1px solid var(--lm-border);border-radius:var(--lm-radius-lg);box-shadow:var(--lm-shadow);} 
.panel.soft,.card.soft,.soft{background:var(--lm-surface-soft);} .panel + .panel{margin-top:18px;}
.card,.kpi{transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.link-card:hover,.card:hover{border-color:#c9dcf4;box-shadow:var(--lm-shadow-lg);}

input,select,textarea{height:40px;border:1px solid var(--lm-border-strong);border-radius:var(--lm-radius-sm);background:#fff;color:var(--lm-text);font:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;}textarea{height:auto;min-height:96px;}input:focus,select:focus,textarea:focus{border-color:var(--lm-primary);box-shadow:var(--lm-focus);outline:none;}input[readonly],input:disabled,select:disabled,textarea:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed;}label{font-size:13px;font-weight:700;color:#344054;margin:10px 0 6px;}

.table-scroll,.tablewrap,.invoice-line-scroll{border:1px solid var(--lm-border);border-radius:var(--lm-radius);background:#fff;box-shadow:var(--lm-shadow-sm);}table{font-size:13px;}th{background:#f8fafc;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.06em;}td,th{border-bottom:1px solid #edf2f7;}tbody tr:hover{background:#fbfdff;}

.btn{border:1px solid transparent;border-radius:10px;background:var(--lm-primary);box-shadow:var(--lm-shadow-sm);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease;}.btn:hover{background:var(--lm-primary-dark);box-shadow:0 8px 18px rgba(11,92,171,.18);transform:translateY(-1px)}.btn.success{background:var(--lm-success)}.btn.success:hover{background:#146c43}.btn.danger{background:var(--lm-danger)}.btn.danger:hover{background:#8f1d14}.btn.secondary{background:#eef3f8;color:#20324a!important;border-color:#d8e2ee}.btn.secondary:hover{background:#e1eaf5}.btn.warning{background:var(--lm-warning);color:#111827!important}.btn.info{background:var(--lm-info)}.btn.disabled,.btn:disabled{opacity:.55;transform:none;box-shadow:none;}

.alert{border:1px solid transparent;border-radius:var(--lm-radius);box-shadow:var(--lm-shadow-sm);}.alert.ok{background:#e8f7ee;border-color:#b7ebc7;color:#135b2d}.alert.err,.alert.danger{background:#fdecec;border-color:#f9caca;color:#8a1f11}.alert.warn{background:#fff7e6;border-color:#ffd791;color:#8a5a00}.pill,.badge{border:1px solid transparent;font-weight:800;line-height:1.1}.pill.status-paid,.badge.ok{background:#dcfce7;color:#166534;border-color:#b7ebc7}.pill.status-part_paid,.pill.status-warning,.badge.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.pill.status-void,.pill.status-failed{background:#fee2e2;color:#991b1b;border-color:#fecaca}.pill.status-sent,.pill.status-running{background:#e0f2fe;color:#075985;border-color:#bae6fd}.pill.status-draft{background:#eef2f7;color:#344054;border-color:#e2e8f0}.pill.status-complete{background:#dcfce7;color:#166534;border-color:#b7ebc7}

.tabs{gap:4px}.tabs a{border:1px solid transparent;background:#edf3f9;color:#334155!important;font-size:13px;font-weight:800;}.tabs a:hover{background:#e3edf8}.tabs a.active{background:#fff;color:var(--lm-primary)!important;border-color:var(--lm-border);border-bottom-color:#fff;box-shadow:var(--lm-shadow-sm)}

.kpis,.cards{gap:16px}.metric{letter-spacing:-.035em}.module-head,.record-head,.table-toolbar,.toolbar{gap:16px}.actions{gap:10px}.formgrid{gap:12px 18px}.option-grid{gap:18px 26px}.readonly-box{border-color:var(--lm-border);background:var(--lm-surface-soft);}


.btn,
button,
input[type="submit"],
input[type="button"],
a.btn{
  min-height:40px;
  height:40px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:14px;
  font-weight:600;
  line-height:1;
  box-sizing:border-box;
  white-space:nowrap;
}

.btn.small{min-height:32px;height:32px;font-size:13px;padding:0 12px;}
.table-toolbar .btn,.filters .btn,.product-filters .btn{height:40px;min-height:40px;}

.desktop-titlebar{display:grid;grid-template-columns:auto minmax(280px,560px) auto}.global-search-form{display:flex;align-items:center;gap:0;width:100%;max-width:560px;justify-self:center}.global-search-form input{height:36px;border-radius:999px 0 0 999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.10);color:#fff;padding:0 14px}.global-search-form input::placeholder{color:#b8cbe3}.global-search-form button{height:36px;width:44px;border:1px solid rgba(255,255,255,.28);border-left:0;border-radius:0 999px 999px 0;background:#0b5cab;color:#fff;font-weight:900;cursor:pointer}.dashboard-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;background:linear-gradient(135deg,#fff,#f7fbff)}.dashboard-actions h2,.attention-panel h2{margin:0 0 4px}.quick-action-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.attention-panel{margin-bottom:18px;border-color:#ffd791;background:#fffaf0}.attention-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.attention-list a{display:block;background:#fff;border:1px solid #ffe4ad;border-radius:12px;padding:12px 14px;color:#5f3f00;font-weight:700}.attention-list a:hover{box-shadow:0 8px 20px rgba(146,64,14,.10);transform:translateY(-1px)}.search-hero{margin-bottom:18px}.global-search-page-form{display:flex;gap:10px;margin-top:14px}.global-search-page-form input{font-size:16px;padding:13px 15px}.search-results{display:grid;gap:10px}.search-result-row{display:grid;grid-template-columns:110px 1fr;gap:4px 14px;align-items:center;border:1px solid #e0e7f0;border-radius:14px;padding:13px 14px;background:#fff;color:#172033}.search-result-row:hover{border-color:#9dc4ef;background:#f8fbff}.search-result-row small{grid-column:2;color:#6b7789}.menu-link.active:before{content:'✓';margin-right:2px;color:#0b5cab}@media(max-width:900px){.desktop-titlebar{display:flex}.global-search-form{max-width:none}.dashboard-actions{align-items:stretch;flex-direction:column}.quick-action-row{justify-content:flex-start}.global-search-page-form{flex-direction:column}.search-result-row{grid-template-columns:1fr}.search-result-row small{grid-column:auto}}

/* Keyboard and desktop-app affordances */
.global-search-form:after{content:'Ctrl K';margin-left:8px;color:#b8cbe3;font-size:11px;font-weight:800;border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:3px 6px;white-space:nowrap}.page-top{background:linear-gradient(180deg,#fff,#fbfdff)}.page-top h1:before{content:'';display:inline-block;width:8px;height:24px;border-radius:999px;background:var(--lm-primary);margin-right:10px;vertical-align:-4px}.desktop-header{border-bottom:1px solid rgba(0,0,0,.18)}.menu-dropdown{animation:lmMenuDrop .12s ease-out}@keyframes lmMenuDrop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.global-search-form:after{display:none}.page-top h1:before{height:20px}}



