:root{
  --green-1000:#071d15;--green-950:#0a281d;--green-900:#103a2a;--green-800:#154d36;--green-700:#1b6545;--green-600:#287b57;
  --green-500:#3d956e;--green-300:#9fd2b9;--green-200:#cde8da;--green-100:#e9f5ef;--green-50:#f4faf7;
  --gold-700:#9f6209;--gold-600:#c57a0d;--gold-500:#e49621;--gold-300:#f1c476;--gold-100:#fff4df;
  --ink-950:#0c1712;--ink-900:#17231d;--ink-700:#35443c;--ink-500:#66746d;--ink-400:#87928c;--ink-300:#aeb8b2;
  --line:#dbe5df;--line-soft:#eaf0ec;--surface:#fff;--surface-raised:#fff;--surface-muted:#f7faf8;--canvas:#edf3ef;
  --danger:#b42318;--danger-bg:#fff0ef;--success:#17733a;--success-bg:#ebf8ef;--warning:#996000;--warning-bg:#fff7e8;--blue:#175cd3;--purple:#6941c6;
  --shadow-xs:0 1px 2px rgba(6,31,21,.05);--shadow-sm:0 6px 18px rgba(7,37,25,.06);--shadow:0 16px 42px rgba(7,37,25,.08);--shadow-lg:0 28px 80px rgba(5,33,21,.16);
  --radius-xs:7px;--radius-sm:10px;--radius:16px;--radius-lg:24px;--sidebar:286px;--topbar:84px;
}
html[data-theme="dark"]{
  --ink-950:#eef7f1;--ink-900:#e8f2ec;--ink-700:#bac8c0;--ink-500:#8da097;--ink-400:#75877f;--ink-300:#5d6d65;
  --line:#263b31;--line-soft:#203329;--surface:#13261d;--surface-raised:#172c22;--surface-muted:#0f2119;--canvas:#091710;
  --danger-bg:#3a1c1a;--success-bg:#123624;--warning-bg:#3a2a12;--green-50:#12291e;--green-100:#173727;--green-200:#28513b;
  --shadow-xs:0 1px 2px rgba(0,0,0,.2);--shadow-sm:0 8px 22px rgba(0,0,0,.22);--shadow:0 18px 48px rgba(0,0,0,.25);--shadow-lg:0 30px 85px rgba(0,0,0,.38)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--canvas);color:var(--ink-900);font:14px/1.55 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 78% -10%,rgba(61,149,110,.12),transparent 31%),radial-gradient(circle at 22% 110%,rgba(228,150,33,.08),transparent 28%);pointer-events:none;z-index:-1}
a{color:var(--green-700);text-decoration:none;transition:.18s}a:hover{color:var(--green-900)}
button,input,select,textarea{font:inherit}button{color:inherit}img{max-width:100%}
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--ink-950);line-height:1.18;letter-spacing:-.025em}h1{font-size:30px}h2{font-size:19px}h3{font-size:16px}small{display:block;color:var(--ink-500);font-size:12px;margin-top:3px}.icon{width:19px;height:19px;display:inline-block;vertical-align:middle;flex:0 0 auto}

