:root{--bg:#06101c;--panel:#0c1928;--panel2:#101f31;--border:#20364d;--text:#edf5fb;--muted:#8ca0b3;--cyan:#64d9ff;--green:#65d99c;--amber:#f2c86e;--red:#ff7a82;--blue:#7fb6ff}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#07131f,#050c15 55%);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.hidden{display:none!important}button,input,select,textarea{font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 0,#123a56 0,transparent 33%),var(--bg)}.login-card{width:min(430px,100%);background:linear-gradient(180deg,#102033,#0b1725);border:1px solid var(--border);border-radius:24px;padding:34px;box-shadow:0 30px 90px #0009}.brand{display:flex;gap:12px;align-items:center}.brand>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#10324a,#174d68);color:var(--cyan);font-weight:900;letter-spacing:.04em}.brand strong,.brand small{display:block}.brand small,.subtitle{color:var(--muted)}h1{font-size:30px;margin:22px 0 5px;letter-spacing:-.03em}.login-card p{color:var(--muted);margin:0 0 24px}.login-card label,.form-grid label{display:block;color:var(--muted);margin:13px 0}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select{width:100%;margin-top:6px;background:#07111e;border:1px solid var(--border);border-radius:10px;color:var(--text);padding:11px}.form-grid textarea{min-height:120px;resize:vertical}.primary,.ghost,.action,.danger{border-radius:10px;padding:10px 14px;cursor:pointer}.primary{border:0;background:var(--cyan);color:#04111d;font-weight:800}.ghost,.action{background:#14263a;color:var(--text);border:1px solid var(--border)}.danger{background:#341a21;color:#ffb8bd;border:1px solid #6a303b}.error{color:var(--red);margin-top:12px}.app{display:grid;grid-template-columns:258px 1fr;min-height:100vh}aside{border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column;background:#081522;position:sticky;top:0;height:100vh}.side-brand{padding:0 8px 24px}nav{display:grid;gap:5px}nav button{border:0;text-align:left;padding:11px 13px;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;display:flex;justify-content:space-between;align-items:center}nav button.active,nav button:hover{background:#10253a;color:var(--text)}nav button span{font-size:11px}.aside-foot{margin-top:auto;border-top:1px solid var(--border);padding:18px 8px 0}.aside-foot strong,.aside-foot small{display:block}.aside-foot small{color:var(--muted);margin-bottom:10px}.aside-foot .ghost{width:100%}main{padding:30px 36px;max-width:1500px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}header h1{margin:3px 0}.eyebrow{margin:0;color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.12em}.subtitle{margin:0}.header-actions{display:flex;gap:10px;align-items:center}.badge{padding:6px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.avatar{display:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:#143047;color:var(--cyan);font-weight:800}.notice{padding:13px 15px;border-radius:12px;background:#0c2636;border:1px solid #17475d;color:#c8f0ff;margin:10px 0}.notice.warning{background:#302713;border-color:#665323;color:#ffe2a1}.notice.critical{background:#34171e;border-color:#72323e;color:#ffc3c7}.notice.success{background:#102b20;border-color:#245d43;color:#baf0d1}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric,.panel{background:linear-gradient(180deg,#0e1c2d,#0b1725);border:1px solid var(--border);border-radius:17px;padding:18px;box-shadow:0 10px 30px #0002}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:29px;margin:4px 0;letter-spacing:-.03em}.metric small{color:var(--muted)}.panel{margin-top:16px}.panel h2{font-size:17px;margin:0 0 14px}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.panel-head h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 9px;border-bottom:1px solid #1d3044;text-align:left;white-space:nowrap}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}td small{display:block;color:var(--muted)}.status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;text-transform:capitalize;background:#18283a}.status.good{color:var(--green)}.status.warn{color:var(--amber)}.status.bad{color:var(--red)}.status.info{color:var(--blue)}.amount{text-align:right}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-card{background:#0c1928;border:1px solid var(--border);border-radius:15px;padding:16px}.service-card .top{display:flex;justify-content:space-between;gap:10px}.service-card small{color:var(--muted)}.service-card p{margin:8px 0 0}.toolbar{display:flex;gap:10px;justify-content:flex-end;margin-bottom:12px;flex-wrap:wrap}.filters{display:grid;grid-template-columns:1fr 150px 150px 150px auto;gap:10px;align-items:end}.filters label{color:var(--muted);font-size:12px}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px;z-index:20}.modal-card{position:relative;width:min(720px,100%);max-height:90vh;overflow:auto;background:#0d1a2b;border:1px solid var(--border);border-radius:19px;padding:25px;box-shadow:0 30px 100px #000a}.close{position:absolute;right:12px;top:10px;background:none;color:var(--muted);border:0;font-size:26px;cursor:pointer}.form-grid{display:grid;gap:10px}.empty{padding:26px;color:var(--muted);text-align:center}.paybox{min-height:100px;margin:16px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hero{display:grid;grid-template-columns:1.4fr .6fr;gap:16px}.hero-copy{padding:24px}.hero-copy h2{font-size:23px;margin:0 0 8px}.hero-copy p{color:var(--muted);max-width:680px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-actions button{min-height:66px;text-align:left}.request-list{display:grid;gap:10px}.request-row{display:flex;justify-content:space-between;gap:16px;padding:13px;border:1px solid var(--border);border-radius:12px;background:#0a1623}.request-row small{display:block;color:var(--muted)}@media(max-width:1000px){.app{grid-template-columns:1fr}aside{position:sticky;top:0;z-index:4;height:auto;display:block;padding:12px;border-right:0;border-bottom:1px solid var(--border)}.side-brand{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap}.aside-foot{display:none}main{padding:20px}.grid4{grid-template-columns:1fr 1fr}.cards,.split,.hero{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.avatar{display:block}}@media(max-width:580px){.grid4{grid-template-columns:1fr}main{padding:16px}header{display:block}.header-actions{margin-top:10px}.filters{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.toolbar{justify-content:flex-start}}

/* v0.9.89.1 — light customer portal visual refresh */
:root{--bg:#f6f4ef;--panel:#ffffff;--panel2:#fbfaf7;--border:#e5e1da;--text:#18202b;--muted:#7c8490;--cyan:#ff5d32;--green:#26a66a;--amber:#cc8c20;--red:#d95157;--blue:#4d6f97}
body{background:#f7f5f1;color:var(--text)}.login-shell{background:linear-gradient(135deg,#f7f5f1,#efeae2)}.login-card{background:#fff;border-color:#e2ddd5;box-shadow:0 24px 70px #5b4a3820}.brand>span{background:#1b1b1b;color:#ff653d}.brand small{color:#f05d38;text-transform:uppercase;font-weight:800;letter-spacing:.12em}.login-card p,.subtitle{color:var(--muted)}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select{background:#fff;border-color:#d9d5ce;color:#202833}.primary{background:#ff5d32;color:#fff}.ghost,.action{background:#fff;color:#313844;border-color:#dcd7cf}.danger{background:#fff0f0;color:#bc4048;border-color:#efc5c8}.error{color:#c7464d}
.app{grid-template-columns:288px 1fr}aside{background:#f2f0eb;border-right:1px solid #ddd8d0;padding:24px 12px}.side-brand{padding:0 22px 30px}.side-brand>span{background:#1c1c1c}.side-brand strong{font-size:18px;letter-spacing:.08em}.side-brand small{font-size:10px}.side-brand nav{margin-top:8px}nav{gap:6px}nav button{color:#58606a;border-radius:0;padding:13px 18px;border-left:3px solid transparent;font-size:14px}nav button.active,nav button:hover{background:#f5ded6;color:#f05b36;border-left-color:#ff6035}.aside-foot{border-color:#ddd8d0;padding:18px 16px 0}.aside-foot small{color:#868d95}main{max-width:none;margin:0;padding:0 34px 42px;background:#faf9f6}header{margin:0 -34px 22px;padding:20px 34px;background:#fff;border-bottom:1px solid #ece8e1;align-items:center}header h1{font-size:20px;margin:0}.eyebrow{color:#f05d38}.badge{background:#fff;border-color:#e1ddd6;color:#69717c}.avatar{background:#fae2d9;color:#8f3a23;border:0}.notice{background:#fff4ef;border-color:#f2d2c7;color:#8c432f}.notice.warning{background:#fff7e8;border-color:#eedeb5;color:#835f18}.notice.critical{background:#fff1f1;border-color:#efc8cb;color:#994148}.notice.success{background:#edf9f2;border-color:#cce8d7;color:#2f7654}.metric,.panel{background:#fff;border-color:#e5e1da;box-shadow:0 7px 22px rgba(43,35,25,.06);color:#1c2430}.metric span,.metric small{color:#7b838d}.service-card{background:#fff;border-color:#e4dfd7}.panel{border-radius:15px}.panel h2{color:#19212c}.panel-head p,.service-card small,.request-row small{color:#7d858f}th,td{border-color:#ebe7e0}th{color:#8c929a}.status{background:#f0f1f2}.status.good{background:#e3f5eb;color:#1f8c59}.status.warn{background:#fff1ce;color:#966717}.status.bad{background:#fde8e8;color:#b3444a}.status.info{background:#e9eef4;color:#526d8c}.request-row{background:#fff;border-color:#e4dfd7}.modal{background:#1f1a1688}.modal-card{background:#fff;border-color:#dfdad2;box-shadow:0 30px 100px #2f251f35}.close{color:#777}
.portal-welcome{display:flex;justify-content:space-between;align-items:flex-start;padding:2px 0 20px}.portal-welcome h2{margin:0;font-size:36px;letter-spacing:-.035em;color:#131a24}.portal-welcome p{margin:5px 0 0;color:#737b86;font-size:15px}.portal-welcome>span{color:#777f88;font-size:13px;padding-top:12px}.portal-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portal-summary-card{border:1px solid #e6e1da;background:#fff;border-radius:15px;padding:20px;min-height:132px;text-align:left;display:grid;grid-template-columns:54px 1fr 18px;align-items:center;gap:14px;box-shadow:0 7px 22px rgba(43,35,25,.06);cursor:pointer;color:#1b2430}.summary-icon{width:54px;height:54px;border-radius:13px;background:#edf0f3;display:grid;place-items:center;font-size:23px;color:#485564}.summary-icon.orange{background:#ffebe3;color:#f05a33}.portal-summary-card small{display:block;color:#7f8791;font-size:10px;font-weight:800;letter-spacing:.08em}.portal-summary-card strong{display:block;font-size:28px;margin-top:4px}.portal-summary-card em{display:block;font-style:normal;color:#737b86;font-size:12px;margin-top:3px}.portal-summary-card>b{color:#7e848b;font-size:24px;font-weight:400}.portal-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.portal-list-card{background:#fff;border:1px solid #e6e1da;border-radius:15px;box-shadow:0 7px 22px rgba(43,35,25,.06);overflow:hidden}.portal-list-head{padding:17px 20px;border-bottom:1px solid #ebe7e1;display:flex;justify-content:space-between;align-items:center}.portal-list-head h3{margin:0;font-size:17px}.portal-list-head p{margin:3px 0 0;color:#7c838c;font-size:12px}.portal-list-head button{border:0;background:transparent;color:#f05d38;cursor:pointer}.portal-row{display:grid;grid-template-columns:1fr 100px 110px 18px;align-items:center;gap:10px;width:100%;padding:13px 20px;border:0;border-bottom:1px solid #eeeae4;background:#fff;color:#1b2430;text-align:left;cursor:pointer}.portal-row:hover{background:#fcfaf7}.portal-row:last-child{border-bottom:0}.portal-row strong,.portal-row small{display:block}.portal-row small{color:#7d858f;font-size:11px;margin-top:2px}.row-amount{text-align:right;font-weight:700}.portal-row>b{font-size:21px;color:#858b92;font-weight:400}.portal-action-strip{margin-top:20px;background:#fff;border:1px solid #e6e1da;border-radius:15px;padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 7px 22px rgba(43,35,25,.06)}.portal-action-strip h3{margin:0 0 4px}.portal-action-strip p{margin:0;color:#7b838d}.portal-action-strip>div:last-child{display:flex;gap:10px}
@media(max-width:1000px){.app{grid-template-columns:1fr}aside{background:#fff}.portal-summary-cards{grid-template-columns:1fr}.portal-dashboard-grid{grid-template-columns:1fr}.portal-welcome{display:block}.portal-welcome>span{display:block}.portal-action-strip{display:block}.portal-action-strip>div:last-child{margin-top:14px}}

/* OC-Core v0.9.89.3 — customer portal product polish */
.app{grid-template-columns:286px minmax(0,1fr)}
aside{background:#f4f1eb;border-right:1px solid #e1ddd5;padding:22px 12px}.side-brand{padding:0 20px 26px}.side-brand>span{width:44px;height:44px;border-radius:12px;background:#1e1e1e;color:#ff6038;font-weight:800;display:grid;place-items:center}.side-brand strong{letter-spacing:.03em;font-size:19px}.side-brand small{color:#f05d38;letter-spacing:.11em;font-weight:800}
nav{display:grid;gap:5px}nav button{display:flex;align-items:center;gap:12px;padding:12px 16px;border-left:3px solid transparent}.portal-nav-icon{width:24px;text-align:center;color:#4f5a66;font-size:15px}nav button.active .portal-nav-icon{color:#f05d38}
main{padding:0 36px 44px;background:#fbfaf7}header{margin:0 -36px 24px;padding:18px 36px;background:#fff;box-shadow:0 1px 0 #ece7df;min-height:88px}.header-actions{margin-left:auto}.portal-account-chip{display:flex;align-items:center;gap:12px}.portal-account-chip #portal-header-customer{font-weight:700;color:#27303b;font-size:13px}.badge{font-size:9px;padding:5px 8px}.avatar{display:grid;place-items:center;background:#fde5dc;color:#9f4329;border:0;width:38px;height:38px}
.portal-welcome{padding:6px 0 22px}.portal-welcome h2{font-size:35px}.portal-summary-card{min-height:138px;border-radius:16px}.portal-list-card{border-radius:16px}.portal-action-strip{border-radius:16px}.panel{border-radius:16px}.toolbar{margin-top:4px}
@media(max-width:1000px){.portal-account-chip #portal-header-customer{display:none}}
