:root {
    --navy: #062849;
    --navy-deep: #031d37;
    --green: #2eaa4f;
    --green-soft: #eaf8ee;
    --blue: #2f6fe4;
    --orange: #ff8b18;
    --purple: #7654db;
    --red: #ef4d55;
    --page: #f4f7fb;
    --text: #10213d;
    --muted-new: #6b7890;
    --border-new: #e3e9f1;
    --sidebar-width: 248px;
}

.admin-body { background: var(--page); color: var(--text); font-family: Inter, "Segoe UI", Arial, sans-serif; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:30; width:var(--sidebar-width); display:flex; flex-direction:column; overflow-y:auto; color:#fff; background:linear-gradient(180deg, var(--navy-deep), var(--navy)); box-shadow:8px 0 28px rgba(3,29,55,.12); }
.sidebar-brand { height:80px; padding:18px 22px; display:flex; align-items:center; gap:13px; border-bottom:1px solid rgba(255,255,255,.08); }
.sidebar-logo { width:42px; height:42px; flex:0 0 42px; object-fit:contain; border-radius:7px; background:#fff; filter:drop-shadow(0 4px 8px rgba(0,0,0,.16)); }
.sidebar-brand strong { display:block; font-size:18px; letter-spacing:.3px; color:#fff; }
.sidebar-brand em { color:#46d34e; font-style:normal; }
.sidebar-brand small { display:block; margin-top:3px; color:#c4d3e4; font-size:11px; }
.sidebar-nav { flex:1; padding:14px 12px 24px; }
.nav-section { position:relative; margin:18px 9px 7px; overflow:hidden; color:#42d44f; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.nav-section:after { content:""; position:absolute; top:50%; left:145px; right:0; height:1px; background:rgba(255,255,255,.11); }
.sidebar-link { display:flex; align-items:center; gap:12px; min-height:38px; margin:2px 0; padding:8px 11px; border-radius:7px; color:#edf4fb; font-size:13px; font-weight:500; transition:.18s ease; }
.sidebar-link:hover { color:#fff; background:rgba(255,255,255,.08); transform:translateX(2px); }
.sidebar-link.active { color:#55dd5c; background:rgba(48,174,79,.18); box-shadow:inset 3px 0 #3dce52; }
.nav-icon { width:21px; height:21px; display:grid; place-items:center; flex:0 0 21px; color:currentColor; font-size:16px; font-weight:700; }
.sidebar-footer { padding:14px 15px 20px; }
.energy-art { display:flex; gap:10px; align-items:center; padding:12px; border:1px solid rgba(69,212,80,.2); border-radius:10px; background:rgba(0,16,31,.28); }
.energy-art > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#42d64f; background:rgba(66,214,79,.13); font-size:20px; }
.energy-art b,.energy-art small { display:block; }.energy-art b { font-size:12px; }.energy-art small { margin-top:3px; color:#9eb3c8; font-size:9px; }
.admin-shell { min-height:100vh; margin-left:var(--sidebar-width); }
.admin-header { position:sticky; top:0; z-index:20; height:66px; display:flex; align-items:center; gap:18px; padding:0 24px; border-bottom:1px solid var(--border-new); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.header-icon { width:38px; height:38px; min-height:38px; padding:0; display:grid; place-items:center; border:0; border-radius:9px; color:#1c3353; background:transparent; font-size:19px; }
.header-icon:hover { color:var(--green); background:#f1f5f9; box-shadow:none; transform:none; }
.sidebar-toggle { font-size:21px; }
.header-search { width:min(340px, 36vw); height:38px; margin-left:auto; display:flex; align-items:center; gap:8px; padding:0 10px; border:1px solid #dfe5ed; border-radius:8px; background:#fff; color:#78869c; }
.header-search input { height:34px; min-height:34px; padding:0; border:0; box-shadow:none; font-size:12px; }
.header-search input:focus { box-shadow:none; }.header-search kbd { padding:2px 6px; border:1px solid #e3e8ef; border-radius:5px; color:#8b97a9; background:#f8fafc; font:11px inherit; }
.header-actions { display:flex; align-items:center; gap:8px; }
.header-add { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); font-size:22px; line-height:1; box-shadow:0 5px 12px rgba(46,170,79,.25); }
.profile-block { display:flex; align-items:center; gap:9px; margin-left:7px; padding-left:13px; border-left:1px solid #e7ebf0; }
.profile-avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#1b4772,#33ae58); font-size:13px; font-weight:800; }
.profile-block b,.profile-block small { display:block; white-space:nowrap; }.profile-block b { font-size:12px; }.profile-block small { margin-top:2px; color:#7a8798; font-size:10px; }
.logout-form { margin:0; }.logout-button { font-size:18px; }
.password-layout { max-width:900px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:16px; }.password-form { margin:0; }.password-form .field { margin-bottom:16px; }.password-actions { display:flex;gap:8px;margin-top:4px; }.password-guidance { display:flex;align-items:flex-start;gap:13px;padding:20px;border:1px solid #dce8df;border-radius:10px;background:#f4fbf6; }.password-guidance > span { width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;color:#fff;background:var(--green);font-size:19px; }.password-guidance h2 { margin:2px 0 9px;font-size:15px; }.password-guidance p { margin:0 0 10px;color:#64748b;font-size:12px;line-height:1.5; }
@media (max-width:700px) { .password-layout { grid-template-columns:1fr; }.password-actions { display:grid;grid-template-columns:1fr 1fr; }.password-actions .btn,.password-actions button { width:100%; } }
.admin-body .wrap { max-width:1600px; padding:22px 22px 44px; }
.admin-body .page-hero { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.admin-body .page-hero h1,.admin-body .head h1 { font-size:24px; color:var(--text); }
.admin-body .overline { margin-bottom:5px; color:var(--green); font-size:10px; letter-spacing:.1em; }
.admin-body .muted { color:var(--muted-new); font-size:13px; }
.admin-body .card,.admin-body .panel { border:1px solid var(--border-new); border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(22,44,76,.045); }
.admin-body .btn,.admin-body button { border-color:var(--green); border-radius:7px; background:var(--green); font-size:12px; }
.admin-body .btn.secondary { color:#2b5fda; border-color:#cfdafb; background:#fff; }
.admin-body .btn.warn { border-color:#f06a6a; background:#f06a6a; }
.admin-body input,.admin-body select,.admin-body textarea { border-color:#dfe6ef; border-radius:6px; font-size:13px; }
.admin-body table { border-color:var(--border-new); border-radius:8px; }
.admin-body th { color:#657289; background:#f7f9fc; font-size:10px; }.admin-body td { font-size:12px; }.admin-body th,.admin-body td { border-color:#edf0f4; padding:10px 11px; }
.admin-body .badge { border-radius:5px; background:#e9f8ee; color:#269744; font-size:10px; }.admin-body .badge.gold { background:#fff5e8; color:#d87a13; }.admin-body .badge.red { background:#fff0f1; color:#df424a; }
.admin-body .link-strong { color:#285fc8; }
.admin-body .metric { min-height:116px; padding-left:70px; display:flex; flex-direction:column; justify-content:center; }
.admin-body .metric:after { right:auto; left:17px; top:27px; width:40px; height:40px; background:linear-gradient(145deg,#7455df,#8c6aef); }
.admin-body .metric span { color:#657289; font-size:10px; }.admin-body .metric b { margin-top:7px; color:#172641; font-size:21px; }
.sidebar-backdrop { display:none; }
.location-help { margin:-2px 0 13px; color:#718096; font-size:11px; }
.dealer-search-form { display:grid;grid-template-columns:180px minmax(240px,1fr) auto auto;align-items:end;gap:9px;padding:0 18px 15px; }.dealer-search-form label { margin-bottom:5px;color:#68758a;font-size:10px;text-transform:uppercase;letter-spacing:.05em; }.dealer-search-form select,.dealer-search-form input { height:40px;min-height:40px; }.dealer-search-form button,.dealer-search-form .btn { height:40px;min-height:40px; }.dealer-search-summary { margin:0;padding:0 18px 13px;color:#68758a;font-size:12px; }
@media (max-width:600px) { .dealer-search-form { grid-template-columns:1fr;padding:0 14px 14px; }.dealer-search-form button,.dealer-search-form .btn { width:100%; } }
.purchase-dialog { width:min(1080px,calc(100vw - 28px));max-height:90vh;padding:0;border:0;border-radius:12px;color:var(--text);background:#fff;box-shadow:0 24px 80px rgba(3,29,55,.28); }.purchase-dialog::backdrop { background:rgba(3,25,47,.62);backdrop-filter:blur(3px); }.purchase-dialog-head { position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 22px;border-bottom:1px solid #e6ebf2;background:#fff; }.purchase-dialog-head h2 { margin:0;font-size:19px; }.purchase-dialog-head p:last-child { margin:5px 0 0;color:#748097;font-size:11px; }.dialog-close { width:35px;height:35px;min-height:35px;padding:0;border:0;border-radius:50%;color:#526177;background:#f1f4f8;font-size:23px; }.dialog-close:hover { color:#e14d55;background:#fff0f1;box-shadow:none;transform:none; }.purchase-dialog > .error { margin:14px 20px 0; }.purchase-dialog-form { padding:20px 22px 22px; }.dialog-purchase-table { overflow-x:auto; }.dialog-purchase-table table { min-width:820px; }.purchase-dialog-actions { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px; }.purchase-dialog-actions > div { display:flex;gap:8px; }
.sale-entry-dialog { width:min(1220px,calc(100vw - 28px));max-height:92vh;padding:0;border:0;border-radius:12px;color:var(--text);background:#fff;box-shadow:0 24px 80px rgba(3,29,55,.3); }.sale-entry-dialog::backdrop { background:rgba(3,25,47,.64);backdrop-filter:blur(3px); }.sale-dialog-head { position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e6ebf2;background:#fff; }.sale-dialog-head h2 { margin:0;font-size:19px; }.sale-dialog-head p:last-child { margin:5px 0 0;color:#748097;font-size:11px; }.sale-dialog-form { padding:19px 22px 22px; }.sale-dialog-alerts { margin:14px 22px 0; }.sale-dialog-alerts ul { margin:7px 0 0;padding-left:18px; }.sale-dialog-actions { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px; }.sale-dialog-actions > div { display:flex;gap:8px; }
.dealer-row-actions { display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap; }.dealer-row-actions form { margin:0; }.record-details-dialog { width:min(680px,calc(100vw - 28px));max-height:88vh;padding:0;border:0;border-radius:12px;color:var(--text);background:#fff;box-shadow:0 24px 80px rgba(3,29,55,.3); }.record-details-dialog::backdrop { background:rgba(3,25,47,.64);backdrop-filter:blur(3px); }.record-details-head { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 22px;border-bottom:1px solid #e6ebf2; }.record-details-head .overline { margin-bottom:4px; }.record-details-head h2 { margin:0;font-size:20px; }.record-details-body { padding:20px 22px;overflow-y:auto; }.record-details-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0; }.record-details-grid > div { min-width:0;padding:12px;border:1px solid #e4eaf1;border-radius:8px;background:#f8fafc; }.record-details-grid dt { margin-bottom:5px;color:#738097;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase; }.record-details-grid dd { margin:0;color:#172641;font-size:13px;font-weight:650;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap; }.record-details-grid .record-details-wide { grid-column:1 / -1; }.record-details-footer { display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid #e6ebf2;background:#fbfcfe; }
@media (max-width:600px) { .purchase-dialog,.sale-entry-dialog { width:calc(100vw - 16px);max-height:94vh; }.purchase-dialog-head,.purchase-dialog-form,.sale-dialog-head,.sale-dialog-form { padding:15px; }.purchase-dialog-actions,.sale-dialog-actions { align-items:stretch;flex-direction:column; }.purchase-dialog-actions > div,.sale-dialog-actions > div { display:grid;grid-template-columns:1fr 1fr; }.purchase-dialog-actions .btn,.purchase-dialog-actions button,.sale-dialog-actions .btn,.sale-dialog-actions button { width:100%; } }
@media (max-width:600px) { .record-details-dialog { width:calc(100vw - 16px);max-height:92vh; }.record-details-head,.record-details-body,.record-details-footer { padding:15px; }.record-details-grid { grid-template-columns:1fr; }.record-details-grid .record-details-wide { grid-column:auto; }.dealer-row-actions { align-items:stretch;flex-direction:column; }.dealer-row-actions .btn,.dealer-row-actions button { width:100%; } }
.manual-invoice-label { display:flex;align-items:center;gap:7px; }.manual-invoice-label input { width:15px;min-height:15px; }.invoice-number-field > small,.price-source { display:block;margin-top:5px;color:#758196;font-size:9px; }.field-warning { display:block;margin-top:5px;color:#dc3545;font-size:10px;font-weight:700; }.sale-items-heading { margin-top:8px !important; }.invoice-entry-table { overflow-x:auto; }.invoice-entry-table table { min-width:880px; }.invoice-entry-table .sale-price { min-width:110px; }.sale-totals-entry { display:flex;align-items:flex-end;justify-content:flex-end;gap:18px;margin-top:15px; }.sale-totals-entry .field { width:220px;margin:0; }.sale-preview { min-width:260px;display:grid;gap:7px;padding:10px 13px;border:1px solid #e1e7ef;border-radius:7px;background:#f8fafc; }.sale-preview span { display:flex;justify-content:space-between;gap:15px;color:#68758a;font-size:11px; }.sale-preview b { color:#172640; }.price-source { white-space:nowrap; }
@media (max-width:600px) { .sale-totals-entry { align-items:stretch;flex-direction:column; }.sale-totals-entry .field,.sale-preview { width:100%;min-width:0; } }
.brand.with-logo:before { display:none; }
.guest-logo { width:38px; height:38px; object-fit:contain; border-radius:7px; background:#fff; }

/* Login screen */
.login-body { min-height:100vh;color:#0d1b33;background:#052644;font-family:Inter,"Segoe UI",Arial,sans-serif; }
.login-body .topbar { display:none; }
.login-body .wrap { width:100%;max-width:none;min-height:100vh;margin:0;padding:0; }
.login-screen { min-height:100vh;display:grid;grid-template-columns:minmax(460px,1fr) minmax(520px,1fr);background:#062847; }
.login-showcase { position:relative;min-height:100vh;overflow:hidden;padding:48px clamp(42px,6vw,90px);color:#fff;background:radial-gradient(circle at 76% 24%,rgba(41,193,84,.28),transparent 30%),linear-gradient(135deg,#031d39 0%,#063554 52%,#0a553d 100%); }
.login-showcase:before { content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(58,213,91,.3) 1px,transparent 1px);background-size:19px 19px;mask-image:linear-gradient(115deg,transparent 15%,#000 64%,transparent 92%);opacity:.45; }
.login-showcase:after { content:"";position:absolute;width:650px;height:650px;right:-330px;bottom:-170px;border:1px solid rgba(69,222,98,.32);border-radius:50%;box-shadow:0 0 0 72px rgba(42,199,76,.035),0 0 0 145px rgba(42,199,76,.025); }
.login-brand,.login-copy,.login-illustration { position:relative;z-index:1; }
.login-brand { display:flex;align-items:center;gap:15px; }
.login-brand img { width:52px;height:52px;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18); }
.login-brand strong { display:block;font-size:24px;letter-spacing:.3px; }.login-brand em { color:#43d757;font-style:normal; }.login-brand small { display:block;margin-top:3px;color:#d8e7f1;font-size:14px; }
.login-copy { margin-top:62px;max-width:520px; }
.login-copy h1 { margin:0;font-size:clamp(38px,4vw,58px);line-height:1.12;letter-spacing:-1.4px; }.login-copy h1 span { color:#44d75a; }
.login-copy > p { max-width:480px;margin:24px 0 0;color:#e2ecf5;font-size:18px;line-height:1.55; }
.login-features { display:grid;gap:22px;margin-top:42px; }
.login-feature { display:flex;align-items:flex-start;gap:15px; }.login-feature-icon { width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:13px;color:#43dc5c;background:rgba(75,217,100,.12);font-size:22px;box-shadow:inset 0 0 0 1px rgba(82,220,107,.08); }
.login-feature strong,.login-feature small { display:block; }.login-feature strong { margin:2px 0 5px;font-size:16px; }.login-feature small { max-width:300px;color:#d2e1ec;font-size:13px;line-height:1.45; }
.login-illustration { position:absolute;left:20px;right:10px;bottom:0;height:29vh;min-height:220px; }.login-illustration svg { width:100%;height:100%;display:block; }
.login-form-panel { min-height:100vh;display:grid;place-items:center;padding:32px clamp(30px,6vw,96px);border-radius:28px 0 0 28px;background:linear-gradient(145deg,#fff 0%,#fbfcff 100%);box-shadow:-20px 0 70px rgba(0,14,31,.18); }
.login-card { width:min(100%,540px);text-align:center; }.login-welcome-icon { width:116px;height:116px;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#e7f8ed,#f3fbff);box-shadow:inset 0 0 0 10px rgba(255,255,255,.72); }
.login-welcome-icon span { width:62px;height:78px;display:grid;place-items:center;border:5px solid #4ed276;border-radius:15px;color:#4be066;background:linear-gradient(#07533e,#072b3d);font-size:32px;box-shadow:0 10px 25px rgba(36,180,76,.25),inset 0 0 15px rgba(58,231,96,.35); }
.login-card h2 { margin:0;color:#0b1830;font-size:34px;letter-spacing:-.7px; }.login-subtitle { margin:9px 0 36px;color:#6c7890;font-size:17px; }
.login-card form { text-align:left; }.login-field { margin-bottom:22px; }.login-field label { margin-bottom:9px;color:#263751;font-size:14px;font-weight:600; }
.login-input-wrap { position:relative; }.login-input-wrap input { height:58px;min-height:58px;padding:0 52px;border:1px solid #d5dce7;border-radius:8px;color:#17253d;background:#fff;font-size:15px;box-shadow:0 2px 7px rgba(23,43,74,.025); }
.login-input-wrap input:focus { border-color:#31ad50;box-shadow:0 0 0 3px rgba(49,173,80,.13); }.login-input-wrap input::placeholder { color:#9ba6b8; }
.login-input-icon { position:absolute;z-index:1;left:18px;top:50%;transform:translateY(-50%);color:#75829a;font-size:22px;line-height:1; }.login-lock { font-size:17px; }
.password-visibility { position:absolute;right:8px;top:50%;transform:translateY(-50%);width:42px;height:42px;min-height:42px;padding:0;border:0;color:#6e7c93;background:transparent;font-size:19px; }.password-visibility:hover { color:#2ba74b;background:#f0faf3;box-shadow:none;transform:translateY(-50%); }
.login-options { display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-2px 0 26px; }.login-remember { display:flex;align-items:center;gap:9px;margin:0;color:#526078;font-size:13px;font-weight:500;cursor:pointer; }.login-remember input { width:18px;height:18px;min-height:18px;margin:0;accent-color:#2fac50; }.login-secure-note { color:#2ba34a;font-size:12px;font-weight:600; }
.login-submit { width:100%;height:58px;min-height:58px;gap:10px;border-color:#2ba54b;border-radius:8px;background:linear-gradient(90deg,#31b151,#249b43);font-size:16px;box-shadow:0 9px 22px rgba(38,160,70,.2); }.login-submit:hover { border-color:#218c3c;background:linear-gradient(90deg,#29a849,#218f3d);box-shadow:0 11px 26px rgba(38,160,70,.27); }
.login-alert,.login-setup-notice { margin:0 0 20px;padding:11px 13px;border-radius:7px;text-align:left;font-size:13px;line-height:1.45; }.login-alert { border:1px solid #fecdd3;color:#a3183b;background:#fff1f2; }.login-setup-notice { border:1px solid #b7e7c2;color:#176b2c;background:#effbf2; }.login-setup-notice a { font-weight:800;text-decoration:underline; }
.login-divider { display:flex;align-items:center;gap:17px;margin:32px 0 22px;color:#8792a5;font-size:12px; }.login-divider:before,.login-divider:after { content:"";height:1px;flex:1;background:#e1e6ed; }
.login-trust-row { display:flex;justify-content:center;gap:22px;color:#66748a;font-size:12px; }.login-trust-row span::first-letter { color:#2dab4d; }
.login-copyright { margin:44px 0 0;color:#8994a6;font-size:12px; }.login-mobile-brand { display:none; }
@media (max-width:1000px) { .login-screen { grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr); }.login-showcase { padding:38px; }.login-copy { margin-top:52px; }.login-copy h1 { font-size:38px; }.login-copy > p { font-size:16px; }.login-illustration { height:24vh; }.login-form-panel { padding:28px 44px; } }
@media (max-width:800px) { .login-screen { display:block;background:#fff; }.login-showcase { min-height:280px;padding:30px 28px;border-radius:0 0 26px 26px; }.login-brand { display:none; }.login-copy { margin:0; }.login-copy h1 { font-size:34px; }.login-copy > p { max-width:510px;margin-top:15px;font-size:15px; }.login-features { display:none; }.login-illustration { left:auto;right:0;width:44%;height:190px;min-height:0;opacity:.5; }.login-form-panel { min-height:calc(100vh - 280px);padding:30px 22px 36px;border-radius:0;box-shadow:none; }.login-mobile-brand { display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:25px; }.login-mobile-brand img { width:42px;height:42px;object-fit:contain;border-radius:7px;background:#fff; }.login-mobile-brand strong { color:#0c2e4c;font-size:19px; }.login-mobile-brand span { color:#2fb34d; }.login-welcome-icon { display:none; }.login-card h2 { font-size:29px; }.login-subtitle { margin-bottom:28px; } }
@media (max-width:520px) { .login-showcase { min-height:225px;padding:26px 20px; }.login-copy h1 { font-size:29px;line-height:1.15; }.login-copy > p { width:80%;font-size:13px; }.login-illustration { width:48%;height:150px; }.login-form-panel { min-height:calc(100vh - 225px);padding:25px 18px 32px; }.login-mobile-brand { margin-bottom:18px; }.login-card h2 { font-size:26px; }.login-subtitle { margin:7px 0 23px;font-size:14px; }.login-input-wrap input { height:52px;min-height:52px;font-size:16px; }.login-options { align-items:flex-start; }.login-secure-note { max-width:120px;text-align:right; }.login-submit { height:52px;min-height:52px; }.login-trust-row { gap:10px;flex-wrap:wrap; }.login-copyright { margin-top:30px; } }

@media (max-width: 1100px) {
    :root { --sidebar-width:220px; }
    .admin-header { padding:0 16px; }.profile-block > span:last-child { display:none; }
}
@media (max-width: 820px) {
    .admin-sidebar { transform:translateX(-100%); transition:transform .22s ease; width:248px; }
    .admin-shell { margin-left:0; }
    .sidebar-open .admin-sidebar { transform:translateX(0); }
    .sidebar-open .sidebar-backdrop { display:block; position:fixed; inset:0; z-index:25; background:rgba(3,22,41,.52); }
    .header-search { width:min(300px,48vw); }.admin-body .wrap { padding:18px 14px 36px; }
}
@media (max-width: 600px) {
    .admin-header { height:58px; gap:6px; padding:0 10px; }.header-search { margin-left:0; flex:1; width:auto; }.header-search kbd { display:none; }
    .header-actions { gap:2px; }.header-actions .header-icon { display:none; }.header-add { width:30px;height:30px; }.profile-block { margin-left:2px;padding-left:7px; }.profile-block > span:last-child { display:none; }.logout-button { display:grid !important; }
    .admin-body .metric { min-height:100px; }.admin-body .page-hero { gap:12px; }
}

@media print {
    .admin-sidebar,.admin-header,.sidebar-backdrop { display:none !important; }
    .admin-shell { margin-left:0; }.admin-body .wrap { max-width:none; padding:0; }
}

/* Purchase invoice - reference PDF layout */
.purchase-invoice-toolbar { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px; }.purchase-invoice-toolbar h1 { margin:0;font-size:24px; }.purchase-invoice-toolbar .muted { margin:6px 0 0; }
.purchase-document { position:relative; width:min(100%,960px); min-height:1120px; margin:0 auto; padding:42px 48px 70px; color:#080808; border:1px solid #dfe3e8; background:#fff; box-shadow:0 10px 36px rgba(22,37,61,.08); font-family:Arial,Helvetica,sans-serif; }
.purchase-document-header img { width:86px;height:62px;object-fit:contain;object-position:left center; }.purchase-header-line { height:1px;margin-top:7px;background:#111; }
.purchase-reference { margin-top:46px; }.purchase-reference h1 { margin:0 0 17px;font-size:22px;font-weight:500; }.purchase-reference p { margin:0;font-size:17px; }
.purchase-parties { display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:38px; }.party-block { min-width:0; }.party-block h2 { margin:0 0 17px;font-size:17px;font-weight:500; }.party-block h3 { margin:0 0 17px;font-size:22px;font-weight:500; }.party-block p { margin:2px 0;font-size:16px;line-height:1.22;overflow-wrap:anywhere; }
.purchase-items-table { margin-top:24px;overflow-x:auto; }.purchase-items-table table { min-width:690px;border:0;border-radius:0;table-layout:fixed; }.purchase-items-table th,.purchase-items-table td { padding:4px 7px;border:0;font-size:15px;text-transform:none; }.purchase-items-table th { color:#fff;background:#050505;font-size:15px;font-weight:400;letter-spacing:0; }.purchase-items-table th:nth-child(1) { width:18%; }.purchase-items-table th:nth-child(2) { width:17%; }.purchase-items-table th:nth-child(3) { width:8%; }.purchase-items-table th:nth-child(4) { width:18%; }.purchase-items-table th:nth-child(5) { width:17%; }.purchase-items-table th:nth-child(6) { width:18%; }.purchase-items-table tbody tr:hover td { background:#fff; }.purchase-items-table td strong { font-weight:400; }.purchase-items-table td small { display:block;margin-top:2px;color:#687386;font-size:9px; }
.purchase-total-box { margin-top:22px;border:1px solid #111; }.total-row { display:grid;grid-template-columns:34% 34% 32%;min-height:35px; }.total-row + .total-row { border-top:1px solid #111; }.total-row > * { margin:0;padding:8px;border-left:1px solid #111;font-size:16px; }.total-row > *:first-child { border-left:0; }.total-row p strong { font-weight:500; }.words-row { min-height:56px; }.words-row p { line-height:1.22; }
.purchase-tax-note { margin:11px 0 0;color:#3f4650;font-size:11px; }.purchase-computer-note { margin:21px 0 0;font-size:16px; }.purchase-document-footer { position:absolute;left:48px;right:48px;bottom:30px; }.purchase-document-footer span { display:block;height:1px;background:#111; }.purchase-document-footer b { display:block;margin-top:6px;text-align:right;font-size:14px;font-weight:400; }
@media (max-width:700px) { .purchase-invoice-toolbar { flex-direction:column; }.purchase-document { min-height:0;padding:25px 22px 45px; }.purchase-reference { margin-top:30px; }.purchase-parties { grid-template-columns:1fr;gap:25px;margin-top:30px; }.purchase-document-footer { position:static;margin-top:55px; }.purchase-total-box { min-width:620px; }.purchase-total-box,.purchase-items-table { overflow-x:auto; }.purchase-tax-note { white-space:normal; } }
@media print {
    @page { size:A4 portrait;margin:0; }
    html,body,.admin-body { background:#fff !important; }
    .purchase-invoice-toolbar { display:none !important; }
    .purchase-document { width:210mm;min-height:297mm;margin:0;padding:15mm 14mm 18mm;border:0;box-shadow:none; }
    .purchase-document-header img { width:25mm;height:18mm; }.purchase-reference { margin-top:13mm; }.purchase-parties { margin-top:11mm;gap:15mm; }.party-block p { font-size:11pt; }.purchase-items-table table { min-width:0; }.purchase-items-table th,.purchase-items-table td { font-size:10.5pt; }.purchase-total-box { break-inside:avoid; }.purchase-document-footer { left:14mm;right:14mm;bottom:8mm; }
}

/* Sale invoice - reference PDF layout */
.sale-invoice-toolbar { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px; }.sale-invoice-toolbar h1 { margin:0;font-size:24px; }.sale-invoice-toolbar .muted { margin:6px 0 0; }
.sale-document { position:relative;width:min(100%,960px);min-height:1240px;margin:0 auto;padding:35px 42px 62px;color:#080808;border:1px solid #dfe3e8;background:#fff;box-shadow:0 10px 36px rgba(22,37,61,.08);font-family:Arial,Helvetica,sans-serif; }
.sale-doc-header img { width:75px;height:57px;object-fit:contain;object-position:left center; }.sale-doc-header > span { display:block;height:1px;margin-top:4px;background:#111; }
.sale-reference-boxes,.sale-party-boxes { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:45px 7px 0; }.sale-reference-boxes > div,.sale-party-boxes > div { border:1px solid #d2d2d2; }.sale-reference-cell { min-height:94px;padding:8px; }.sale-reference-cell p { margin:0;padding:2px 5px;border:1px solid #d6d6d6;font-size:17px;line-height:1.05; }.sale-logo-cell { min-height:94px;display:grid;place-items:center; }.sale-logo-cell img { width:112px;height:77px;object-fit:contain; }
.sale-party-boxes { margin-top:12px; }.sale-party-cell { min-height:244px;padding:38px 9px 10px; }.sale-party-cell h2 { margin:0 0 15px;font-size:19px;font-weight:500; }.sale-party-cell h3 { margin:0 0 17px;font-size:15px;font-weight:500; }.sale-party-cell p { margin:1px 0;font-size:15px;line-height:1.16;overflow-wrap:anywhere; }
.sale-goods-table { margin-top:22px;overflow-x:auto; }.sale-goods-table table { min-width:760px;table-layout:fixed;border-collapse:collapse;border-radius:0;border-color:#cfcfcf; }.sale-goods-table th,.sale-goods-table td { padding:6px 7px;border:1px solid #cfcfcf;font-size:12px;text-transform:none; }.sale-goods-table th { color:#fff;background:#050505;font-weight:400;letter-spacing:0; }.sale-goods-table th:nth-child(1) { width:7%; }.sale-goods-table th:nth-child(2) { width:23%; }.sale-goods-table th:nth-child(3) { width:14%; }.sale-goods-table th:nth-child(4) { width:12%; }.sale-goods-table th:nth-child(5) { width:15%; }.sale-goods-table th:nth-child(6) { width:10%; }.sale-goods-table th:nth-child(7) { width:19%; }.sale-goods-table tbody tr:hover td { background:#fff; }.sale-summary-row td { min-height:28px; }.sale-total-row td { font-size:13px; }
.sale-words { margin:21px 5px 9px; }.sale-words small,.sale-tax-words small { font-size:11px; }.sale-words p,.sale-tax-words p { margin:9px 0 0;font-size:15px; }
.sale-tax-table table,.sale-bank-table table { min-width:0;table-layout:fixed;border-collapse:collapse;border-radius:0;border-color:#cfcfcf; }.sale-tax-table th,.sale-tax-table td { padding:6px;border:1px solid #cfcfcf;text-align:center;font-size:12px;text-transform:none;letter-spacing:0;background:#fff; }.sale-tax-table th { color:#111;font-weight:600; }.sale-tax-words { margin:7px 5px 10px; }
.sale-bank-table { margin-top:8px; }.sale-bank-table td { width:25%;padding:5px;border:1px solid #cfcfcf;font-size:13px;background:#f7f7f7; }.sale-declaration { margin:13px 1px 0;font-size:11px;line-height:1.3; }.sale-payment-status { display:flex;justify-content:flex-end;gap:20px;margin-top:8px;color:#4b5563;font-size:10px; }.sale-doc-footer { position:absolute;left:42px;right:42px;bottom:22px; }.sale-doc-footer > span { display:block;height:1px;background:#111; }.sale-doc-footer b { display:block;margin-top:5px;text-align:right;font-size:13px;font-weight:400; }
@media (max-width:700px) { .sale-invoice-toolbar { flex-direction:column; }.sale-document { min-height:0;padding:24px 18px 42px; }.sale-reference-boxes,.sale-party-boxes { grid-template-columns:1fr;margin-left:0;margin-right:0; }.sale-party-cell { min-height:0;padding:22px 10px; }.sale-doc-footer { position:static;margin-top:50px; }.sale-goods-table,.sale-tax-table,.sale-bank-table { overflow-x:auto; }.sale-tax-table table,.sale-bank-table table { min-width:650px; } }
@media print {
    .sale-invoice-toolbar { display:none !important; }
    .sale-document { width:210mm;min-height:297mm;margin:0;padding:9mm 10mm 15mm;border:0;box-shadow:none; }
    .sale-doc-header img { width:22mm;height:15mm; }.sale-reference-boxes { margin-top:12mm; }.sale-reference-cell,.sale-logo-cell { min-height:25mm; }.sale-party-cell { min-height:64mm;padding-top:10mm; }.sale-goods-table { margin-top:6mm; }.sale-goods-table table,.sale-tax-table table,.sale-bank-table table { min-width:0; }.sale-goods-table th,.sale-goods-table td { padding:1.5mm;font-size:8.5pt; }.sale-party-cell p { font-size:9.5pt; }.sale-party-cell h2 { font-size:12pt; }.sale-words { margin-top:5mm; }.sale-doc-footer { left:10mm;right:10mm;bottom:6mm; }
}

/* Dashboard */
.dashboard-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:15px; }
.dashboard-heading h1 { margin:0; font-size:24px; }.dashboard-heading p { margin:5px 0 0; color:var(--muted-new); font-size:12px; }
.dashboard-date { padding:9px 12px; border:1px solid var(--border-new); border-radius:7px; color:#263957; background:#fff; font-size:11px; font-weight:700; }
.dashboard-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.dash-metric { min-width:0; min-height:104px; display:flex; align-items:center; gap:11px; padding:14px 12px; border:1px solid var(--border-new); border-radius:10px; background:#fff; box-shadow:0 4px 15px rgba(22,44,76,.04); transition:.18s ease; }
.dash-metric:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(22,44,76,.08); }
.dash-metric > span:last-child { min-width:0; }.dash-metric-icon { width:42px; height:42px; display:grid; place-items:center; flex:0 0 42px; border-radius:50%; color:#fff; background:var(--metric-color); font-size:20px; font-weight:800; box-shadow:inset 0 -5px 12px rgba(0,0,0,.08); }
.dash-metric small,.dash-metric b,.dash-metric em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.dash-metric small { color:#65728a; font-size:9px; font-weight:700; }.dash-metric b { margin:6px 0 5px; color:#15233c; font-size:16px; }.dash-metric em { color:var(--metric-color); font-size:8px; font-style:normal; font-weight:700; }
.dash-metric.purple { --metric-color:#7654dc; }.dash-metric.green { --metric-color:#3cb94c; }.dash-metric.blue { --metric-color:#3073e7; }.dash-metric.orange { --metric-color:#ff8614; }.dash-metric.amber { --metric-color:#ffb318; }.dash-metric.red { --metric-color:#ee4b54; }
.dashboard-main-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr); gap:12px; margin-top:12px; }
.dashboard-tables-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
.dashboard-panel,.quick-actions-panel { min-width:0; padding:15px; border:1px solid var(--border-new); border-radius:10px; background:#fff; box-shadow:0 4px 15px rgba(22,44,76,.04); }
.dash-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }.dash-panel-head h2 { margin:0; color:#172640; font-size:14px; }.dash-panel-head p { margin:4px 0 0; color:#7b8799; font-size:9px; }.dash-panel-head > a { color:#2e67d2; font-size:10px; font-weight:700; }
.mini-select { padding:6px 9px; border:1px solid #e0e6ee; border-radius:6px; color:#536178; font-size:9px; }
.chart-legend { display:flex; gap:16px; margin:9px 0 0; color:#6d7990; font-size:9px; }.chart-legend span { display:flex; align-items:center; gap:5px; }.chart-legend i { width:7px;height:7px;border-radius:50%; }.sales-dot { background:var(--green); }.purchase-dot { background:var(--blue); }
.bar-chart { height:170px; display:flex; align-items:flex-end; gap:7%; padding:18px 12px 0; border-bottom:1px solid #e5eaf0; background:repeating-linear-gradient(to bottom,#fff 0,#fff 41px,#edf1f5 42px); }
.chart-column { height:100%; flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; }.bar-pair { height:138px; display:flex; align-items:flex-end; gap:4px; }.bar-pair i { width:12px; min-height:3px; border-radius:4px 4px 0 0; }.sales-bar { background:linear-gradient(#50c75f,#2baa47); }.purchase-bar { background:linear-gradient(#4d8cf1,#2f6fe4); }.chart-column > span { margin:7px 0 -16px; color:#7d899b; font-size:9px; }
.stock-summary { min-height:190px; display:flex; align-items:center; justify-content:center; gap:23px; }.stock-ring { width:126px;height:126px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--green) 0 var(--stock-angle),#ffad25 var(--stock-angle) 360deg);position:relative; }.stock-ring:before { content:"";position:absolute;inset:20px;border-radius:50%;background:#fff; }.stock-ring span { z-index:1;text-align:center; }.stock-ring b,.stock-ring small { display:block; }.stock-ring b { font-size:21px; }.stock-ring small { margin-top:3px;color:#758197;font-size:8px; }.stock-legend { display:grid; gap:12px; }.stock-legend span { display:grid;grid-template-columns:8px 25px auto;align-items:center;gap:5px;color:#68758b;font-size:9px; }.stock-legend i { width:8px;height:8px;border-radius:50%; }.stock-good { background:var(--green); }.stock-low { background:#ffad25; }
.dash-table-panel { padding:0; overflow:hidden; }.dash-table-panel .dash-panel-head { padding:14px 15px 11px; }.dash-table-wrap { overflow-x:auto; }.dash-table-panel table { min-width:520px; border:0;border-top:1px solid #edf0f4;border-radius:0; }.stock-number { color:#ef4d55;font-weight:800; }.reorder-link { display:inline-flex;padding:4px 9px;border:1px solid #bfcdf5;border-radius:5px;color:#456bd2;font-size:9px;font-weight:700; }
.quick-actions-panel { margin-top:12px; }.quick-actions-grid { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:12px; }.quick-actions-grid > a { min-height:64px;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e5eaf1;border-radius:8px;transition:.16s ease; }.quick-actions-grid > a:hover { border-color:#b8d7c1;box-shadow:0 5px 15px rgba(25,64,100,.06);transform:translateY(-1px); }.quick-actions-grid i { width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:7px;color:#fff;font-size:16px;font-style:normal;font-weight:800; }.quick-actions-grid i.green { background:#38ad4e; }.quick-actions-grid i.purple { background:#7757dc; }.quick-actions-grid i.blue { background:#3675e5; }.quick-actions-grid i.orange { background:#ff8b18; }.quick-actions-grid i.red { background:#ee4c55; }.quick-actions-grid b,.quick-actions-grid small { display:block; }.quick-actions-grid b { font-size:10px; }.quick-actions-grid small { margin-top:3px;color:#7b8799;font-size:8px; }
@media (max-width:1350px) { .dashboard-metrics { grid-template-columns:repeat(3,1fr); }.quick-actions-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px) { .dashboard-main-grid,.dashboard-tables-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .dashboard-heading { flex-direction:column; }.dashboard-date { width:100%; }.dashboard-metrics { grid-template-columns:repeat(2,1fr); }.dash-metric { min-height:92px; padding:10px; }.dash-metric-icon { width:35px;height:35px;flex-basis:35px;font-size:16px; }.dash-metric b { font-size:13px; }.quick-actions-grid { grid-template-columns:repeat(2,1fr); }.stock-summary { min-height:165px; }.bar-chart { padding-left:3px;padding-right:3px;gap:3%; } }
