*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --navy:#0c1e2e;--navy2:#132d47;--blue:#1a5276;
  --silver:#8fa5b8;--silver-bg:#f0f4f8;--silver-light:#dce6ee;
  --white:#fff;--text:#0c1e2e;--mid:#3d5870;--light:#6b8599;
  --border:rgba(130,160,180,0.18);--gold:#b8963e;--gold2:#d4ac52;
  --green:#e8f5e9;--green-border:#a8d5b5;--green-text:#1b5e20;
  --red-bg:#fff0f0;--red-border:#ffb3b3;--red-text:#c0392b;
}
body{font-family:"DM Sans",sans-serif;background:var(--silver-bg);color:var(--text);font-size:15px;line-height:1.7;min-height:100vh;}
h1,h2,h3{font-family:"Cormorant Garamond",serif;}

/* LOGIN */
#login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);padding:2rem;}
.login-card{background:var(--white);border-radius:12px;padding:3rem;width:100%;max-width:420px;text-align:center;}
.login-card img{height:60px;width:auto;margin-bottom:1.5rem;}
.login-card h2{font-size:28px;font-weight:300;color:var(--navy);margin-bottom:0.35rem;}
.login-card p{font-size:13px;color:var(--light);margin-bottom:2rem;}
.login-field{text-align:left;margin-bottom:1rem;}
.login-field label{display:block;font-size:10px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--mid);margin-bottom:5px;}
.login-field input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:4px;font-size:14px;font-family:"DM Sans",sans-serif;color:var(--text);outline:none;transition:border-color 0.2s;}
.login-field input:focus{border-color:var(--blue);}
.login-btn{width:100%;padding:13px;background:var(--navy);color:var(--white);border:none;border-radius:4px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;font-family:"DM Sans",sans-serif;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.login-btn:hover{background:var(--blue);}
.login-err{display:none;background:var(--red-bg);border:1px solid var(--red-border);border-radius:6px;padding:10px;font-size:12.5px;color:var(--red-text);margin-top:0.75rem;}

/* PORTAL */
#portal-screen{display:none;min-height:100vh;}
.portal-nav{background:var(--navy);padding:0 2.5rem;height:64px;display:flex;align-items:center;justify-content:space-between;}
.portal-nav img{height:38px;width:auto;}
.dealer-info{display:flex;align-items:center;gap:1rem;}
.dealer-name{font-size:13px;color:rgba(200,220,235,0.75);}
.logout-btn{background:transparent;border:1px solid rgba(200,220,235,0.25);color:rgba(200,220,235,0.7);padding:6px 14px;border-radius:3px;font-size:11.5px;font-family:"DM Sans",sans-serif;cursor:pointer;transition:all 0.2s;}
.logout-btn:hover{border-color:rgba(200,220,235,0.6);color:var(--white);}
.portal-tabs{background:var(--white);border-bottom:1px solid var(--border);display:flex;padding:0 2.5rem;overflow-x:auto;}
.tab{padding:1rem 1.25rem;font-size:13px;color:var(--light);cursor:pointer;border-bottom:2px solid transparent;transition:all 0.2s;white-space:nowrap;}
.tab:hover{color:var(--navy);}
.tab.active{color:var(--navy);border-bottom-color:var(--gold);font-weight:500;}
.tab.admin-tab{color:var(--gold);}
.tab.admin-tab.active{border-bottom-color:var(--gold);}
.portal-content{padding:2.5rem;max-width:960px;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* CARDS */
.card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:2rem;margin-bottom:1.5rem;}
.card-title{font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:300;color:var(--navy);margin-bottom:0.35rem;}
.card-sub{font-size:13px;color:var(--light);margin-bottom:1.75rem;line-height:1.7;}
.download-card{background:var(--navy);border-radius:10px;padding:1.75rem 2rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.download-card-left h3{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:300;color:var(--white);margin-bottom:0.25rem;}
.download-card-left p{font-size:12.5px;color:rgba(191,207,220,0.7);}
.dl-btn{background:var(--gold);color:var(--navy);padding:11px 22px;border-radius:3px;font-size:12px;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;border:none;cursor:pointer;font-family:"DM Sans",sans-serif;transition:background 0.2s;}
.dl-btn:hover{background:var(--gold2);}

/* FORMS */
.fr{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.fg{margin-bottom:1rem;}
.fg label{display:block;font-size:10px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--mid);margin-bottom:5px;}
.fg input,.fg select,.fg textarea{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:4px;font-size:13.5px;font-family:"DM Sans",sans-serif;color:var(--text);background:var(--white);outline:none;transition:border-color 0.2s;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue);}
.fg textarea{resize:vertical;min-height:85px;}
.fdiv{border:none;border-top:1px solid var(--border);margin:1.5rem 0;}
.slbl{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--mid);font-weight:500;margin-bottom:10px;}
.tg{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:7px;margin-bottom:1.25rem;}
.tb{padding:9px 12px;border:1px solid var(--border);border-radius:5px;font-size:12.5px;font-family:"DM Sans",sans-serif;color:var(--mid);background:var(--white);cursor:pointer;text-align:center;transition:all 0.15s;user-select:none;}
.tb:hover{border-color:var(--blue);color:var(--blue);background:#eef4fb;}
.tb.sel{border-color:var(--blue);color:var(--white);background:var(--blue);}
.sub-btn{padding:13px 28px;background:var(--navy);color:var(--white);border:none;border-radius:4px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;font-family:"DM Sans",sans-serif;cursor:pointer;transition:background 0.2s;}
.sub-btn:hover{background:var(--blue);}
.sub-btn:disabled{background:var(--silver);cursor:not-allowed;}
.sub-btn-full{width:100%;}
.ok{display:none;background:var(--green);border:1px solid var(--green-border);border-radius:8px;padding:1.5rem;margin-top:1rem;text-align:center;}
.ok h3{font-family:"Cormorant Garamond",serif;font-size:22px;color:var(--green-text);margin-bottom:0.35rem;}
.ok p{font-size:13px;color:#2e7d32;}
.err{display:none;background:var(--red-bg);border:1px solid var(--red-border);border-radius:8px;padding:1.25rem;margin-top:1rem;font-size:13px;color:var(--red-text);}

/* TICKETS */
.tickets-loading,.no-tickets{text-align:center;padding:3rem;color:var(--light);font-size:13px;}
.ticket-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1rem;}
.ticket-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:0.5rem;}
.ticket-id{font-family:monospace;font-size:13px;font-weight:500;color:var(--navy);background:var(--silver-bg);padding:4px 10px;border-radius:4px;}
.ticket-date{font-size:12px;color:var(--light);}
.ticket-services{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1rem;}
.service-pill{background:#eef4fb;border:1px solid #b3d0f5;color:var(--blue);font-size:11px;padding:3px 10px;border-radius:20px;}
.ticket-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.75rem;}
.ticket-field label{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--light);display:block;margin-bottom:2px;}
.ticket-field p{font-size:13px;color:var(--text);}
.ticket-notes{margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid var(--border);}
.ticket-notes label{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--light);display:block;margin-bottom:4px;}
.ticket-notes p{font-size:13px;color:var(--mid);line-height:1.6;}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border);padding:1.1rem 0;}
.faq-q{font-size:14px;font-weight:500;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq-a{font-size:13px;color:var(--mid);line-height:1.8;display:none;padding-top:0.75rem;}
.faq-a.open{display:block;}
.faq-arrow{font-size:16px;color:var(--silver);transition:transform 0.2s;flex-shrink:0;}
.faq-arrow.open{transform:rotate(180deg);}
.faq-cat{font-size:10px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin:1.5rem 0 0.5rem;}

/* ENROLL */
.stripe-note{display:flex;align-items:center;gap:8px;background:var(--silver-bg);border-radius:5px;padding:11px 14px;font-size:12px;color:var(--mid);margin-bottom:1rem;}
.stripe-badge{background:#635bff;color:white;font-size:10px;padding:2px 8px;border-radius:3px;font-weight:500;}
.enroll-link-box{display:none;background:#f0f6ff;border:1px solid #b3d0f5;border-radius:8px;padding:1.5rem;margin-top:1rem;text-align:center;}
.enroll-link-box h3{font-family:"Cormorant Garamond",serif;font-size:22px;color:var(--blue);margin-bottom:0.5rem;}
.enroll-link-box p{font-size:13px;color:var(--mid);margin-bottom:1rem;}
.copy-link{display:inline-block;background:var(--blue);color:var(--white);padding:10px 22px;border-radius:4px;font-size:12px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;}

/* ADMIN */
.admin-banner{background:linear-gradient(135deg,var(--navy2),var(--navy));border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:12px;}
.admin-banner-icon{font-size:20px;}
.admin-banner p{font-size:13px;color:rgba(200,220,235,0.8);margin:0;}
.admin-banner strong{color:var(--gold);}
.dealer-table{width:100%;border-collapse:collapse;font-size:13px;}
.dealer-table th{text-align:left;font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--mid);padding:10px 12px;border-bottom:2px solid var(--border);background:var(--silver-bg);}
.dealer-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle;}
.dealer-table tr:hover td{background:var(--silver-bg);}
.badge-active{background:#e8f5e9;color:#1b5e20;font-size:11px;padding:3px 10px;border-radius:20px;font-weight:500;}
.badge-inactive{background:#f5f5f5;color:var(--light);font-size:11px;padding:3px 10px;border-radius:20px;}
.btn-sm{padding:5px 12px;border-radius:3px;font-size:11px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;border:none;transition:opacity 0.2s;}
.btn-sm:hover{opacity:0.8;}
.btn-remove{background:#ffebee;color:#c0392b;}
.add-dealer-form{background:var(--silver-bg);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-top:1.5rem;}
.add-dealer-form h4{font-family:"DM Sans",sans-serif;font-size:13px;font-weight:500;color:var(--navy);margin-bottom:1rem;}
.add-dealer-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:0.75rem;align-items:end;}
.add-dealer-row .fg{margin-bottom:0;}
.btn-add{padding:10px 18px;background:var(--navy);color:var(--white);border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;white-space:nowrap;}
.btn-add:hover{background:var(--blue);}

/* DASHBOARD — tier, stats, renewals, earnings */
.tier-badge-card{background:linear-gradient(135deg,var(--navy2) 0%,var(--navy) 100%);border:1px solid rgba(184,150,62,0.25);color:var(--white);margin-bottom:1.25rem;}
.tier-badge-inner{display:flex;align-items:flex-start;gap:1.25rem;flex-wrap:wrap;}
.tier-icon-wrap{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid rgba(255,255,255,0.2);background:rgba(0,0,0,0.15);}
.tier-icon{font-size:26px;line-height:1;}
.tier-copy{flex:1;min-width:200px;}
.tier-label{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(200,220,235,0.65);margin-bottom:0.35rem;}
.tier-title{font-family:"Cormorant Garamond",serif;font-size:32px;font-weight:300;color:var(--white);margin-bottom:0.25rem;line-height:1.15;}
.tier-subtitle{font-size:13px;color:rgba(200,220,235,0.78);margin-bottom:1rem;}
.tier-progress-wrap{margin-top:0.5rem;}
.tier-progress-track{height:8px;background:rgba(255,255,255,0.12);border-radius:4px;overflow:hidden;margin-bottom:0.5rem;}
.tier-progress-fill{height:100%;width:0%;border-radius:4px;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width 0.5s ease;}
.tier-progress-label{font-size:12px;color:rgba(200,220,235,0.85);}
.tier-platinum-msg{font-size:13px;color:var(--gold);line-height:1.6;margin-top:0.5rem;font-weight:500;}

.dashboard-period-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;margin-bottom:1.25rem;}
.dashboard-period-label{font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--mid);}
.period-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--white);}
.period-btn{padding:8px 16px;font-size:12px;font-family:"DM Sans",sans-serif;border:none;background:var(--white);color:var(--mid);cursor:pointer;transition:background 0.2s,color 0.2s;}
.period-btn:hover{color:var(--navy);}
.period-btn.active{background:var(--navy);color:var(--white);}
.period-btn + .period-btn{border-left:1px solid var(--border);}