/* App shell */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:50;background:linear-gradient(180deg,#0f3d2b 0%,#08261b 58%,#061c14 100%);color:#fff;padding:18px 14px 14px;display:flex;flex-direction:column;box-shadow:18px 0 50px rgba(4,25,16,.17);overflow:hidden}
.sidebar:after{content:"";position:absolute;width:330px;height:330px;border:70px solid rgba(255,255,255,.022);border-radius:50%;right:-220px;bottom:-150px;pointer-events:none}
.brand{position:relative;display:flex;align-items:center;gap:12px;padding:2px 8px 16px;border-bottom:1px solid rgba(255,255,255,.09)}
.brand-logo{width:47px;height:47px;border-radius:14px;background:#fff;padding:3px;display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.25)}.brand-logo img{width:100%;height:100%;object-fit:contain;border-radius:11px}.brand-copy{min-width:0}.brand-copy strong{display:block;color:#fff;font-size:20px;letter-spacing:.16em}.brand-copy span{display:block;color:#a9c7b6;font-size:9px;font-weight:800;letter-spacing:.18em;margin-top:2px}.brand-copy b{display:inline-grid;place-items:center;background:var(--gold-500);color:#102419;border-radius:5px;padding:1px 4px;margin-left:3px}.sidebar-close{display:none!important;margin-left:auto;color:#fff!important;background:rgba(255,255,255,.08)!important}
.workspace-chip{display:flex;align-items:center;gap:10px;margin:14px 5px 8px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);border-radius:12px}.workspace-chip b{display:block;color:#f8fbf9;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.workspace-chip small{color:#87aa96;margin:1px 0 0;font-size:10px}.workspace-dot{width:8px;height:8px;border-radius:50%;background:#5cdb8e;box-shadow:0 0 0 5px rgba(92,219,142,.1)}
.nav-scroll{position:relative;z-index:1;overflow:auto;overscroll-behavior:contain;padding:2px 2px 14px;margin-right:-6px;padding-right:8px}.nav-scroll::-webkit-scrollbar{width:5px}.nav-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.13);border-radius:99px}.nav-group{padding-top:9px}.nav-heading{padding:9px 11px 6px;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#6f9981;font-weight:900}.nav-item{position:relative;display:flex;align-items:center;gap:11px;color:#c9dbd0;padding:9px 11px;border-radius:10px;font-weight:650;margin:2px 0;min-height:40px}.nav-item .icon{width:18px;height:18px;color:#94b5a2}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item:hover .icon{color:#cfe5d7}.nav-item.active{color:#fff;background:linear-gradient(90deg,rgba(61,149,110,.33),rgba(255,255,255,.065));box-shadow:inset 3px 0 0 var(--gold-500),0 7px 18px rgba(0,0,0,.08)}.nav-item.active .icon{color:#f2c66f}.nav-item.active:after{content:"";width:5px;height:5px;border-radius:50%;background:#f0c46f;margin-left:auto;box-shadow:0 0 0 4px rgba(240,196,111,.11)}
.sidebar-footer{position:relative;z-index:1;margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:13px 7px 1px}.security{display:flex;gap:9px;align-items:center;padding:0 4px 11px}.security>span{width:31px;height:31px;border-radius:9px;background:rgba(92,219,142,.09);color:#71d797;display:grid;place-items:center}.security .icon{width:15px}.security b{display:block;color:#dce9e1;font-size:11px}.security small{color:#6f9981;font-size:9px;margin:0}.signout{display:flex;align-items:center;gap:9px;color:#b8cec1;padding:9px 10px;border-radius:9px;font-weight:650}.signout:hover{color:#fff;background:rgba(255,255,255,.06)}.signout .icon{width:17px}
.app-shell{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar);display:flex;align-items:center;gap:22px;padding:0 28px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);box-shadow:var(--shadow-xs)}.topbar-left{display:flex;align-items:center;min-width:250px}.page-identity .breadcrumb{display:block;color:var(--ink-400);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:750}.page-identity h1{font-size:19px;margin:2px 0 0}.mobile-menu{display:none!important;margin-right:10px}
.command-search{position:relative;display:flex;align-items:center;max-width:520px;flex:1;margin-left:auto}.command-search>span{position:absolute;left:13px;color:var(--ink-400);display:flex}.command-search .icon{width:17px}.command-search input{width:100%;height:42px;padding:0 70px 0 41px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);color:var(--ink-900);outline:none}.command-search input:focus{background:var(--surface);border-color:var(--green-500);box-shadow:0 0 0 4px rgba(61,149,110,.12)}.command-search kbd{position:absolute;right:11px;border:1px solid var(--line);border-bottom-color:var(--ink-300);background:var(--surface);color:var(--ink-500);border-radius:6px;padding:2px 6px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}
.topbar-actions{display:flex;align-items:center;gap:8px}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:var(--surface);display:inline-grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-xs);transition:.18s}.icon-button:hover{transform:translateY(-1px);border-color:var(--green-200);box-shadow:var(--shadow-sm)}.icon-button .icon{width:18px}.quick-create{height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border-radius:11px;background:var(--green-700);color:#fff;font-weight:750;box-shadow:0 8px 18px rgba(27,101,69,.18)}.quick-create:hover{color:#fff;background:var(--green-800);transform:translateY(-1px)}.quick-create .icon{width:16px}.notification-button{position:relative}.notification-button em{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:9px;font-style:normal;display:grid;place-items:center;border:2px solid var(--surface)}.user-menu{display:flex;align-items:center;gap:9px;padding-left:7px;margin-left:2px}.avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green-100),var(--green-200));color:var(--green-800);font-weight:900;border:1px solid var(--green-200)}.avatar.small{width:34px;height:34px;font-size:10px;border-radius:10px}.user-copy b{display:block;font-size:12px;white-space:nowrap}.user-copy small{font-size:10px;margin:0;white-space:nowrap}
.popover-wrap{position:relative}.popover{display:none;position:absolute;right:0;top:49px;width:330px;background:var(--surface-raised);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:100}.popover.open{display:block;animation:pop .16s ease-out}@keyframes pop{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}.popover-head{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;border-bottom:1px solid var(--line-soft)}.popover-head span{font-size:10px;color:var(--ink-500)}.popover>a{display:flex;align-items:center;gap:10px;padding:12px 14px;color:var(--ink-900);border-bottom:1px solid var(--line-soft)}.popover>a:hover{background:var(--surface-muted)}.popover>a>.icon{width:15px;margin-left:auto;color:var(--ink-400)}.alert-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--green-100);color:var(--green-700)}.alert-icon .icon{width:16px}.popover-empty{padding:28px 18px;text-align:center;color:var(--ink-500)}
.content-area{width:100%;max-width:1680px;padding:28px 30px 36px;flex:1}.app-footer{display:flex;justify-content:space-between;gap:15px;padding:0 30px 24px;color:var(--ink-500);font-size:11px}.mobile-scrim{display:none}

