/* ACE account interiors: graphite, ivory, precise typography and quiet controls. */
body[data-portal-role]:not([data-portal-role=""]){
  --ink:#191b1e;--muted:#62666c;--line:#dedfdd;--canvas:#f7f7f4;
  --theme-surface:#fff;--theme-soft:#f0f1ef;--theme-text:#191b1e;
  --theme-muted:#62666c;--theme-border:#dedfdd;
  --theme-accent-soft:#edf1f5;--theme-accent-text:#355772;--theme-accent-border:#aabac8;
  --portal-inverse:#fff;--portal-ink:#191b1e;--blue:#326989;
  --shadow:0 16px 36px #11111108;
  font-family:'DM Sans',sans-serif;background:var(--canvas);color:var(--theme-text);
}
:root[data-theme=dark] body[data-portal-role]:not([data-portal-role=""]){
  --ink:#f1f1ed;--muted:#aeb1b6;--line:#2b2e33;--canvas:#0d0f12;
  --theme-surface:#15181c;--theme-soft:#1d2126;--theme-text:#f1f1ed;
  --theme-muted:#aeb1b6;--theme-border:#2b2e33;
  --theme-accent-soft:#222c36;--theme-accent-text:#c2d5e5;--theme-accent-border:#53697c;
  --portal-inverse:#15181c;--portal-ink:#f1f1ed;--blue:#a1c3dd;
  --shadow:0 16px 36px #0002;
}
body[data-portal-role]:not([data-portal-role=""]) .demo-bar{height:40px;font:11px 'DM Sans',sans-serif;background:var(--theme-surface);color:var(--theme-muted);border-color:var(--theme-border)}
body[data-portal-role]:not([data-portal-role=""]) .demo-tabs a.active{background:var(--theme-soft);color:var(--theme-text);box-shadow:none}
.portal{font-family:'DM Sans',sans-serif;min-height:calc(100dvh - 40px)}
.portal-layout{grid-template-columns:236px minmax(0,1fr);min-height:calc(100dvh - 40px)}
.portal-body{min-width:0}
[data-theme] .portal .sidebar{background:var(--theme-surface);color:var(--theme-text);padding:30px 22px 24px;gap:34px;border-color:var(--theme-border);position:sticky;top:0;height:100dvh;overflow-y:auto;align-self:start}
.portal .sidebar>.portal-brand{display:block;margin:0 10px}
.portal .sidebar .brand{margin:0;width:118px}
.portal .sidebar .brand-logo{width:118px;height:54px}
[data-theme=light] .portal .sidebar .brand-logo{background:#090b0e;padding:4px 8px}
.portal-brand-caption{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--theme-muted);margin-top:14px}
.portal .workspace-label{font-size:9px;letter-spacing:.17em;font-weight:500;color:var(--theme-muted);margin:0 10px 15px;text-transform:uppercase}
.portal .side-nav,.portal .nav-primary,.portal .nav-group-links{display:grid;gap:3px;overflow:visible}
.portal .side-nav a{padding:10px 11px;min-height:42px;border:1px solid transparent;border-radius:3px;gap:11px;font-size:13px;line-height:1.45;font-weight:400;color:var(--theme-muted);white-space:normal;transition:background-color .15s,color .15s,border-color .15s}
.portal .side-nav a .icon{width:16px;height:16px;stroke-width:1.3;opacity:.75}
[data-theme] .portal .side-nav a.active{background:var(--theme-soft);color:var(--theme-text);border-color:transparent;font-weight:500;box-shadow:inset 2px 0 0 var(--theme-accent-text)}
[data-theme] .portal .side-nav a:hover{background:var(--theme-soft);color:var(--theme-text)}
.portal .side-nav a.active .icon{opacity:1}
.portal .nav-group{border-top:1px solid var(--theme-border);margin-top:14px;padding-top:13px}
.portal .nav-group summary{list-style:none;cursor:pointer;position:relative;padding:7px 24px 7px 10px;font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--theme-muted)}
.portal .nav-group summary::-webkit-details-marker{display:none}
.portal .nav-group summary:before,.portal .nav-group summary:after{content:'';position:absolute;right:9px;top:50%;height:1px;width:8px;background:currentColor}
.portal .nav-group summary:after{transform:rotate(90deg);transition:transform .15s}
.portal .nav-group[open] summary:after{transform:rotate(0)}
.portal .nav-group summary:focus-visible{outline:2px solid var(--theme-accent-text);outline-offset:2px}
.portal .nav-group-links{margin-top:8px}
.portal .side-bottom{border-color:var(--theme-border);padding:22px 10px 0;margin-top:auto}
.portal .side-bottom strong{font-size:12px;font-weight:500}
.portal .side-bottom small{font-size:10px;letter-spacing:.02em}
.portal .side-bottom>a,.portal .side-bottom>button{font-size:11px;font-weight:400;gap:9px;color:var(--theme-muted)}
.portal .avatar{background:transparent;border:1px solid var(--theme-border);color:var(--theme-text);font-size:10px;width:31px;height:31px;letter-spacing:.05em}
.portal-top{height:80px;padding:0 42px;background:var(--canvas);border-color:var(--theme-border);gap:20px}
.portal-top .bread{font-size:10px;letter-spacing:.025em;color:var(--theme-muted);gap:10px}
.portal-top .bread b{font-size:11px;font-weight:500;color:var(--theme-text)}
.portal-top .bread .icon{width:12px;height:12px;opacity:.4}
.portal-top>.row{gap:15px}
.portal-top .icon-button{color:var(--theme-muted)}
.portal .portal-top .pill.blue{font-size:9px;letter-spacing:.09em;text-transform:uppercase;background:transparent;color:var(--theme-muted);padding:0}
.portal .select-small{font-size:11px;padding:7px 10px;border-radius:3px;background:var(--theme-surface);border-color:var(--theme-border);color:var(--theme-text)}
.portal-account{position:relative}
.portal-account summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px}
.portal-account summary::-webkit-details-marker{display:none}
.portal-account-name{font-size:11px;font-weight:500;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-account-menu{position:absolute;right:0;top:calc(100% + 15px);min-width:185px;padding:8px;border:1px solid var(--theme-border);background:var(--theme-surface);box-shadow:var(--shadow);border-radius:4px;z-index:40;display:grid;gap:2px}
.portal-account-menu a,.portal-account-menu button{background:transparent;color:var(--theme-text);font:12px 'DM Sans',sans-serif;text-align:left;padding:10px 12px;cursor:pointer;white-space:nowrap;border-radius:2px}
.portal-account-menu a:hover,.portal-account-menu button:hover{background:var(--theme-soft)}
.portal-main{padding:42px 42px 36px;max-width:1536px;margin:auto;min-width:0}
.portal .dashboard-title{margin-bottom:34px;align-items:flex-end}
.portal .dashboard-title .eyebrow{color:var(--theme-muted);font-size:9px;letter-spacing:.19em;font-weight:500;margin-bottom:16px}
.portal h1,.portal h2,.portal h3,.portal h4{font-family:Manrope,sans-serif;font-weight:500;color:var(--theme-text)}
.portal .dashboard-title h1{font-size:clamp(29px,3vw,43px);letter-spacing:-.05em;line-height:1.14;margin-bottom:12px;font-weight:400}
.portal .dashboard-title p{font-size:13px;line-height:1.7;color:var(--theme-muted);max-width:650px}
.portal .eyebrow{font:500 9px 'DM Sans',sans-serif;letter-spacing:.17em;color:var(--theme-muted)}
.portal .panel{border-radius:4px;padding:27px 28px;box-shadow:none;border-color:var(--theme-border);background:var(--theme-surface)}
.portal .panel h3{font-size:17px;font-weight:500;letter-spacing:-.025em;margin-bottom:23px}
.portal .panel-head{margin-bottom:23px;gap:16px}
.portal .panel-head h3{font-size:16px;margin:0}
.portal .panel-head>span{font-size:10px;color:var(--theme-muted)}
.portal .table-panel{padding:25px 0 0}
.portal .table-panel>.panel-head{padding:0 27px}
.portal-main > .panel + .panel:not(.op-panel){margin-top:24px}
.portal .stat-grid{gap:0;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-surface);overflow:hidden;margin:0 0 30px}
.portal .stat-card{background:transparent;border:0;border-right:1px solid var(--theme-border);border-radius:0;padding:27px 25px;min-height:145px;box-shadow:none;color:var(--theme-text)}
.portal .stat-card:last-child{border-right:0}
.portal .stat-card .label{font-size:11px;letter-spacing:.02em;color:var(--theme-muted);margin-bottom:20px;max-width:calc(100% - 23px)}
.portal .stat-card .value{font:400 clamp(24px,2.3vw,35px) Manrope,sans-serif;letter-spacing:-.06em;font-variant-numeric:tabular-nums;line-height:1.1}
.portal .stat-card .stat-note{font-size:11px;color:var(--theme-muted);margin-top:14px;line-height:1.6}
.portal .stat-card .stat-icon{background:transparent;color:var(--theme-muted);width:18px;height:18px;top:27px;right:21px}
.portal .stat-card .stat-icon .icon{width:15px;height:15px;stroke-width:1.3}
.portal .stat-card.featured{background:var(--theme-soft);color:var(--theme-text);border-color:var(--theme-border)}
.portal .stat-card.featured .label,.portal .stat-card.featured .stat-note,.portal .stat-card.featured .stat-icon{color:var(--theme-muted)}
.portal .stat-card:hover{background:var(--theme-accent-soft);box-shadow:none}
.portal .dashboard-panels{gap:24px;margin-bottom:28px;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr)}
.portal .chart{height:220px;background:repeating-linear-gradient(to top,transparent 0,transparent 48px,var(--theme-border) 49px,var(--theme-border) 50px);gap:20px;border-color:var(--theme-border);margin:0}
.portal .bar{background:var(--theme-accent-border);border-radius:1px 1px 0 0;width:45%}
.portal .bar-column:last-child .bar{background:var(--theme-accent-text)}
.portal .bar-value,.portal .bar-column .bar-label{color:var(--theme-muted);font-size:10px;font-variant-numeric:tabular-nums}
.portal .data-table{font-size:13px;font-variant-numeric:tabular-nums}
.portal .data-table th{background:var(--theme-soft);font-size:10px;font-weight:500;letter-spacing:.075em;color:var(--theme-muted);padding:14px 18px;border-color:var(--theme-border)}
.portal .data-table td{padding:18px;border-color:var(--theme-border)}
.portal .data-table td strong{font-size:12px;font-weight:500}
.portal .data-table .sub{font-size:11px;line-height:1.6;color:var(--theme-muted)}
.portal .data-table .btn{font-size:10px;min-height:31px;padding:7px 11px}
.portal .crm-reservations th,.portal .crm-reservations td{padding:15px 10px;white-space:normal;overflow-wrap:anywhere}
.portal .crm-reservations td:last-child{padding-left:6px;padding-right:6px}
.portal .crm-reservations .btn{white-space:nowrap;padding:7px 6px}
.portal .table-foot{font-size:10px;border-color:var(--theme-border);padding:16px 27px}
.portal .op-panel,.portal .hq-panel{min-width:0}
.portal .op-welcome{background:transparent;color:var(--theme-muted);border:0;border-bottom:1px solid var(--theme-border);border-radius:0;padding:0 0 17px;margin-bottom:28px;font-size:11px;line-height:1.6;gap:20px}
.portal .op-welcome a,.portal .op-welcome button{font-size:11px;font-weight:500;color:var(--theme-text)}
.portal .hq-intro,.portal .info-box{background:var(--theme-soft);border-radius:3px;border-color:var(--theme-border);font-size:12px;color:var(--theme-muted)}
.portal .info-box p{color:inherit}
.portal .btn{background:var(--portal-ink);color:var(--portal-inverse);border:1px solid var(--portal-ink);border-radius:3px;font-size:11px;letter-spacing:.03em;font-weight:500;min-height:42px;padding:12px 18px;transition:opacity .15s,background-color .15s;transform:none}
.portal .btn:hover{opacity:.82;transform:none}
[data-theme] .portal .btn.secondary{background:transparent;color:var(--theme-text);border-color:var(--theme-border)}
.portal .btn.secondary:hover{background:var(--theme-soft);opacity:1}
.portal .btn.compact{padding:8px 13px;min-height:34px;font-size:11px}
.portal .link-button{color:var(--theme-text);font-size:11px;font-weight:500}
.portal .pill{font-size:11px;font-weight:500;letter-spacing:.01em;border-radius:2px;padding:4px 8px}
.portal .form-field{font:400 12px 'DM Sans',sans-serif;gap:8px;color:var(--theme-muted)}
.portal .form-field input,.portal .form-field select,.portal .form-field textarea{font:400 13px 'DM Sans',sans-serif;border-radius:3px;padding:12px;border-color:var(--theme-border);background:var(--theme-surface);color:var(--theme-text)}
.portal .form-grid{gap:22px}
.portal .check-row{font-size:12px;font-weight:400}
.portal .filter{background:transparent;color:var(--theme-muted);border-color:var(--theme-border);border-radius:3px;font-size:11px}
.portal .filter.active{background:var(--theme-text);color:var(--portal-inverse);border-color:var(--theme-text)}
.portal .note,.portal .portal-note{font-size:10px;color:var(--theme-muted);line-height:1.8}
.portal .portal-note{border-top:1px solid var(--theme-border);margin-top:40px;padding-top:18px;letter-spacing:.015em}
.portal .request-mini{border-color:var(--theme-border);padding-bottom:20px;margin-bottom:20px}
.portal .request-mini strong{font-size:13px;font-weight:500}
.portal .request-mini p{font-size:11px}
.portal .portal-welcome{display:grid;grid-template-columns:1fr 1fr;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:4px;overflow:hidden;margin-bottom:36px}
.portal-welcome-copy{padding:46px 38px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}
.portal .portal-welcome .eyebrow{margin-bottom:25px;font-size:9px;letter-spacing:.18em}
.portal .portal-welcome h1{font:400 clamp(30px,3.1vw,48px) Manrope,sans-serif;letter-spacing:-.055em;line-height:1.12;margin-bottom:19px}
.portal .portal-welcome p{font-size:13px;line-height:1.8;max-width:340px;color:var(--theme-muted)}
.portal-welcome-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:29px}
.portal-welcome-photo{min-height:330px;position:relative;background:#0c0f14}
.portal-welcome-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:66% center}
.portal-welcome-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0005,transparent 55%)}
.portal-welcome-photo span{position:absolute;bottom:23px;left:25px;right:25px;color:#f2f2ef;z-index:1;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.portal-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:17px;margin:0 0 21px;border-bottom:1px solid var(--theme-border)}
.portal .portal-section-head h2{font-size:17px;letter-spacing:-.03em}
.portal .portal-section-head>div{display:flex;align-items:center;gap:13px}
.portal-section-index{font-size:9px;color:var(--theme-muted);font-variant-numeric:tabular-nums}
.portal .rental-card{grid-template-columns:240px minmax(0,1fr);border-radius:4px;margin-bottom:22px}
.portal .rental-card>img{min-height:235px}
.portal .rental-card-content{padding:29px 30px}
.portal .rental-card h3{font-size:26px;font-weight:400;letter-spacing:-.04em;margin:16px 0}
.portal .rental-meta{font-size:11px;gap:23px;margin:18px 0 24px;color:var(--theme-muted)}
.portal .rental-meta .icon{width:14px;height:14px;stroke-width:1.3;margin-right:5px}
.portal .rental-card-content .between>.small{font-size:11px;max-width:380px;line-height:1.7}
.portal .rewards-strip{background:var(--theme-soft);color:var(--theme-text);border-color:var(--theme-border);border-radius:4px;padding:26px 28px;gap:30px}
.portal .rewards-strip p,.portal .rewards-strip .row{color:var(--theme-muted);font-size:11px}
.portal .rewards-strip strong{font:500 17px Manrope,sans-serif;letter-spacing:-.025em}
.portal .settings-card{gap:24px}
.portal .settings-card .panel p{font-size:12px;line-height:1.8}
.portal .empty{background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:4px;padding:45px 30px}
.portal .empty h3{font-size:21px}
.portal .empty p{font-size:12px;line-height:1.8}
.portal .client-browse .page-intro{background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:4px;padding:30px}
.portal .client-browse .page-intro h1{font:400 clamp(28px,3vw,40px) Manrope,sans-serif}
.portal .car-card{border-radius:4px;box-shadow:none}
.portal .car-card:hover{transform:translateY(-2px);box-shadow:none}
.portal .car-content{padding:23px}
.portal .car-category{font-size:9px;letter-spacing:.09em}
.portal .car-content h3{font-size:19px;font-weight:500}
.portal .price{font-weight:400;font-variant-numeric:tabular-nums}
.portal .car-go{width:33px;height:33px;border-radius:50%;background:var(--theme-soft);border:1px solid var(--theme-border);color:var(--theme-text)}
.portal .reward-checkout{border-radius:4px;background:var(--theme-soft);border-color:var(--theme-border);color:var(--theme-text)}
.portal .reward-checkout .link-button{color:var(--theme-text)}
body[data-portal-role]:not([data-portal-role=""]) dialog:not(.ace-datepicker){font-family:'DM Sans',sans-serif;border-radius:5px;border-color:var(--theme-border);box-shadow:0 25px 100px #0004}
body[data-portal-role]:not([data-portal-role=""]) dialog .modal-head{padding:23px 28px}
body[data-portal-role]:not([data-portal-role=""]) dialog .modal-head h2{font:500 21px Manrope,sans-serif;letter-spacing:-.035em}
body[data-portal-role]:not([data-portal-role=""]) dialog .modal-body{padding:26px 28px}
@media(min-width:1500px){.portal-main{padding:50px 56px 40px}.portal-top{padding:0 56px}.portal-layout{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:1100px){.portal-layout{grid-template-columns:210px minmax(0,1fr)}[data-theme] .portal .sidebar{padding:27px 16px}.portal-main{padding:32px 27px}.portal-top{padding:0 27px}.portal .dashboard-panels{grid-template-columns:1fr}.portal-welcome-copy{padding:35px 27px}.portal .stat-card{padding:24px 18px}.portal .stat-card .stat-icon{right:16px}.portal .rental-card{grid-template-columns:190px minmax(0,1fr)}.portal .rental-card-content{padding:24px}.portal .rental-card-content .between{flex-wrap:wrap}}
@media(max-width:860px){
 .portal-layout{display:block}
 [data-theme] .portal .sidebar{position:static;height:auto;overflow:visible;display:block;padding:21px 25px 18px;border-right:0;border-bottom:1px solid var(--theme-border)}
 .portal .sidebar>.portal-brand{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px}
 .portal .sidebar .brand{display:flex;width:auto}
 .portal .sidebar .brand-logo{width:91px;height:42px}
 .portal-brand-caption{margin:0;font-size:8px}
 .portal .workspace-label,.portal .side-bottom{display:none}
 .portal .side-nav{display:grid;overflow:visible;padding:0;gap:0}
 .portal .nav-primary{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 .portal .side-nav a{font-size:11px;padding:9px 10px;gap:7px;min-height:39px}
 .portal .nav-group{margin-top:12px;padding-top:7px}
 .portal .nav-group-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-top{height:65px;padding:0 25px}
 .portal-top .bread{font-size:9px}
 .portal-account-name{display:none}
 .portal-main{padding:29px 25px}
 .portal .dashboard-title{gap:20px;flex-wrap:wrap}
 .portal .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal .stat-card:nth-child(2){border-right:0}
 .portal .stat-card:nth-child(-n+2){border-bottom:1px solid var(--theme-border)}
 .portal .portal-welcome{grid-template-columns:1fr 1fr}
 .portal-welcome-photo{min-height:310px}
 .portal .rental-card{grid-template-columns:200px minmax(0,1fr)}
 .portal .settings-card{grid-template-columns:1fr}
}
@media(max-width:640px){
 .portal .sidebar .brand{display:flex}
 .portal-main{padding:25px 18px}
 .portal-top{padding:0 18px;gap:12px}
 .portal-top .bread{max-width:45%;line-height:1.5;gap:6px;flex-wrap:wrap}
 .portal-top>.row{gap:9px;min-width:0}
 .portal-top .select-small{max-width:120px;font-size:10px}
 .portal .portal-top .pill.blue{display:none}
 .portal .portal-welcome{grid-template-columns:1fr}
 .portal-welcome-copy{padding:31px 26px}
 .portal-welcome-photo{min-height:220px}
 .portal .portal-welcome h1{font-size:37px}
 .portal .portal-welcome .eyebrow{margin-bottom:21px}
 .portal .panel{padding:23px 20px}
 .portal .table-panel{padding:22px 0 0}
 .portal .table-panel>.panel-head{padding:0 20px}
 .portal .op-welcome{font-size:10px;flex-wrap:wrap;gap:8px}
 .portal .stat-card{min-height:140px;padding:22px 19px}
 .portal .stat-card .value{font-size:29px}
 .portal .stat-card .stat-icon{right:17px;top:22px}
 .portal .stat-card .stat-note{max-width:none}
 .portal .rental-card{grid-template-columns:1fr}
 .portal .rental-card>img{height:200px;min-height:0}
 .portal .rental-card-content{padding:24px}
 .portal .rental-card h3{font-size:24px}
 .portal .rewards-strip{padding:23px 24px;flex-wrap:wrap;gap:15px}
 .portal .crm-reservations td{padding:10px}
 .portal .crm-reservations .btn{width:100%}
 .portal .client-browse .page-intro{padding:24px 20px}
 .portal-section-head{gap:12px}
 .portal .portal-section-head h2{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.portal .side-nav a,.portal .nav-group summary:after,.portal .btn,.portal .car-card{transition:none}.portal .car-card:hover{transform:none}}

.portal-account summary:focus-visible{outline:2px solid var(--theme-accent-text);outline-offset:4px;border-radius:3px}

body[data-portal-role]:not([data-portal-role=""]) dialog:not(.ace-datepicker) .btn{background:var(--portal-ink);color:var(--portal-inverse);border:1px solid var(--portal-ink);border-radius:3px;font:500 12px 'DM Sans',sans-serif;letter-spacing:.025em;transform:none}
body[data-portal-role]:not([data-portal-role=""]) dialog:not(.ace-datepicker) .btn.secondary{background:transparent;color:var(--theme-text);border-color:var(--theme-border)}
body[data-portal-role]:not([data-portal-role=""]) dialog:not(.ace-datepicker) .btn:hover{opacity:.82;transform:none}
body[data-portal-role]:not([data-portal-role=""]) dialog:not(.ace-datepicker) .form-field{font:400 12px 'DM Sans',sans-serif;color:var(--theme-muted)}

/* Admin invitation setup follows the current theme without wide DNS tables. */
.invitation-setup summary {cursor:pointer;font-weight:600;padding:14px 0;}
.invitation-dns {display:grid;gap:12px;}
.invitation-dns article,.invitation-draft {display:grid;gap:8px;padding:16px;border:1px solid var(--theme-border,var(--line));border-radius:12px;background:var(--theme-surface,#fff);}
.invitation-dns code {white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;user-select:all;}
.invitation-draft {margin-top:12px;overflow-wrap:anywhere;}
.partner-invitations [role="alert"]:empty {display:none;}