.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;}
.stat-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.35rem;display:flex;flex-direction:column;min-height:140px;}
.stat-card.gold-accent{border-color:rgba(184,150,62,0.35);box-shadow:0 0 0 1px rgba(184,150,62,0.08);}
.stat-card-label{font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--mid);margin-bottom:0.5rem;}
.stat-card-value{font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:400;color:var(--navy);line-height:1.1;}
.stat-card-value.stat-earnings-value{color:var(--gold);font-family:"DM Sans",sans-serif;font-weight:600;font-size:1.85rem;display:flex;align-items:baseline;gap:4px;}
.stat-earnings-value .earn-arrow{font-size:0.75em;opacity:0.75;line-height:1;}
.stat-card-hint{font-size:11px;color:var(--light);margin-top:auto;padding-top:0.65rem;line-height:1.45;}
.earn-arrow{font-size:0.9em;opacity:0.9;}
.sparkline{display:flex;align-items:flex-end;gap:3px;height:36px;margin-top:0.75rem;padding-top:0.5rem;border-top:1px solid var(--border);}
.spark-bar-wrap{flex:1;display:flex;align-items:flex-end;justify-content:center;height:32px;}
.spark-bar{width:100%;max-width:14px;margin:0 auto;background:linear-gradient(180deg,var(--gold2),var(--gold));border-radius:2px 2px 1px 1px;min-height:2px;opacity:0.85;transition:height 0.3s ease;}