/* Titles, cards and dashboards */
.page-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title{font-size:28px;margin:0}.page-subtitle{color:var(--ink-500);max-width:730px;margin:7px 0 0}.section-kicker,.eyebrow{display:block;color:var(--gold-600);font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}.hero{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:31px 34px;background:linear-gradient(128deg,#0a2b1e 0%,#15563c 63%,#2c7b59 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:var(--shadow-lg);margin-bottom:20px}.hero:before{content:"";position:absolute;width:470px;height:470px;border:92px solid rgba(255,255,255,.045);border-radius:50%;right:-200px;top:-295px}.hero:after{content:"";position:absolute;width:160px;height:160px;background:radial-gradient(circle,rgba(228,150,33,.25),transparent 68%);left:40%;bottom:-105px}.hero>div{position:relative;z-index:1}.hero h1{color:#fff;font-size:32px;margin:7px 0}.hero p{color:#d4e7dc;margin:0;font-size:14px;max-width:720px}.hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:21px}.hero-score{min-width:210px;padding:19px 21px;border-radius:17px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px)}.hero-score span,.hero-score small{color:#cce1d4}.hero-score strong{display:block;color:#f4cc83;font-size:38px;line-height:1;margin:8px 0}.hero-score small{font-size:10px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 20px}.stats-six{grid-template-columns:repeat(6,minmax(0,1fr))}.stats article{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--surface-raised),var(--surface));border:1px solid var(--line);border-radius:15px;padding:17px 18px;box-shadow:var(--shadow-sm);min-height:126px}.stats article:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-32px;top:-36px;background:var(--green-50)}.stats article>span{position:relative;z-index:1;color:var(--ink-500);font-size:11px;font-weight:700}.stats article>strong{position:relative;z-index:1;display:block;font-size:21px;margin-top:7px;letter-spacing:-.035em}.stats article>small{position:relative;z-index:1;font-size:10px}.stat-icon{position:relative;z-index:1;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-weight:900;margin-bottom:10px}.stat-icon.green{background:var(--success-bg);color:var(--success)}.stat-icon.gold,.stat-icon.amber{background:var(--gold-100);color:var(--gold-700)}.stat-icon.blue{background:#edf3ff;color:var(--blue)}.stat-icon.red{background:var(--danger-bg);color:var(--danger)}.stat-icon.purple{background:#f3efff;color:var(--purple)}
.panel{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-head h2{margin:0}.panel-head>span{color:var(--ink-500);font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(650px,1fr) 360px;gap:18px}.two-col{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(520px,1.28fr);gap:18px}.two-equal{display:grid;grid-template-columns:1fr 1fr;gap:18px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.form-panel{max-width:980px}.full-width{display:block;text-align:center;margin-top:14px}.empty-state{text-align:center;padding:34px 10px}.empty-state .icon{width:32px;height:32px;color:var(--ink-400);margin-bottom:8px}
.followup{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.followup:last-child{border-bottom:0}.followup>div{min-width:0;flex:1}.followup small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.due{font-size:9px;color:var(--danger);font-weight:750}.progress{height:6px;background:var(--line-soft);border-radius:99px;overflow:hidden;min-width:100px;margin-bottom:5px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green-600),var(--green-500));border-radius:99px}
.pipeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}.pipeline a{background:var(--surface-raised);border:1px solid var(--line);border-radius:13px;padding:14px;color:var(--ink-900);box-shadow:var(--shadow-xs)}.pipeline a:hover,.pipeline a.active{border-color:var(--green-500);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.pipeline a span{display:block;color:var(--ink-500);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.pipeline a strong{display:block;font-size:20px;margin-top:5px}.pipeline a small{font-size:9px}

/* Tables */
.table-wrap{overflow:auto;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface)}table{width:100%;border-collapse:separate;border-spacing:0;min-width:680px}th,td{padding:12px 13px;border-bottom:1px solid var(--line-soft);vertical-align:top;text-align:left}th{position:sticky;top:0;z-index:2;background:var(--surface-muted);color:var(--ink-500);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;white-space:nowrap}tbody tr{transition:.15s}tbody tr:hover{background:var(--green-50)}tbody tr:last-child td{border-bottom:0}td b{color:var(--ink-950)}.num{text-align:right;white-space:nowrap}.good{color:var(--success)!important}.bad{color:var(--danger)!important}.empty{padding:35px!important;text-align:center!important;color:var(--ink-500)}.total-row td{border-top:2px solid var(--green-600);background:var(--green-50);font-weight:700}.table-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-actions form{margin:0}.table-actions a,.link-btn{font-size:12px;font-weight:750}.link-btn{border:0;background:none;padding:0;cursor:pointer;color:var(--green-700)}.danger-text{color:var(--danger)!important}
.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:var(--surface-muted);border:1px solid var(--line-soft);color:var(--ink-700);font-size:9px;font-weight:800;text-transform:capitalize;white-space:nowrap}.badge.active,.badge.open,.badge.running,.badge.completed,.badge.won,.badge.issued,.badge.verified,.badge.posted,.badge.current,.badge.paid{background:var(--success-bg);color:var(--success);border-color:transparent}.badge.lead,.badge.planned,.badge.pending,.badge.new,.badge.contacted,.badge.counselling,.badge.follow_up,.badge.applied,.badge.received,.badge.waiting,.badge.review_due{background:var(--warning-bg);color:var(--warning);border-color:transparent}.badge.suspended,.badge.cancelled,.badge.inactive,.badge.lost,.badge.reversed,.badge.void,.badge.expired,.badge.overdue{background:var(--danger-bg);color:var(--danger);border-color:transparent}.badge.couriered{background:#edf3ff;color:var(--blue);border-color:transparent}.badge.protected{background:#f3efff;color:var(--purple);border-color:transparent}

/* Forms and controls */
.btn,button{border:0;border-radius:10px;padding:10px 14px;font-weight:780;cursor:pointer;transition:.17s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover,button:hover{transform:translateY(-1px)}.btn .icon{width:16px}.primary{background:linear-gradient(180deg,var(--green-600),var(--green-700));color:#fff;box-shadow:0 8px 17px rgba(27,101,69,.18)}.primary:hover{color:#fff;background:var(--green-800)}.gold{background:linear-gradient(180deg,#efad42,var(--gold-500));color:#1e2d24;box-shadow:0 8px 17px rgba(228,150,33,.18)}.light{background:#fff;color:var(--green-800)}.soft{background:var(--green-100);color:var(--green-800)}.soft:hover{color:var(--green-900);background:var(--green-200)}.danger-btn{background:var(--danger-bg);color:var(--danger)}.danger-btn:hover{background:#f9d9d6}.action-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}form label{display:grid;gap:6px;color:var(--ink-700);font-weight:700;margin-bottom:12px;font-size:12px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:var(--surface);color:var(--ink-900);outline:none;transition:.15s}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green-500);box-shadow:0 0 0 4px rgba(61,149,110,.11)}input::placeholder,textarea::placeholder{color:var(--ink-400)}input[type="checkbox"],input[type="radio"]{width:auto}.filter,.search{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.filter label{margin:0;min-width:170px}.search{align-items:center}.search input{min-width:320px}.notice{padding:13px 14px;border-radius:11px;background:var(--green-50);border:1px solid var(--green-100);color:var(--ink-700);margin-top:13px}.notice b{color:var(--green-800)}.notice p{margin:3px 0 0;color:var(--ink-500);font-size:12px}.danger-zone{margin-top:20px;padding:15px;border:1px dashed #e2aaa5;border-radius:12px;background:var(--danger-bg)}.danger-form{display:grid;grid-template-columns:1fr minmax(240px,.7fr) auto;align-items:center;gap:12px}.danger-form small{margin:2px 0 0}.danger-form input{margin:0}.health-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.health-row:last-child{border-bottom:0}.health-row>div{flex:1}.health-row strong{font-size:9px;letter-spacing:.08em}.health-dot{width:9px;height:9px;border-radius:50%}.health-dot.ok{background:#27ae60;box-shadow:0 0 0 5px rgba(39,174,96,.09)}.health-dot.warn{background:#e59c24;box-shadow:0 0 0 5px rgba(229,156,36,.09)}
.tabs{display:flex;gap:5px;padding:5px;background:var(--surface-muted);border:1px solid var(--line);border-radius:12px;width:max-content;max-width:100%;overflow:auto;margin-bottom:17px}.tabs button{background:transparent;color:var(--ink-500);padding:8px 13px;white-space:nowrap}.tabs button.active{background:var(--surface);color:var(--ink-950);box-shadow:var(--shadow-xs)}.tab-pane{display:none}.tab-pane.active{display:block}
.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid transparent;margin-bottom:18px;box-shadow:var(--shadow-xs)}.alert>span{display:flex;margin-top:1px}.alert>span .icon{width:17px}.alert>div{flex:1}.alert>button{padding:0;background:transparent;display:flex;color:currentColor;opacity:.6}.alert>button .icon{width:16px}.alert.success{background:var(--success-bg);color:var(--success);border-color:color-mix(in srgb,var(--success) 15%,transparent)}.alert.danger{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 15%,transparent)}

/* Export centre */
.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.export-card{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-height:220px;background:var(--surface-raised);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow-sm);transition:.18s}.export-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--green-200)}.export-card>div:nth-child(2){flex:1}.export-card h2{margin:0 0 7px}.export-card p{color:var(--ink-500);margin:0}.export-icon{width:45px;height:45px;border-radius:13px;background:linear-gradient(145deg,var(--green-100),var(--green-200));color:var(--green-800);display:grid;place-items:center;font-size:20px;font-weight:900}

