:root{--navy:#19324a;--navy2:#24445f;--gold:#c99a3d;--bg:#f5f7fa;--card:#fff;--line:#e4e9ef;--text:#17212b;--muted:#6d7885;--success:#2f7d4a;--danger:#b33b3b;--shadow:0 10px 28px rgba(25,50,74,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.portal-shell{display:flex;min-height:100vh}.portal-sidebar{width:250px;background:#fff;border-right:1px solid var(--line);padding:22px 14px;position:fixed;inset:0 auto 0 0;overflow:auto}.portal-brand{font-size:21px;font-weight:800;padding:8px 12px 24px}.portal-brand span{color:var(--gold)}.nav-section{font-size:11px;font-weight:800;color:#9aa4af;text-transform:uppercase;letter-spacing:.12em;padding:18px 12px 7px}.portal-sidebar a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;text-decoration:none;color:#52606d;font-weight:600;font-size:14px;margin:2px 0}.portal-sidebar a:hover,.portal-sidebar a.active{background:#eef4f8;color:var(--navy)}.portal-sidebar .logout{color:var(--danger)}.portal-main{margin-left:250px;width:calc(100% - 250px)}.portal-topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:5}.portal-content{padding:30px;max-width:1500px}.page-title{font-size:26px;margin:0 0 6px}.page-subtitle{color:var(--muted);margin:0 0 26px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:20px}.stat-label{font-size:13px;color:var(--muted);font-weight:700}.stat-value{font-size:30px;font-weight:800;margin-top:8px;color:var(--navy)}.table-wrap{overflow:auto}.clean-table{width:100%;border-collapse:collapse}.clean-table th,.clean-table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);font-size:14px}.clean-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#edf1f5}.badge.pending,.badge.sent{background:#fff2cc;color:#7a5a00}.badge.confirmed,.badge.accepted,.badge.completed{background:#dff3e6;color:#21643a}.badge.cancelled,.badge.rejected{background:#fde3e3;color:#8a2929}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 15px;font-weight:700;text-decoration:none;cursor:pointer}.btn-primary{background:var(--navy);color:#fff}.btn-secondary{background:#edf2f6;color:var(--navy)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid #ced6df;border-radius:9px;background:#fff;font:inherit}.field textarea{min-height:110px}.alert{padding:12px 14px;border-radius:9px;margin-bottom:16px}.alert-success{background:#e5f5ea;color:#21643a}.alert-error{background:#fde8e8;color:#8a2929}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1.1fr;background:#fff}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px}.login-box{width:min(430px,100%)}.login-brand{font-size:27px;font-weight:800;margin-bottom:45px}.login-box h1{font-size:34px;margin:0 0 8px}.login-box p{color:var(--muted);margin:0 0 28px}.login-visual{background:linear-gradient(145deg,#f4f7f9,#e7eef3);display:flex;align-items:center;justify-content:center;padding:60px;position:relative;overflow:hidden}.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;border:85px solid rgba(25,50,74,.06);width:420px;height:420px}.login-visual:before{left:-180px;top:-180px}.login-visual:after{right:-220px;bottom:-220px}.login-copy{position:relative;z-index:1;max-width:520px}.login-copy h2{font-size:50px;line-height:1.03;color:var(--navy);margin:0 0 20px}.login-copy p{font-size:18px;color:#52606d}.mobile-menu{display:none}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.portal-sidebar{transform:translateX(-100%);z-index:20}.portal-sidebar.open{transform:none}.portal-main{margin-left:0;width:100%}.mobile-menu{display:inline-flex}.grid-4,.grid-2,.form-grid{grid-template-columns:1fr}.portal-content{padding:20px}.portal-topbar{padding:0 18px}}

/* Maher Blinds v1.0 admin compatibility and polished components */
.portal-content{width:100%;max-width:none}.portal-topbar{gap:20px}.portal-topbar strong{font-size:16px}.topbar-user{display:flex;align-items:center;gap:10px;margin-left:auto}.topbar-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#edf4ff;color:#175cd3;font-weight:800;overflow:hidden;flex:0 0 auto}.topbar-avatar img{width:100%;height:100%;object-fit:cover}.topbar-meta{line-height:1.15}.topbar-meta small{display:block;color:var(--muted);margin-top:3px}.account-menu{margin-left:auto;position:relative}.account-menu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:5px 8px;border-radius:10px}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover{background:#f3f5f7}.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:190px;background:#fff;border:1px solid #dde3e8;border-radius:10px;padding:7px;box-shadow:0 14px 35px #10203022}.account-dropdown a{display:block;padding:10px 12px;border-radius:7px;color:#1c2b3a;text-decoration:none}.account-dropdown a:hover{background:#f4f6f8}
.admin-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-actions h1{margin:0;font-size:28px}.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.admin-table th,.admin-table td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}.admin-table th{background:#f8fafc;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}.admin-table tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#fbfdff}.admin-table a{color:#175cd3;text-decoration:none;font-weight:600}.admin-table a:hover{text-decoration:underline}.table-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.table-card .admin-table{border:0;border-radius:0;box-shadow:none}.table-card-head{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.table-card-head h2{margin:0;font-size:16px}.thumb{width:88px!important;height:64px!important;max-width:88px!important;object-fit:cover!important;border-radius:9px;border:1px solid var(--line);display:block}.admin-table img:not(.thumb){max-width:88px;height:64px;object-fit:cover;border-radius:9px}.form-section{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:24px}.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}.form-group input,.form-group textarea,.form-group select,.filter-bar input,.filter-bar select,select{width:auto;max-width:100%;padding:10px 12px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;font:inherit;color:var(--text)}.form-group input,.form-group textarea,.form-group select{width:100%}.btn-outline{background:#fff;border:1px solid #d0d5dd;color:var(--navy)}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow);min-height:142px}.stat-card-top{display:flex;align-items:center;gap:12px}.stat-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:20px;background:#eaf2ff;color:#175cd3}.stat-icon.warn{background:#fff4d8;color:#b7791f}.stat-icon.success{background:#e6f7ed;color:#198754}.stat-icon.purple{background:#f0eaff;color:#6941c6}.stat-value{font-size:28px}.stat-link{display:inline-block;margin-top:15px;color:#175cd3;text-decoration:none;font-size:13px;font-weight:600}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.dashboard-main{min-width:0}.dashboard-side{display:flex;flex-direction:column;gap:18px}.dashboard-charts{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;margin-bottom:18px}.chart-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.chart-card h2{font-size:16px;margin:0 0 16px}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:30px;min-height:210px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#36b37e 0 var(--complete),#4385e8 var(--complete) var(--progress),#f5b82e var(--progress) var(--pending),#aeb7c2 var(--pending) 100%);position:relative}.donut:after{content:"";position:absolute;inset:34px;border-radius:50%;background:#fff}.chart-legend{display:grid;gap:12px;font-size:13px}.chart-legend span{display:flex;align-items:center;gap:9px}.legend-dot{width:10px;height:10px;border-radius:3px}.line-chart{width:100%;height:210px}.notification-list{display:grid}.notification-item{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.notification-item:last-child{border-bottom:0}.notification-icon{width:40px;height:40px;flex:0 0 40px;border-radius:10px;display:grid;place-items:center;background:#eaf2ff;color:#175cd3}.notification-copy strong{display:block;font-size:13px}.notification-copy span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{border:1px solid var(--line);border-radius:9px;padding:12px;text-decoration:none;font-size:13px;font-weight:650;background:#fff}.quick-grid a:hover{background:#f8fbff;border-color:#bcd1f5}.system-list{display:grid;gap:13px;font-size:13px}.system-row{display:flex;justify-content:space-between}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.page-heading h1{margin:0 0 5px;font-size:28px}.page-heading p{margin:0;color:var(--muted)}.notification-cards{display:grid;gap:12px}.notification-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.notification-card.unread{border-left:4px solid #175cd3;background:#fbfdff}.notification-card-actions{display:flex;gap:8px;align-items:center}.testimonial-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.content-section{margin-bottom:20px}.content-section h2{font-size:18px;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.badge-in-progress,.badge.in_progress{background:#e7f0ff;color:#175cd3}.badge-pending{background:#fff2cc;color:#7a5a00}.badge-completed,.badge-confirmed{background:#dff3e6;color:#21643a}.badge-cancelled,.badge-closed{background:#edf1f5;color:#475467}
@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(3,1fr)}.dashboard-layout{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1fr 1fr}.dashboard-charts{grid-template-columns:1fr}}@media(max-width:700px){.stat-grid,.dashboard-side{grid-template-columns:1fr}.admin-actions,.page-heading{align-items:stretch;flex-direction:column}.portal-topbar .topbar-meta{display:none}.admin-table{display:block;overflow-x:auto}.quick-grid{grid-template-columns:1fr}}
.profile-photo{width:82px;height:82px;flex:0 0 82px;border-radius:50%;overflow:hidden;background:#e8eef4;color:var(--navy);display:grid;place-items:center;font-size:28px;font-weight:800;border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}
.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-photo.sm{width:42px;height:42px;flex-basis:42px;font-size:15px;border-width:2px}
.account-caret{width:8px;height:8px;border-right:2px solid #52606d;border-bottom:2px solid #52606d;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;margin-left:3px}.account-menu[open] .account-caret{transform:rotate(225deg) translate(-2px,-2px)}.account-dropdown{overflow:hidden}.account-dropdown a+a{border-top:1px solid var(--line)}.portal-brand{padding:4px 10px 18px;display:flex;align-items:center;gap:11px;font-size:18px;color:var(--navy)}.portal-brand img{width:54px;height:54px;object-fit:contain;border-radius:50%}.customer-cell{display:flex;align-items:center;gap:11px;min-width:170px}.customer-cell .profile-photo{flex:none}.record-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.record-card-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.record-card-head h2{margin:0;font-size:17px}.record-card-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.action-links{display:flex;gap:8px;flex-wrap:wrap}.action-links a{padding:7px 10px;border-radius:7px;background:#eef4f8;text-decoration:none!important}.money{font-weight:750;white-space:nowrap}.balance-due{color:#a04418}.empty-state{text-align:center!important;padding:38px!important;color:var(--muted)}.table-wrap>table:not(.admin-table):not(.clean-table){width:100%;border-collapse:collapse;background:#fff}.table-wrap>table:not(.admin-table):not(.clean-table) th,.table-wrap>table:not(.admin-table):not(.clean-table) td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table-wrap>table:not(.admin-table):not(.clean-table) th{background:#f8fafc;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.045em}.table-wrap>table:not(.admin-table):not(.clean-table) tbody tr:hover{background:#fbfdff}
.message-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.message-threads a{display:grid;gap:4px;padding:12px;border-bottom:1px solid var(--line);text-decoration:none}.message-threads a.active{background:#eef4f8;border-radius:8px}.message-threads small{color:var(--muted)}.message-panel{padding:0;overflow:hidden}.message-scroll{height:480px;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.message-bubble{max-width:76%;padding:11px 14px;border-radius:14px;background:#edf2f6;line-height:1.5}.message-bubble.mine{align-self:flex-end;background:var(--navy);color:#fff}.message-bubble small{display:block;opacity:.7;font-size:11px;margin-bottom:4px}.message-compose{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid var(--line);background:#fff;position:sticky;bottom:0}.message-compose textarea{width:100%;min-height:54px;max-height:130px;resize:vertical;border:1px solid #ced6df;border-radius:10px;padding:11px;font:inherit}@media(max-width:800px){.message-layout{grid-template-columns:1fr}.message-scroll{height:380px}}

/* Sidebar category system — colour-codes each functional group so the sidebar reads at a glance */
.nav-section{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);margin-top:10px;padding:16px 12px 8px}
.nav-section:first-of-type{border-top:0;margin-top:0}
.nav-section:before{content:"";width:7px;height:7px;border-radius:50%;flex:none}
.nav-section.cat-overview:before{background:#6b7684}
.nav-section.cat-operations:before{background:#1d6fa5}
.nav-section.cat-billing:before{background:#1f9d55}
.nav-section.cat-website:before{background:#b7791f}
.nav-section.cat-admin:before{background:#a1352d}
.portal-sidebar a[data-cat] span:first-child{width:26px;height:26px;flex:0 0 26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;background:#eef1f5;color:#52606d}
.portal-sidebar a[data-cat="overview"] span:first-child{background:#eef0f3;color:#3d4a58}
.portal-sidebar a[data-cat="operations"] span:first-child{background:#e8f1fb;color:#1d6fa5}
.portal-sidebar a[data-cat="billing"] span:first-child{background:#e7f7ee;color:#1f9d55}
.portal-sidebar a[data-cat="customers"] span:first-child{background:#f3edfb;color:#6941c6}
.portal-sidebar a[data-cat="website"] span:first-child{background:#fdf3e0;color:#b7791f}
.portal-sidebar a[data-cat="admin"] span:first-child{background:#fbeaea;color:#a1352d}
.portal-sidebar a.active{box-shadow:inset 3px 0 0 var(--gold)}
.portal-sidebar a b{margin-left:auto;background:var(--danger);color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:2px 7px;min-width:18px;text-align:center;line-height:1.4}

/* General page polish — gives shared components a slightly more designed, branded feel */
.record-card{border-top:3px solid var(--gold)}
.card{transition:box-shadow .15s ease}
.stat-card{transition:transform .15s ease,box-shadow .15s ease}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(25,50,74,.12)}
.page-title,.page-heading h1,.admin-actions h1{position:relative;padding-left:14px}
.page-title:before,.page-heading h1:before,.admin-actions h1:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:3px;background:var(--gold)}
.btn-primary{transition:background .15s ease}
.btn-primary:hover{background:var(--navy2)}
.btn-secondary{background:#faf1de;color:#8a6620;border:1px solid rgba(201,154,61,.4);transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.btn-secondary:hover{background:var(--gold);color:#fff;border-color:var(--gold);box-shadow:0 4px 12px rgba(201,154,61,.4);transform:translateY(-1px)}
.badge{letter-spacing:.02em}

/* Shared search/filter bar used across list pages (messages, customers, quotations, invoices) */
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1.1rem;padding:0 18px}
.filter-bar input[type=text],.filter-bar input[type=search]{padding:.5rem .8rem;border:1px solid #ccd3db;border-radius:8px;font-size:.9rem;min-width:220px;flex:1;max-width:340px}
.filter-bar select{padding:.5rem .7rem;border:1px solid #ccd3db;border-radius:8px;font-size:.9rem;background:#fff}
.filter-bar .btn-filter{padding:.5rem 1.1rem;border-radius:8px;border:none;background:var(--navy);color:#fff;cursor:pointer;font-size:.9rem;font-weight:700}
.filter-bar .btn-filter:hover{background:var(--navy2)}
.filter-bar .btn-reset{padding:.5rem .9rem;border-radius:8px;border:1px solid #ccd3db;background:#fff;color:#555;cursor:pointer;font-size:.9rem;text-decoration:none}
.tbl-summary{font-size:.85rem;color:var(--muted);margin:0;padding:10px 18px 0}
.portal-brand{display:flex!important;align-items:center!important;gap:11px!important;text-align:left!important;padding:4px 8px 18px!important}.portal-brand img{width:58px!important;height:58px!important;flex:0 0 58px!important;border-radius:50%!important;object-fit:contain!important;background:transparent!important;image-rendering:auto;box-shadow:0 1px 5px rgba(6,26,52,.18)}.portal-brand>div{display:flex!important;flex-direction:column!important;color:var(--navy);font-size:17px;line-height:1.08;white-space:nowrap}.portal-brand>div span{display:block;color:var(--gold);font-size:.88em;margin-top:4px}.chat-head img,.chat-line img{border-radius:8px!important;object-fit:contain;background:#061a34}