.dashboard-quick-actions{display:flex;flex-wrap:wrap;gap:0.65rem;margin-bottom:1.5rem;}
.qa-btn{padding:10px 18px;border-radius:4px;font-size:12px;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;font-family:"DM Sans",sans-serif;cursor:pointer;border:none;background:var(--navy);color:var(--white);transition:background 0.2s;}
.qa-btn:hover{background:var(--blue);}
.qa-btn-secondary{background:var(--white);color:var(--navy);border:1px solid var(--border);}
.qa-btn-secondary:hover{background:var(--silver-bg);}

.renewals-card .renewals-loading,.renewals-card .renewals-empty{text-align:center;padding:1.5rem;color:var(--light);font-size:13px;}
.renewal-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;padding:0.85rem 0;border-bottom:1px solid var(--border);}
.renewal-row:last-child{border-bottom:none;}
.renewal-main{flex:1;min-width:180px;}
.renewal-name{font-weight:500;color:var(--navy);font-size:14px;}
.renewal-boat{font-size:12px;color:var(--mid);margin-top:2px;}
.renewal-meta{display:flex;align-items:center;gap:0.65rem;flex-wrap:wrap;}
.renewal-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;letter-spacing:0.02em;}
.renewal-badge.urgent{background:var(--red-bg);color:var(--red-text);border:1px solid var(--red-border);}
.renewal-badge.soon{background:#fff8e6;color:#8a6d1a;border:1px solid #e6d08a;}
.renewal-badge.upcoming{background:rgba(184,150,62,0.15);color:#7a6220;border:1px solid rgba(184,150,62,0.35);}
.btn-reenroll{padding:6px 14px;font-size:11px;font-weight:500;border-radius:3px;border:1px solid var(--navy);background:var(--white);color:var(--navy);cursor:pointer;font-family:"DM Sans",sans-serif;transition:all 0.2s;}
.btn-reenroll:hover{background:var(--navy);color:var(--white);}

/* ADMIN — NETWORK COMMAND CENTER */
.admin-panel-shell{background:var(--admin-bg,#07121e);border-radius:10px;padding:0 0 1.5rem;margin-bottom:1.5rem;border:1px solid rgba(184,150,62,0.15);}
.admin-cc-banner{background:linear-gradient(135deg,#0a1826,var(--navy));padding:1rem 1.5rem;display:flex;align-items:center;gap:10px;border-radius:10px 10px 0 0;border-bottom:2px solid var(--gold);}
.admin-cc-lock{font-size:18px;}
.admin-cc-title{font-size:12px;font-weight:600;letter-spacing:0.12em;color:var(--gold);font-family:"DM Sans",sans-serif;}
.admin-dashboard-loading{text-align:center;padding:2.5rem;color:rgba(200,220,235,0.7);font-size:14px;}
.admin-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.5rem 1.5rem 0;}
@media(min-width:900px){.admin-stat-grid{grid-template-columns:repeat(4,1fr);}}
.stat-card.admin-stat-card{background:var(--navy);border:1px solid rgba(184,150,62,0.25);border-top:3px solid var(--gold);min-height:120px;padding:1.35rem 1.25rem;}
.admin-stat-label{font-size:10px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:rgba(200,220,235,0.65);margin-bottom:0.5rem;}
.admin-stat-value{font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:400;color:var(--gold);line-height:1.1;}
.admin-stat-note{font-size:11px;color:rgba(200,220,235,0.45);margin-top:0.5rem;line-height:1.4;}
.admin-chart-card,.admin-leaderboard-card,.admin-flag-card,.admin-renewals-network-card,.admin-financial-card,.admin-dealer-mgmt-card{margin:0 1.5rem 1rem;background:var(--white);border-color:rgba(130,160,180,0.22);}
.admin-chart-card{margin-top:0;}
.admin-chart-wrap{position:relative;height:220px;padding:0.5rem 0;}
.admin-flags-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0 1.5rem 1rem;}
@media(max-width:700px){.admin-flags-row{grid-template-columns:1fr;}}
.admin-pill-list{display:flex;flex-direction:column;gap:0.5rem;}
.admin-pill{padding:0.65rem 0.85rem;border-radius:8px;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.admin-pill-warn{background:#fff5f5;border:1px solid #f5c4c4;color:var(--navy);}
.admin-pill-warn span{font-size:11px;color:var(--red-text);}
.admin-pill-good{background:var(--green);border:1px solid var(--green-border);}
.admin-pill-empty{font-size:12px;color:var(--light);padding:0.5rem 0;}
.table-scroll{overflow-x:auto;}
.admin-leaderboard-table{font-size:12px;}
.admin-leaderboard-table th{white-space:nowrap;}
.admin-row-top{border-left:4px solid var(--gold);background:rgba(184,150,62,0.06);}
.top-badge{font-size:9px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;background:var(--gold);color:var(--navy);padding:2px 8px;border-radius:20px;vertical-align:middle;}
.badge-nodata{background:#eef0f2;color:var(--mid);font-size:11px;padding:3px 10px;border-radius:20px;font-weight:500;}
.admin-lb-inactive{background:#ffebee;color:#c0392b;font-size:11px;padding:3px 10px;border-radius:20px;font-weight:500;}
.admin-renewal-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem;padding:0.75rem 0;border-bottom:1px solid var(--border);}
.admin-renewal-row:last-child{border-bottom:none;}
.admin-financial-inner{padding-top:0.5rem;}
.admin-financial-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:0.75rem;}
.admin-financial-label{font-size:13px;color:var(--mid);}
.admin-financial-hint{font-size:11px;color:var(--light);margin:0.5rem 0 1rem;}
.admin-health-bar-track{height:12px;background:var(--silver-bg);border-radius:6px;overflow:hidden;margin-bottom:0.75rem;}
.admin-health-bar-fill{height:100%;width:0%;border-radius:6px;transition:width 0.4s ease;}
.admin-health-bar-fill.health-green{background:linear-gradient(90deg,#43a047,#66bb6a);}
.admin-health-bar-fill.health-amber{background:linear-gradient(90deg,#fbc02d,#fdd835);}
.admin-health-bar-fill.health-red{background:linear-gradient(90deg,#e53935,#ef5350);}
.admin-breakeven-banner{background:#fff8e1;border:1px solid #ffe082;color:#795548;font-size:12px;padding:0.65rem 0.85rem;border-radius:6px;margin-bottom:0.75rem;}
.admin-projected-row{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);}
.admin-section-divider{text-align:center;margin:2rem 1.5rem 1.25rem;padding-top:1.5rem;border-top:1px solid rgba(184,150,62,0.2);}
.admin-section-divider span{font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(200,220,235,0.55);}
.admin-dealer-mgmt-card{margin-top:0;}

/* PRICING MODEL (admin) */
.pricing-panel-shell{max-width:960px;}
.pricing-card-main{margin-bottom:1.25rem;}
.pricing-services-table{font-size:12px;}
.pricing-services-table input[type="text"],.pricing-services-table input[type="number"]{width:100%;min-width:0;padding:6px 8px;font-size:12px;}
.pricing-services-table .pricing-cycle-cell{font-size:11px;color:var(--mid);max-width:140px;}
.pricing-wp-cap{color:#1b5e20;font-weight:600;}
.pricing-wp-margin-cell{color:var(--gold);font-weight:600;}
.pricing-mutual-note{margin-top:1.25rem;padding:0.85rem 1rem;border-left:4px solid var(--gold);background:var(--silver-bg);font-size:12px;color:var(--mid);line-height:1.5;}
.pricing-sliders-card{margin-bottom:1.25rem;}
.pricing-slider-wrap{margin-bottom:1rem;}
.pricing-slider{width:100%;max-width:480px;accent-color:var(--gold);height:8px;}
.pricing-slider-note{font-size:11px;color:var(--light);margin-top:0.35rem;}
.pricing-summary-stats{margin-bottom:1.25rem;grid-template-columns:repeat(2,1fr);}
@media(min-width:900px){.pricing-summary-stats{grid-template-columns:repeat(4,1fr);}}
.pricing-dollar{font-size:11px;color:var(--mid);margin-right:2px;}
.pricing-stat-red .stat-card-value{color:#c0392b;}
.pricing-stat.positive .stat-card-value{color:#1b5e20 !important;}
.pricing-stat.negative .stat-card-value{color:#c0392b !important;}
.pricing-contract-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:0.5rem;}
@media(max-width:900px){.pricing-contract-row{grid-template-columns:1fr;}}
.pricing-contract-card{position:relative;padding-top:1.5rem;}
.pricing-contract-best{border:2px solid #2563eb;box-shadow:0 0 0 1px rgba(37,99,235,0.15);}
.pricing-contract-best-label{position:absolute;top:0.65rem;right:0.75rem;font-size:9px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#2563eb;}
.pricing-contract-badge{font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--mid);margin-bottom:0.35rem;}
.pricing-contract-price{font-family:"Cormorant Garamond",serif;font-size:1.75rem;color:var(--navy);margin-bottom:0.75rem;}
.pricing-contract-lines{font-size:12px;color:var(--mid);line-height:1.65;}
.pricing-contract-lines div{display:flex;justify-content:space-between;gap:0.5rem;border-bottom:1px solid var(--border);padding:0.35rem 0;}
.pricing-contract-lines .profit-pos{color:#1b5e20;font-weight:600;}
.pricing-contract-lines .profit-neg{color:#c0392b;font-weight:600;}
.pricing-commission-footnote{text-align:center;font-size:11px;color:var(--light);margin-bottom:1.25rem;}
.pricing-chart-card{margin-bottom:1.5rem;}
.pricing-chart-wrap{position:relative;height:240px;max-width:100%;}
.pricing-breakeven-note{margin-top:1rem;font-size:13px;font-weight:500;}

/* Ticket history status */
.ticket-status{margin-top:0.65rem;padding:0.5rem 0.75rem;border-radius:8px;font-size:12px;font-weight:500;line-height:1.4;}
.ticket-status-pending{background:#fff8e1;border:1px solid #ffe082;color:#795548;}
.ticket-status-approved{background:#e8f5e9;border:1px solid #a5d6a7;color:#1b5e20;}
.ticket-status-rejected{background:#ffebee;border:1px solid #ffcdd2;color:#b71c1c;}

/* Claims (admin) */
.claims-shell{max-width:960px;}
.claims-section-card{margin-bottom:1.25rem;}
.claims-body{font-size:13px;color:var(--mid);}
.claims-year-total{font-size:13px;font-weight:600;color:var(--navy);margin-bottom:0.75rem;padding:0.5rem 0;}
.claims-queue-row{border:1px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:0.75rem;background:var(--white);}
.claims-queue-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.5rem;margin-bottom:0.5rem;}
.claims-queue-meta{font-size:11px;color:var(--light);}
.claims-queue-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;margin-top:0.75rem;}
.claims-queue-actions input[type="text"]{flex:1;min-width:140px;padding:6px 10px;font-size:12px;border:1px solid var(--border);border-radius:6px;}
.btn-claims-approve{background:#2e7d32;color:#fff;border:none;padding:0.45rem 1rem;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;}
.btn-claims-approve:hover{filter:brightness(1.05);}
.btn-claims-reject{background:#c62828;color:#fff;border:none;padding:0.45rem 1rem;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;}
.btn-claims-reject:hover{filter:brightness(1.05);}
.btn-claims-paid{background:var(--navy);color:var(--gold);border:1px solid rgba(184,150,62,0.4);padding:0.4rem 0.85rem;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;}
.claims-unpaid-group{border:1px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:0.65rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0.75rem;}
.claims-history-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.5rem;padding:0.6rem 0;border-bottom:1px solid var(--border);font-size:12px;}
.claims-history-row:last-child{border-bottom:none;}

.req-star{color:#c62828;font-weight:700;}
.field-err{font-size:12px;color:var(--red-text);margin:-0.25rem 0 0.75rem;padding:0.35rem 0;}
.contract-verify-status{min-height:1.25rem;margin:-0.25rem 0 0.5rem;font-size:12px;line-height:1.45;}
.contract-verify-loading{color:var(--light);}
.contract-verify-ok{color:#1b5e20;}
.contract-verify-warn{color:#f57c00;}
.contract-verify-err{color:var(--red-text);}

.customers-container{margin-top:1rem;}
.customer-search-wrap{margin-bottom:1rem;}
.customer-card{border:1px solid var(--border);border-radius:10px;padding:1.1rem 1.25rem;margin-bottom:0.75rem;background:var(--white);}
.customer-card-name{font-family:"Cormorant Garamond",serif;font-size:1.35rem;color:var(--navy);margin-bottom:0.5rem;}
.customer-card-meta{font-size:13px;color:var(--mid);line-height:1.55;}
.customer-card-row{margin-top:0.35rem;}
.badge-contract-active{background:#e8f5e9;color:#1b5e20;font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600;}
.badge-contract-soon{background:#fff8e1;color:#e65100;font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600;}
.badge-contract-expired{background:#ffebee;color:#b71c1c;font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600;}
.btn-reenroll-sm{margin-left:0.75rem;font-size:11px;padding:4px 10px;border-radius:6px;border:1px solid var(--navy);background:var(--navy);color:var(--gold);cursor:pointer;font-weight:600;}

.admin-master-search-card{margin:0 1.5rem 1rem;}
.admin-inline-loading{font-size:13px;color:rgba(200,220,235,0.7);padding:0.5rem 0;}
.admin-master-table-wrap{margin-top:0.75rem;max-height:420px;overflow:auto;}
.admin-master-table{font-size:12px;}
.admin-master-table tbody tr.admin-mc-summary{cursor:pointer;}
.admin-master-table tbody tr.admin-mc-summary:hover{background:rgba(184,150,62,0.08);}
.admin-mc-detail td{background:var(--silver-bg);font-size:12px;padding:0.85rem 1rem !important;border-top:1px solid var(--border);}
.admin-mc-detail-inner{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0.65rem;}
.admin-mc-detail-inner div span{color:var(--light);font-size:10px;text-transform:uppercase;letter-spacing:0.06em;display:block;}

.admin-hin-conflicts-card{margin:0 1.5rem 1rem;border-left:4px solid #fbc02d;background:#fffef7;}
.admin-hin-conflicts-body{font-size:13px;}
.admin-hin-conflict-row{border:1px solid rgba(251,192,45,0.45);border-radius:8px;padding:0.85rem 1rem;margin-bottom:0.6rem;background:#fff;}
.btn-hin-resolve{background:var(--navy);color:var(--gold);border:none;padding:0.4rem 0.75rem;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;margin-top:0.5rem;}

@media(max-width:768px){.stats-grid{grid-template-columns:1fr;}.stat-card{min-height:auto;}}
@media(max-width:600px){.fr,.add-dealer-row{grid-template-columns:1fr;}.portal-content{padding:1.5rem;}.portal-tabs{padding:0 1rem;}.tab{padding:0.75rem 0.75rem;font-size:12px;}.portal-nav{padding:0 1.25rem;}.ticket-grid{grid-template-columns:1fr 1fr;}.admin-stat-grid{grid-template-columns:1fr;}}