/* Login */
.login-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(390px,.88fr);background:#071e15}.login-brand{position:relative;overflow:hidden;padding:7vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 76% 26%,rgba(61,149,110,.42),transparent 28%),linear-gradient(140deg,#08251a 0%,#0f4631 68%,#1c6949 100%);color:#fff}.login-brand:before{content:"";position:absolute;width:650px;height:650px;border:105px solid rgba(255,255,255,.04);border-radius:50%;right:-350px;top:-300px}.login-brand .pess-logo{position:relative;width:82px;height:82px;object-fit:contain;background:#fff;border-radius:22px;padding:5px;box-shadow:0 24px 55px rgba(0,0,0,.26)}.brand-mark{position:relative;margin-top:20px;font-size:13px;font-weight:900;letter-spacing:.3em;color:#f2c470}.login-brand h1{position:relative;color:#fff;font-size:clamp(38px,4.7vw,66px);max-width:780px;margin:17px 0;letter-spacing:-.055em}.login-brand p{position:relative;color:#cce0d4;font-size:16px;max-width:650px}.login-card{background:var(--surface-raised);padding:clamp(36px,6vw,96px);display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:31px;margin:18px 0 7px}.login-card>p{color:var(--ink-500);margin-bottom:26px}.login-card form{max-width:430px}.login-card .btn{width:100%;margin-top:7px;padding:12px}.version-pill{display:inline-flex;align-self:flex-start;background:var(--green-100);color:var(--green-800);border-radius:999px;padding:5px 10px;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}

/* Installer */
body.install{display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 80% 0,rgba(61,149,110,.18),transparent 28%),var(--canvas)}.installer{width:min(980px,100%);background:var(--surface-raised);border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow-lg)}.install-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px}.install-brand .pess-logo{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:16px;padding:3px;box-shadow:var(--shadow-sm)}.install-brand .brand-mark{margin:0;color:var(--green-800);font-size:18px}.install-brand small{font-size:10px}.installer>h1{font-size:34px;margin-bottom:9px}.installer>p{color:var(--ink-500);max-width:760px}.install-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.install-step{padding:11px;border-radius:10px;background:var(--surface-muted);border:1px solid var(--line);font-size:10px;color:var(--ink-500)}.install-step b{display:block;color:var(--ink-900);font-size:11px}

/* Learner profile */
.profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px;background:linear-gradient(135deg,var(--surface-raised),var(--green-50));border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);margin-bottom:18px}.profile-avatar{width:76px;height:76px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green-700),var(--green-900));color:#fff;font-size:24px;font-weight:900;box-shadow:0 14px 28px rgba(27,101,69,.2)}.profile-hero h1{margin:0 0 5px}.profile-meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--ink-500);font-size:11px}.profile-meta span{display:inline-flex;align-items:center;gap:5px}.profile-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.profile-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}.detail-list{display:grid;gap:0}.detail-list>div{padding:11px 0;border-bottom:1px solid var(--line-soft)}.detail-list>div:last-child{border-bottom:0}.detail-list span{display:block;color:var(--ink-500);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.detail-list b{display:block;margin-top:2px}.document-list{display:grid;gap:9px}.document-item{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.document-item>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--green-100);color:var(--green-700)}.document-item>div{min-width:0;flex:1}.document-item b,.document-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-item .table-actions{justify-content:flex-end}

/* Receipts */
.receipt{max-width:820px;margin:0 auto;background:#fff;color:#152119;padding:35px;border-radius:15px;box-shadow:var(--shadow)}.receipt-header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #15532b;padding-bottom:18px;margin-bottom:22px}.receipt-header img{width:84px}.receipt h1{color:#15532b}.receipt-total{font-size:27px;font-weight:900;color:#15532b}

@media (max-width:1320px){.stats-six{grid-template-columns:repeat(3,1fr)}.export-grid{grid-template-columns:repeat(2,1fr)}.user-copy{display:none}.dashboard-grid{grid-template-columns:minmax(560px,1fr) 320px}.topbar{padding:0 22px}.quick-create span{display:none}}
@media (max-width:1080px){:root{--sidebar:260px}.content-area{padding:24px 22px}.dashboard-grid,.two-col,.profile-grid{grid-template-columns:1fr}.two-equal{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.pipeline{grid-template-columns:repeat(3,1fr)}.command-search{max-width:360px}.topbar-left{min-width:190px}.hero-score{display:none}.profile-grid{grid-template-columns:1fr}.profile-actions{justify-content:flex-start}}
@media (max-width:820px){.sidebar{transform:translateX(-105%);transition:.24s;width:min(305px,88vw)}body.nav-open .sidebar{transform:none}.mobile-scrim{position:fixed;inset:0;background:rgba(4,21,14,.55);backdrop-filter:blur(2px);z-index:45}body.nav-open .mobile-scrim{display:block}.sidebar-close,.mobile-menu{display:grid!important}.app-shell{margin-left:0}.topbar{padding:0 15px;height:72px;gap:10px}.page-identity .breadcrumb{display:none}.page-identity h1{font-size:16px}.topbar-left{min-width:auto}.command-search{position:fixed;left:15px;right:15px;top:78px;display:none;max-width:none}.command-search.open{display:flex;z-index:90}.quick-create,#themeToggle,.user-menu{display:none}.content-area{padding:20px 15px 28px}.app-footer{padding:0 15px 20px;display:block}.app-footer span{display:block;margin-top:3px}.login-wrap{grid-template-columns:1fr}.login-brand{display:none}.login-card{min-height:100vh;padding:34px}.export-grid{grid-template-columns:1fr}.danger-form{grid-template-columns:1fr}.profile-hero{grid-template-columns:auto 1fr}.profile-actions{grid-column:1/-1}.installer{padding:22px}.install-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.page-actions{align-items:flex-start;flex-direction:column}.page-actions .action-row{width:100%}.stats,.stats-six{grid-template-columns:1fr}.pipeline{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.hero{padding:25px 22px}.hero h1{font-size:27px}.panel{padding:16px}.two-equal,.three-col{grid-template-columns:1fr}.search{width:100%}.search input{min-width:0;flex:1}.profile-hero{grid-template-columns:1fr;text-align:center}.profile-avatar{margin:auto}.profile-meta,.profile-actions{justify-content:center}.login-card{padding:25px}.installer>h1{font-size:29px}.install-steps{grid-template-columns:1fr}.popover{position:fixed;left:15px;right:15px;top:72px;width:auto}.filter{align-items:stretch;flex-direction:column}.filter label{min-width:0}}
.action-panel{align-self:start}.hero.executive{min-height:230px}.balance-chip{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:10px;font-weight:850}.balance-chip.balanced{background:var(--success-bg);color:var(--success)}.balance-chip.unbalanced{background:var(--danger-bg);color:var(--danger)}
.receipt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:2px solid #15532b}.receipt-head>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:center}.receipt-head .pess-logo{grid-row:1/3;width:72px;height:72px;object-fit:contain}.receipt-head>div:last-child{text-align:right}.receipt-head>div:last-child span{display:block;font-size:10px;letter-spacing:.12em;color:#66746d}.receipt-head>div:last-child strong{display:block;font-size:21px;color:#15532b}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.receipt-grid>div{padding:13px;border:1px solid #dbe5df;border-radius:10px}.receipt-grid .wide{grid-column:1/-1}.receipt-grid small{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.receipt-grid b,.receipt-grid span{display:block}.receipt-total{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f2f8f4;border:1px solid #dbe9df;border-radius:12px;padding:17px 19px;margin:18px 0}.receipt-total span{font-size:11px;color:#66746d}.receipt-total strong{font-size:25px;color:#15532b}.signature{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:12px;border-top:1px solid #dbe5df}.receipt-note{text-align:center;margin-top:24px}.print-actions{display:flex;justify-content:center;gap:10px;margin:18px 0}

/* Apex 14 Ultimate refinements */
.user-menu{text-decoration:none;color:var(--ink-900);border-radius:12px;padding:5px 7px}.user-menu:hover{background:var(--surface-muted);color:var(--green-800)}
.login-trust{position:relative;display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.login-trust span{padding:7px 10px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.07);border-radius:999px;font-size:10px;font-weight:750;color:#e5f1ea}.login-help{max-width:430px;margin-top:17px;color:var(--ink-500);font-size:11px}
.setup-progress{margin-bottom:18px}.setup-progress .panel-head>strong{font-size:24px;color:var(--green-700)}.progress.large{height:10px;background:var(--surface-muted);border-radius:999px;overflow:hidden;margin:13px 0 18px}.progress.large span{display:block;height:100%;background:linear-gradient(90deg,var(--green-700),var(--gold));border-radius:inherit}.setup-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.setup-step{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink-900)}.setup-step>span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:var(--surface-muted);font-weight:900;color:var(--ink-500)}.setup-step b,.setup-step small{display:block}.setup-step small{margin-top:3px}.setup-step.done{opacity:.72}.setup-step.done>span{background:var(--success-bg);color:var(--success)}
.form-section{display:flex;align-items:center;gap:10px;padding:13px 0 4px;border-top:1px solid var(--line);margin-top:4px}.form-section:first-of-type{border-top:0}.form-section>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--green-100);color:var(--green-800);font-size:10px;font-weight:900}.form-section b,.form-section small{display:block}.install-actions{display:flex;gap:10px;justify-content:flex-end}.install-actions .btn{min-width:210px}.fatal-card{width:min(620px,calc(100% - 30px));margin:10vh auto;padding:28px;background:var(--surface-raised);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
@media(max-width:1080px){.setup-step-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.setup-step-grid{grid-template-columns:1fr}.install-actions{flex-direction:column}.install-actions .btn{width:100%;min-width:0}}

/* Apex foundation — invoicing, roles and editable control centres */
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 18px}.check-card{display:flex!important;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;min-height:62px}.check-card:hover{border-color:var(--green-300);background:var(--green-50)}.check-card input{width:17px;height:17px;margin-top:2px;accent-color:var(--green-700)}.check-card span,.check-card b,.check-card small{display:block}.check-card small{font-size:10px}.module-manager{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-muted)}
.role-list{display:grid;gap:9px}.role-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.role-card>div:first-child{min-width:0}.role-card b,.role-card small,.role-card span{display:block}.role-card span{margin-top:5px;color:var(--green-700);font-size:10px;font-weight:800}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.table-actions form{display:inline-flex;margin:0}.mini-select{min-width:112px;height:31px;padding:4px 27px 4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:10px}
.invoice-editor{display:grid;gap:16px}.invoice-lines input,.invoice-lines select{min-width:120px}.invoice-lines td:first-child input{min-width:260px}.tax-invoice{max-width:1000px;margin:auto;padding:35px;background:#fff;color:#17231d;border-radius:16px;box-shadow:var(--shadow)}.tax-invoice h2,.tax-invoice b,.tax-invoice strong{color:#102f21}.invoice-top{display:flex;justify-content:space-between;gap:28px;padding-bottom:20px;border-bottom:3px solid #15532b}.invoice-company{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:start}.invoice-company .pess-logo{grid-row:1/4;width:78px;height:78px;object-fit:contain}.invoice-company h2{margin:0 0 5px;font-size:20px}.invoice-company p{margin:0;color:#596a61;font-size:11px}.invoice-title{text-align:right}.invoice-title span{display:block;color:#15532b;font-size:12px;font-weight:900;letter-spacing:.14em}.invoice-title strong{display:block;font-size:26px;margin:5px 0}.invoice-title small{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf6f0;color:#15532b;font-weight:800}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.invoice-parties>div{padding:15px;border:1px solid #dce7e0;border-radius:11px}.invoice-parties small{text-transform:uppercase;letter-spacing:.1em;font-size:9px}.invoice-parties b,.invoice-parties span{display:block;margin-top:3px}.invoice-table th{background:#eff6f2;color:#173d2b}.invoice-summary{display:grid;grid-template-columns:1fr 360px;gap:24px;margin-top:18px}.invoice-notes{padding:14px;border:1px solid #dce7e0;border-radius:11px;color:#52635a}.totals{display:grid;gap:7px}.totals>div{display:flex;justify-content:space-between;padding:7px 11px;border-bottom:1px solid #e4ece7}.totals>div.total{background:#15532b;color:#fff;border-radius:9px;border:0;font-size:17px;font-weight:900}.totals>div.total strong{color:#fff}.receipt-total.secondary{background:#fff8e8;border-color:#f1d69c}.action-details{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface-muted)}.action-details summary{cursor:pointer;font-weight:800}.mini-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin-top:10px}.mini-form label{min-width:140px;flex:1}.mini-form .btn{margin-bottom:1px}.tax-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--gold-100);color:var(--gold-700);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.action-tile{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink-900);box-shadow:var(--shadow-xs)}.action-tile:hover{transform:translateY(-2px);border-color:var(--green-300);box-shadow:var(--shadow-sm)}.action-tile>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--green-100);color:var(--green-800);font-size:10px;font-weight:900}.action-tile b,.action-tile small{display:block}.action-tile small{margin-top:4px}.badge.inactive,.badge.cancelled,.badge.disposed{background:var(--danger-bg);color:var(--danger)}.badge.excellent,.badge.active,.badge.approved,.badge.paid,.badge.pass{background:var(--success-bg);color:var(--success)}.badge.repair,.badge.overdue,.badge.action_required,.badge.refer{background:var(--warning-bg);color:var(--warning)}
@media(max-width:820px){.permission-grid{grid-template-columns:1fr}.invoice-top,.invoice-summary{grid-template-columns:1fr;display:grid}.invoice-title{text-align:left}.invoice-parties{grid-template-columns:1fr}.tax-invoice{padding:22px}.role-card{align-items:flex-start;flex-direction:column}.invoice-lines td:first-child input{min-width:190px}}

.training-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.training-stat{display:flex;flex-direction:column;gap:5px;padding:16px 17px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-xs);color:var(--ink-900)}a.training-stat:hover{transform:translateY(-2px);border-color:var(--green-300);box-shadow:var(--shadow-sm)}.training-stat span{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}.training-stat strong{font-size:20px;color:var(--ink-950)}.training-stat strong.badge{width:max-content;font-size:10px}.training-workspace{padding:0;overflow:hidden}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-bottom:1px solid var(--line-soft);background:var(--surface-muted)}.segmented-nav{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.segmented-nav a{padding:8px 12px;border-radius:8px;color:var(--ink-500);font-size:11px;font-weight:800;white-space:nowrap}.segmented-nav a.active{background:var(--green-700);color:#fff}.catalog-toolbar .search{margin:0}.training-workspace>.table-wrap{border:0;border-radius:0}.mode-pills{display:flex;gap:5px;flex-wrap:wrap}.mode-pills span{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--green-100);color:var(--green-800);font-size:9px;font-weight:800}.seat-meter{width:120px;max-width:100%;height:7px;overflow:hidden;border-radius:99px;background:var(--surface-muted);margin-bottom:5px}.seat-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-500),var(--green-800))}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.check-card{display:flex!important;align-items:flex-start;gap:10px;padding:13px!important;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer}.check-card:hover{border-color:var(--green-300);background:var(--green-50)}.check-card input{width:18px!important;min-width:18px;height:18px;margin-top:2px}.check-card span,.check-card b,.check-card small{display:block}.check-card b{color:var(--ink-950)}.check-card small{margin-top:3px}.training-form{max-width:950px;margin-inline:auto}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.seat-visual{display:flex;align-items:center;gap:24px;padding:15px 4px}.seat-ring{--seat-pct:0;position:relative;width:120px;height:120px;flex:0 0 120px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--green-700) calc(var(--seat-pct)*1%),var(--surface-muted) 0)}.seat-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--surface)}.seat-ring strong,.seat-ring span{position:relative;z-index:1}.seat-ring strong{font-size:22px}.seat-ring span{font-size:9px;text-transform:uppercase;color:var(--ink-500);font-weight:800}
@media(max-width:980px){.training-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-toolbar{align-items:stretch;flex-direction:column}.segmented-nav{overflow:auto}.catalog-toolbar .search{width:100%}.check-grid{grid-template-columns:1fr}}
@media(max-width:560px){.training-summary{grid-template-columns:1fr}.seat-visual{align-items:flex-start;flex-direction:column}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}

/* PESS ERP Apex 25.0 Unified Enterprise Edition */
.commercial-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.feature-card{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);text-decoration:none;transition:.2s ease}.feature-card:hover{transform:translateY(-2px);border-color:var(--green);box-shadow:var(--shadow)}.feature-card b{font-size:17px}.feature-card span{color:var(--muted);line-height:1.5}.commercial-hero{background:linear-gradient(130deg,#103c2a,#17613f 62%,#9c6b0d)}
.quotation-print .receipt-head{align-items:flex-start}.quotation-print .invoice-summary{margin-left:auto;max-width:430px}.quotation-print .invoice-summary>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border)}.quotation-print .invoice-summary .grand{font-size:18px;padding-top:15px}.quotation-print .invoice-summary .grand strong{font-size:24px;color:var(--green)}
.verify-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,#e8f3ec,transparent 40%),linear-gradient(145deg,#f8fbf9,#eef3ef)}.verify-card{width:min(760px,100%);background:#fff;border:1px solid #dce7df;border-radius:26px;padding:32px;box-shadow:0 24px 70px rgba(17,61,42,.13)}.verify-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.verify-brand img{width:64px;height:64px;object-fit:contain}.verify-brand b{display:block;font-size:20px}.verify-brand small{color:#65736b}.verify-card h1{font-size:34px;margin:0 0 8px;color:#153d2d}.verify-card>p{color:#66736d;line-height:1.65}.verify-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin:24px 0}.verify-form label{margin:0}.verification-result{display:flex;gap:18px;align-items:center;border-radius:18px;padding:20px;margin:20px 0}.verification-result.valid{background:#edf9f1;border:1px solid #bfe7ca}.verification-result.invalid{background:#fff3f1;border:1px solid #f0c5be}.verification-result h2{margin:0 0 4px}.verification-result p{margin:0}.verification-seal{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:800;background:#fff}.valid .verification-seal{color:#138744}.invalid .verification-seal{color:#bd3c2d}.verify-footer{display:flex;justify-content:space-between;gap:15px;margin-top:24px;padding-top:18px;border-top:1px solid #e3e9e5;color:#718078;font-size:13px}
@media(max-width:900px){.commercial-launch-grid{grid-template-columns:1fr 1fr}.verify-form{grid-template-columns:1fr}}@media(max-width:620px){.commercial-launch-grid{grid-template-columns:1fr}.verify-card{padding:22px;border-radius:20px}.verify-card h1{font-size:28px}.verify-footer{flex-direction:column}}
@media print{.verify-page{background:#fff;padding:0}.verify-card{box-shadow:none;border:none}.commercial-launch-grid,.no-print{display:none!important}.quotation-print{box-shadow:none!important;border:none!important}}


.portal-list{display:grid;gap:10px}.portal-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.portal-row:hover{border-color:var(--green-300);box-shadow:var(--shadow-xs)}.portal-row p{margin:4px 0 0;color:var(--ink-500);font-size:12px}.portal-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--green-100);color:var(--green-800)}.portal-icon .icon{width:18px}.custom-portal-content{font-size:15px;line-height:1.8;white-space:normal}.custom-portal-content a{font-weight:750}.cron-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.email-brand-preview{padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,var(--green-50),var(--surface))}.email-brand-preview img{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.class-link-ready{color:var(--success);font-weight:800}.class-link-missing{color:var(--danger);font-weight:800}
@media(max-width:900px){.portal-row{grid-template-columns:auto minmax(0,1fr)}.portal-row>.badge,.portal-row>.table-actions{grid-column:2}.portal-row>.table-actions{justify-content:flex-start}}
@media(max-width:560px){.portal-row{grid-template-columns:1fr}.portal-row>.badge,.portal-row>.table-actions{grid-column:1}.portal-icon{width:34px;height:34px}}

.classroom-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.class-stage{min-height:520px;background:#07140e;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center}.class-frame{width:100%;height:620px;border:0;background:#000}.class-launch{text-align:center;color:#fff;padding:50px}.class-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.device-tools{margin-top:16px}.device-tools video{display:block;width:100%;max-height:260px;background:#111;border-radius:12px;margin-top:12px}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.resource-card{padding:16px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:var(--surface-soft)}@media(max-width:900px){.classroom-layout{grid-template-columns:1fr}.class-frame{height:480px}}


:root{--radius-xl:22px;--shadow-soft:0 12px 35px rgba(18,59,42,.09);--line:#dce8e0}
.panel{border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);border:1px solid var(--line)}
.page-actions{align-items:flex-end;gap:24px}.page-title{letter-spacing:-.035em}.page-subtitle{max-width:760px}
.form-grid{gap:18px}.form-grid label{font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{margin-top:7px;min-height:46px;border-radius:11px}
.table-wrap table{border-collapse:separate;border-spacing:0}.table-wrap thead th{position:sticky;top:0;z-index:2;background:#f5f8f6}.table-wrap tbody tr:hover{background:#f8fbf9}
.classroom-url{display:block;margin-top:8px;padding:9px 12px;background:#edf6f0;border-radius:9px;color:#15532b;word-break:break-all}
.public-classroom-body{margin:0;background:#edf3ef;color:#17382a;font-family:Inter,Arial,sans-serif;min-height:100vh}
.public-classroom-header{height:76px;padding:0 4vw;background:#15532b;color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 28px rgba(0,0,0,.18)}
.public-brand{display:flex;align-items:center;gap:13px}.public-brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:13px;padding:4px}.public-brand strong,.public-brand span{display:block}.public-brand strong{font-size:18px}.public-brand span{font-size:12px;opacity:.8;margin-top:3px}
.live-status{display:flex;gap:8px;align-items:center;font-weight:800;font-size:12px;letter-spacing:.1em}.live-status i{width:9px;height:9px;border-radius:50%;background:#f3a52b;box-shadow:0 0 0 5px rgba(243,165,43,.18)}
.public-classroom-shell{max-width:1480px;margin:0 auto;padding:28px 4vw 40px}.classroom-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.classroom-hero h1{font-size:clamp(28px,4vw,48px);line-height:1.05;margin:7px 0}.classroom-hero p{margin:0;color:#63766c}.classroom-schedule{text-align:right;background:#fff;border:1px solid var(--line);padding:16px 20px;border-radius:16px;box-shadow:var(--shadow-soft)}.classroom-schedule b,.classroom-schedule span,.classroom-schedule small{display:block}.classroom-schedule b{font-size:20px}.classroom-schedule span{margin-top:4px}.classroom-schedule small{margin-top:6px;color:#6b7b73}
.join-card{max-width:640px;margin:55px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow-soft)}.join-card h2{margin:0 0 7px;font-size:30px}.join-card>small{display:block;margin-top:16px;color:#718078}
.own-domain-stage{background:#0b1711;border-radius:22px;overflow:hidden;box-shadow:0 18px 48px rgba(10,35,24,.24);min-height:72vh}.own-domain-stage iframe{display:block;width:100%;height:72vh;border:0}
.classroom-help{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;gap:18px;align-items:center}.classroom-help span{flex:1;color:#687a70}.classroom-help a{font-weight:800;color:#15532b}
.public-classroom-footer{padding:18px 4vw;display:flex;justify-content:space-between;color:#6f8076;font-size:12px;border-top:1px solid #d7e4dc}
@media(max-width:760px){.public-classroom-header{padding:0 18px}.public-classroom-shell{padding:20px 14px 30px}.classroom-hero{align-items:stretch;flex-direction:column}.classroom-schedule{text-align:left;width:auto}.own-domain-stage,.own-domain-stage iframe{min-height:68vh;height:68vh}.classroom-help,.public-classroom-footer{align-items:flex-start;flex-direction:column}.public-brand span{display:none}}
/* Final production alignment */
.page-actions{align-items:flex-start;gap:18px}.panel{overflow:hidden}.form-grid>label{min-width:0}.table-wrap{border:1px solid #dfe8e2;border-radius:14px}.table-wrap table{margin:0}.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center}.tabs{overflow-x:auto;white-space:nowrap;padding-bottom:4px}.workflow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.workflow span{padding:12px;border:1px solid #dfe8e2;border-radius:12px;background:#f8fbf9;text-align:center;font-weight:700}.lp-head{gap:14px}.lesson-card{display:grid;gap:10px}.certificate-signature img{max-width:210px;max-height:58px;object-fit:contain}@media(max-width:720px){.page-actions{display:grid}.page-actions .btn{width:100%}.two-col{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.lp-head{align-items:flex-start;flex-direction:column}.lp-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap}}
