:root{--control-height:44px;--field-font-size:16px;--space-sm:8px;--space-md:16px;--radius-control:8px;--mobile-nav-height:70px;--mobile-nav-gap:12px;--mobile-nav-rise:22px;--mobile-content-gap:16px;--bg:#f4f2ec;--panel:#fbfaf6;--ink:#1c1b19;--mut:#6f6b62;--line:#d8d4c8;--acc:#b2400f;--bad:#a4241a;--mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;font:14px/1.5 "IBM Plex Sans","Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}
main{margin:0 auto;padding:30px 36px;max-width:1500px}main:focus{outline:2px solid var(--acc);outline-offset:-2px}
header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
h1{font-size:26px;font-weight:600;letter-spacing:-.01em;margin:2px 0 0}h2{font-size:16px;margin:24px 0 10px}p{line-height:1.6}
.eyebrow{font:500 10px var(--mono);letter-spacing:.16em;color:var(--mut);margin:0}
.who{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--mut)}
button,.button{border:1px solid var(--ink);border-radius:2px;background:transparent;color:var(--ink);padding:7px 12px;cursor:pointer;font:inherit;display:inline-block}
button:hover,.button:hover{background:var(--ink);color:var(--bg)}
button.primary{background:var(--acc);border-color:var(--acc);color:#fff}button.primary:hover{background:var(--acc-dark);border-color:var(--acc-dark)}
button.danger{color:var(--bad);border-color:var(--bad)}button.danger:hover{background:var(--bad);color:#fff}
input,select{border:1px solid var(--line);border-bottom-color:var(--ink);border-radius:0;padding:8px;background:var(--panel);color:var(--ink);font:inherit;min-width:0;width:100%}
input[type=checkbox],input[type=radio]{width:auto}input[readonly]{background:var(--bg);color:var(--mut)}.cust-mode{grid-column:1/-1;display:flex;gap:22px}.cust-mode label{display:flex;gap:6px;align-items:center}input:focus,select:focus{outline:2px solid var(--acc);outline-offset:-1px}button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.actions,.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar{margin:16px 0}.toolbar input{max-width:260px}
.card{background:var(--panel);border:1px solid var(--line);padding:20px;margin-bottom:16px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink);margin:18px 0}
.stat{padding:14px 14px 14px 0;border-bottom:1px solid var(--line)}.stat span{display:block;font-size:12px;color:var(--mut);margin-bottom:8px}.stat strong{font:500 20px var(--mono);letter-spacing:-.02em}
.table-wrap{overflow:auto;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);max-height:65vh}
table{border-collapse:collapse;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{background:var(--bg);position:sticky;top:0;z-index:1;font:500 11px var(--mono);letter-spacing:.04em}
td.calculated{color:var(--ok)}td.bad{color:var(--bad);font-weight:600}tbody tr:hover td{background:var(--hover-row)}
td button{padding:3px 8px;font-size:11px;margin-right:4px}.empty{padding:32px;text-align:center;color:var(--mut)}
footer{margin:24px 0;color:var(--mut);font-size:11px}
dialog{width:min(900px,95vw);max-height:90vh;border:1px solid var(--ink);border-radius:0;padding:26px;background:var(--panel);color:var(--ink)}dialog::backdrop{background:#1c1b1999}
.dialog-head{display:flex;justify-content:space-between;align-items:center}
.form-grid,.form-grid2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.form-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
label.field{font-size:12px;display:flex;flex-direction:column;gap:6px;color:var(--mut)}
#edit-note,.muted{color:var(--mut);font-size:12px}#form-error,.error{color:var(--bad)}
#message:not(:empty){padding:10px 14px;margin-bottom:14px;border-left:3px solid var(--acc);background:var(--panel)}
.period{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.period label{font-size:12px;max-width:180px}.period input{margin-top:6px}
.invoice-doc{max-width:820px}.invoice-issuer{margin-bottom:14px}.invoice-doc .num{text-align:right;white-space:nowrap}.invoice-title{display:flex;justify-content:space-between}.invoice-total{max-width:420px;margin:22px 0 0 auto}.invoice-total p{display:flex;justify-content:space-between;margin:6px 0}
@media print{.invoice-doc thead th{white-space:nowrap;overflow-wrap:normal}}
.badge{padding:3px 8px;border:1px solid var(--ink);font:500 11px var(--mono)}
.guide li{margin-bottom:12px;line-height:1.7}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:16px}.detail-grid>div{border-bottom:1px solid var(--line);padding:8px 0}.detail-grid span{display:block;color:var(--mut);font-size:11px}.detail-grid strong{display:block;white-space:normal;overflow-wrap:anywhere;font-weight:500}.detail-grid strong.calculated{color:var(--ok)}
.booking-customer-quick{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-customer-quick h3,.booking-customer-quick p{grid-column:1/-1;margin:0}
#login{position:fixed;inset:0;z-index:50;background:var(--bg);display:grid;place-items:center;padding:20px}
#login form{width:min(380px,100%);display:flex;flex-direction:column;gap:14px;border-top:2px solid var(--ink);padding-top:18px}#login h1{margin:0 0 4px}
.opts{border:1px solid var(--line);background:var(--panel);padding:14px 16px;margin:16px 0}.opts summary{cursor:pointer;font-weight:600}
.opt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;margin:12px 0}.opt-grid label{display:flex;gap:8px;align-items:center}
.off{opacity:.3}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.print-head{display:none;font-size:11px;border-bottom:1px solid #000;padding-bottom:6px;margin-bottom:10px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.opt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:1fr}}
@media(max-width:760px){main{margin:0;padding:18px}header{display:block}.who{margin-top:10px}.form-grid,.form-grid2,.booking-customer-quick,.detail-grid,.opt-grid{grid-template-columns:1fr}dialog{padding:18px}}
@page{size:A4;margin:14mm}
@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}
aside,header,.site-header,.mobile-nav,.overlay,.notice,.toolbar,footer,#message,.no-print,#login,dialog,.opts{display:none!important}
body,:root{background:#fff!important;color:#000}main{margin:0;padding:0 6mm;max-width:none;width:100%}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.table-wrap{border-top:1px solid #000}.stat{padding-right:10px}.print-head{display:block}
.table-wrap{max-height:none;overflow:visible}table{font-size:10px;table-layout:auto}
th,td{white-space:normal;overflow-wrap:anywhere;padding:5px 7px}th{position:static}thead{display:table-header-group}
tr,.stat,.card,.invoice-total{break-inside:avoid}h2{break-after:avoid}.card{border:0;padding:0;background:none}
.off{display:none!important}.stat strong{font-size:16px}}
.table-wrap tbody tr[data-row-detail]{cursor:pointer}.chip{display:inline-block;padding:1px 7px;border:1px solid currentColor;font:500 11px var(--mono);letter-spacing:.03em}.c-ok{color:var(--ok)}.c-warn{color:#8a5a00}.c-bad{color:var(--bad)}.c-mut{color:var(--mut)}
.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.steps li.done span{text-decoration:line-through;color:var(--mut)}.steps em{font:500 11px var(--mono);color:var(--ok);font-style:normal}
.sec{grid-column:1/-1;margin:8px 0 0;font:500 11px var(--mono);letter-spacing:.14em;color:var(--mut);text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:4px}
.sec-d{grid-column:1/-1}.sec-d summary{cursor:pointer;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.sec-d .form-grid{margin-bottom:0}
.toolbar select{max-width:180px}.opts summary{list-style:none}.biz{border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:16px}.sig{display:flex;justify-content:space-between;margin-top:34px;gap:20px}.sign{text-align:center;min-width:180px}
.gantt th,.gantt td{padding:4px 3px;text-align:center;font-size:10px;min-width:22px}.gantt td:first-child,.gantt th:first-child{text-align:left;min-width:150px;position:sticky;left:0;background:var(--bg)}.gantt td.busy{background:var(--acc);color:#fff;font-size:9px}.gantt tbody tr:hover td.busy{background:var(--acc)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:8px;top:-48px;background:var(--ink);color:var(--bg);padding:9px 14px;z-index:100;transition:top .15s;text-decoration:none;font:500 12px var(--mono)}.skip-link:focus{top:8px}
fieldset.cust-mode{border:0;padding:0;margin:0;min-width:0}
.td-label{display:none}
@media(max-width:760px){.table-wrap{max-height:none;border:0}table.cards,table.cards tbody,table.cards tr,table.cards td{display:block;width:100%}table.cards thead{display:none}table.cards tr{border:1px solid var(--line);background:var(--panel);margin:0 0 10px;padding:6px 10px}table.cards td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0;white-space:normal;text-align:right}table.cards td .td-label{display:block;color:var(--mut);text-align:left}}

/* ===== Navbar gaya BABE OTO: header sticky + indikator geser, panel menu gelap, bottom nav mobile ===== */
:root{--ease:cubic-bezier(.2,.8,.2,1);--nav-acc-hi:#d8632a;--nav-line-strong:#a5a39f;--nav-dark:#15171b}
.icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.site-header{position:sticky;top:0;z-index:80;display:block;margin:0;padding:0;border-bottom:1px solid rgb(165 163 159/38%);background:rgba(244,242,236,.92);background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
.header__inner{max-width:1500px;min-height:68px;margin:0 auto;padding:0 36px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px}
.nav-brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}
.nav-brand__mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--ink);color:var(--bg);font:600 12px var(--mono);letter-spacing:-.04em}
.nav-brand__text{display:block;font:600 14px/1.1 var(--mono);letter-spacing:.14em}
.nav-brand__text small{display:block;margin-top:4px;color:var(--mut);font-weight:400;font-size:10px;letter-spacing:.14em}
.main-nav{--nav-x:13px;--nav-w:36px;position:relative;display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}
.main-nav a{position:relative;z-index:1;padding:12px 13px;border-radius:99px;color:var(--mut);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .18s,color .18s}
.main-nav a:hover,.main-nav a[aria-current]{background:var(--panel);color:var(--ink)}
.main-nav__indicator{position:absolute;bottom:6px;left:0;z-index:2;width:var(--nav-w);height:2px;border-radius:2px;background:var(--acc);pointer-events:none;transform:translateX(var(--nav-x));transition:width 420ms var(--ease),transform 420ms var(--ease);will-change:width,transform}
.header-actions{display:flex;align-items:center;gap:8px}
.icon-button{width:42px;height:42px;padding:0;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);transition:transform .18s var(--ease),border-color .18s,background .18s}
.menu-button{height:42px;padding:0 16px 0 14px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:99px;background:var(--panel);color:var(--ink);font-size:13px;font-weight:600;transition:transform .18s var(--ease),border-color .18s,color .18s}
.icon-button:hover,.menu-button:hover{transform:translateY(-2px);border-color:var(--nav-line-strong);background:var(--panel);color:var(--ink)}
.menu-button.is-current{border-color:var(--acc);color:var(--acc)}
.menu-button__bars{width:18px;height:13px;display:grid;align-content:space-between}
.menu-button__bars span{height:1.8px;display:block;border-radius:2px;background:currentColor;transform-origin:center;transition:transform .36s var(--ease),width .36s var(--ease)}
.menu-button__bars span:nth-child(2){width:72%;justify-self:end}
.menu-button[aria-expanded="true"] .menu-button__bars span:first-child{transform:translateY(5.6px) rotate(45deg)}
.menu-button[aria-expanded="true"] .menu-button__bars span:nth-child(2){width:0}
.menu-button[aria-expanded="true"] .menu-button__bars span:last-child{transform:translateY(-5.6px) rotate(-45deg)}
.site-header a:focus-visible,.site-header button:focus-visible,.mobile-nav a:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

.overlay{position:fixed;inset:0;z-index:160;visibility:hidden;opacity:0;background:rgb(7 9 12/55%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .36s,visibility .36s}
.overlay.is-open{visibility:visible;opacity:1}
.menu-panel,.search-panel{position:absolute;top:0;right:0;width:min(560px,100%);height:100%;overflow-x:hidden;overflow-y:auto;transform:translateX(100%);transition:transform .36s var(--ease)}
.overlay.is-open .menu-panel,.overlay.is-open .search-panel{transform:translateX(0)}
.menu-panel{padding:0;background:var(--nav-dark);color:#f8f6f1;box-shadow:-24px 0 80px rgb(0 0 0/34%);scrollbar-color:#4b4f57 var(--nav-dark)}
.menu-panel::before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:linear-gradient(180deg,var(--nav-acc-hi),var(--acc) 55%,#6f2608)}
.menu-panel :focus-visible{outline:2px solid #f0a679;outline-offset:3px}
.menu-panel__header{position:sticky;top:0;z-index:3;padding:22px 30px 18px 34px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgb(255 255 255/10%);background:rgba(21,23,27,.92);background:color-mix(in srgb,var(--nav-dark) 90%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.menu-panel__header-copy{display:flex;align-items:center;gap:13px}
.menu-panel__mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgb(255 255 255/15%);border-radius:13px;background:#202329;color:#fff;font:600 12px var(--mono);letter-spacing:-.04em}
.menu-panel__header small{display:block;margin-bottom:3px;color:#aeb3bc;font:500 9px var(--mono);letter-spacing:.17em;text-transform:uppercase}
.menu-panel__header h2{margin:0;color:#fff;font-size:22px;font-weight:600;letter-spacing:-.02em}
.menu-panel__header .icon-button{border-color:rgb(255 255 255/14%);background:#202329;color:#fff}
.menu-panel__header .icon-button:hover{border-color:rgb(255 255 255/32%);background:#282c33;color:#fff}
.menu-panel__body{padding:26px 30px calc(30px + env(safe-area-inset-bottom)) 34px}
.menu-intro{margin-bottom:24px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px}
.menu-intro p{max-width:390px;margin:0;color:#bbc0c9;font-size:13px;line-height:1.65}
.menu-live{display:inline-flex;align-items:center;gap:7px;color:#fff;font:500 10px var(--mono);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.menu-live:empty{display:none}
.menu-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--nav-acc-hi);box-shadow:0 0 0 5px rgb(216 99 42/16%)}
.menu-section-label{margin:0 0 11px;color:#858b96;font:500 9px var(--mono);letter-spacing:.17em;text-transform:uppercase}
.menu-primary{margin-bottom:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.menu-primary a{position:relative;min-height:104px;padding:17px;overflow:hidden;border:1px solid rgb(255 255 255/10%);border-radius:18px;background:linear-gradient(145deg,#202329,#191b20);color:inherit;text-decoration:none;transition:border-color .18s,background .18s,transform .18s var(--ease)}
.menu-primary a::after{content:"";position:absolute;right:-28px;bottom:-34px;width:90px;height:90px;border:1px solid rgb(255 255 255/7%);border-radius:50%;transition:border-color .18s,transform .36s var(--ease)}
.menu-primary a:hover,.menu-primary a:focus-visible,.menu-primary a[aria-current]{border-color:color-mix(in srgb,var(--nav-acc-hi) 70%,transparent);background:linear-gradient(145deg,#272a31,#1c1f24);transform:translateY(-2px)}
.menu-primary a:hover::after,.menu-primary a:focus-visible::after{border-color:rgb(216 99 42/35%);transform:scale(1.14)}
.menu-primary small{display:block;margin-bottom:18px;color:#a5abb5;font:500 9px var(--mono);letter-spacing:.14em}
.menu-primary strong{position:relative;z-index:1;display:block;color:#fff;font-size:16px;font-weight:600;letter-spacing:-.01em}
.menu-primary .icon{position:absolute;top:16px;right:16px;width:17px;height:17px;color:var(--nav-acc-hi)}
.menu-secondary{margin-bottom:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgb(255 255 255/10%)}
.menu-secondary a{min-height:52px;padding:13px 4px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgb(255 255 255/10%);color:#e5e6e9;font-size:13px;font-weight:500;text-decoration:none}
.menu-secondary a:nth-child(odd){padding-right:18px;border-right:1px solid rgb(255 255 255/10%)}
.menu-secondary a:nth-child(even){padding-left:18px}
.menu-secondary a:hover,.menu-secondary a:focus-visible,.menu-secondary a[aria-current]{color:#fff}
.menu-secondary a[aria-current]{box-shadow:inset 2px 0 0 var(--nav-acc-hi)}
.menu-secondary .icon{width:15px;height:15px;color:#777e89;transition:color .18s,transform .18s var(--ease)}
.menu-secondary a:hover .icon,.menu-secondary a:focus-visible .icon{color:var(--nav-acc-hi);transform:translateX(3px)}
.menu-status{padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid rgb(255 255 255/9%);color:#858b96;font-size:10px}
.menu-status b{color:#cfd2d8;font-weight:600}
.overlay.is-open .menu-primary a,.overlay.is-open .menu-secondary a{animation:menu-enter .42s var(--ease) backwards}
.overlay.is-open .menu-primary a:nth-child(2){animation-delay:35ms}.overlay.is-open .menu-primary a:nth-child(3){animation-delay:70ms}.overlay.is-open .menu-primary a:nth-child(4){animation-delay:105ms}.overlay.is-open .menu-primary a:nth-child(n+5){animation-delay:130ms}
.overlay.is-open .menu-secondary a{animation-delay:150ms}
@keyframes menu-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.search-panel{padding:26px 30px 32px;background:var(--panel);color:var(--ink);box-shadow:-18px 0 60px rgb(0 0 0/20%)}
.search-panel__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.search-panel__top h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}
.search-field{margin-top:22px;display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:2px solid var(--ink)}
.search-field:focus-within{border-bottom-color:var(--acc)}
.search-field .icon{flex:none;color:var(--mut)}
.search-field input,.search-field input:focus{flex:1;min-width:0;width:100%;padding:0;border:0;border-radius:0;outline:0;background:transparent;font-size:18px;-webkit-appearance:none;appearance:none}
.search-hint{min-height:18px;margin:12px 0 0;color:var(--mut);font-size:12px}
.search-group{margin-top:20px}
.search-group__label{display:flex;justify-content:space-between;gap:12px;margin:0 0 4px;padding-bottom:7px;border-bottom:1px solid var(--line);color:var(--mut);font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase}
.g-item{margin:0 -8px;padding:11px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);border-radius:2px;color:inherit;text-decoration:none}
.g-item:hover,.g-item.is-active{background:rgba(178,64,15,.08);background:color-mix(in srgb,var(--acc) 8%,transparent)}
.g-main{min-width:0}
.g-item strong{display:block;overflow:hidden;font-size:13.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.g-sub{display:block;overflow:hidden;color:var(--mut);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.g-item mark{padding:0 1px;border-radius:2px;background:rgba(178,64,15,.18);color:inherit}
.g-item .icon{width:15px;height:15px;color:var(--mut);transition:color .18s,transform .18s var(--ease)}
.g-item.is-active .icon,.g-item:hover .icon{color:var(--acc);transform:translateX(3px)}
.search-more,.search-empty{margin:10px 0 0;color:var(--mut);font-size:12px}
.search-empty{padding:26px 0;text-align:center}
.mobile-nav{display:none}
@media screen and (max-width:1180px){.main-nav a:nth-of-type(n+5){display:none}}
@media screen and (max-width:820px){
 .header__inner{min-height:60px;padding:0 18px;gap:14px;grid-template-columns:minmax(0,1fr) auto}
 .main-nav{display:none}
 .menu-button{width:42px;padding:0;justify-content:center}.menu-button__label{display:none}
 main{padding-bottom:calc(116px + env(safe-area-inset-bottom))}
 .mobile-nav{--active-index:0;--nav-x-pad:8px;position:fixed;right:14px;bottom:max(12px,env(safe-area-inset-bottom));left:14px;z-index:100;isolation:isolate;height:70px;padding:8px var(--nav-x-pad) 7px;display:grid;grid-template-columns:repeat(var(--mobile-count,5),1fr);overflow:visible;border:1px solid rgb(165 163 159/42%);border-radius:24px;background:rgba(251,250,246,.94);background:color-mix(in srgb,var(--panel) 91%,transparent);box-shadow:0 16px 45px rgb(14 17 20/24%);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
 .mobile-nav a{position:relative;z-index:1;min-width:0;min-height:52px;padding:7px 2px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--mut);font-size:9px;font-weight:600;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color .36s var(--ease)}
 .mobile-nav a .nav-icon{width:21px;height:21px;display:grid;place-items:center;transition:opacity .15s,transform .36s var(--ease)}
 .mobile-nav a .icon{width:19px;height:19px}
 .mobile-nav a>span:last-child{transition:color .36s,transform .36s var(--ease)}
 .mobile-nav a[aria-current]{color:var(--acc)}
 .mobile-nav a[aria-current] .nav-icon{opacity:0;transform:translateY(-9px) scale(.68)}
 .mobile-nav a[aria-current]>span:last-child{font-weight:700;transform:translateY(2px)}
 .mobile-nav__indicator{position:absolute;top:-22px;left:var(--nav-x-pad);z-index:3;width:calc((100% - (2 * var(--nav-x-pad))) / var(--mobile-count,5));height:48px;display:grid;place-items:center;pointer-events:none;transform:translateX(calc(var(--active-index) * 100%));transition:transform .5s var(--ease);will-change:transform}
 .mobile-nav__indicator-circle{width:48px;height:48px;display:grid;place-items:center;border:6px solid var(--bg);border-radius:50%;background:var(--acc);color:#fff;box-shadow:0 9px 22px rgb(178 64 15/36%);transition:transform .22s var(--ease),box-shadow .22s}
 .mobile-nav__indicator-circle .icon{width:20px;height:20px;transition:opacity .12s,transform .18s var(--ease)}
}
@media screen and (max-width:560px){
 .search-panel{padding:20px 18px 26px}
 .menu-panel__header{padding:18px 20px 16px 24px}
 .menu-panel__body{padding:22px 20px calc(26px + env(safe-area-inset-bottom)) 24px}
 .menu-intro{grid-template-columns:1fr;gap:11px}
 .menu-primary a{min-height:96px;padding:15px}.menu-primary small{margin-bottom:14px}
 .menu-secondary{grid-template-columns:1fr}
 .menu-secondary a:nth-child(odd),.menu-secondary a:nth-child(even){padding-right:4px;padding-left:4px;border-right:0}
 .menu-status{flex-direction:column;align-items:flex-start;gap:4px}
}

.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0}.permission-grid label{display:flex;align-items:flex-start;gap:10px}.permission-grid input{width:auto;margin-top:3px}.permissions-form small{font-size:.8em;font-weight:400}#accounts-status,.permission-status{min-height:1.4em}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}

/* Financial reports retain numeric labels for accessible charts and print. */
.finance-bar-row{display:grid;grid-template-columns:5rem minmax(40px,1fr) minmax(8rem,auto);gap:12px;align-items:center;margin:12px 0}
.finance-bar-track{background:#edf1f7;min-height:18px;border-radius:4px;overflow:hidden}
.finance-bar{height:18px;background:#2563eb}
.finance-negative td{background:#fff0f0;color:#9f1239}
@media(max-width:600px){.finance-bar-row{grid-template-columns:4rem 1fr;gap:8px}.finance-bar-row strong{grid-column:2;font-size:12px}}
@media print{.finance-bar{print-color-adjust:exact;-webkit-print-color-adjust:exact}.finance-negative td{font-weight:bold}.finance-chart{break-inside:avoid}}

/* Mode tenang: tanpa animasi/transisi agar perpindahan halaman terasa stabil. */
*,*::before,*::after{
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important;
}
.icon-button:hover,.menu-button:hover,
.menu-primary a:hover,.menu-primary a:focus-visible,
.menu-secondary a:hover .icon,.menu-secondary a:focus-visible .icon,
.g-item:hover .icon,.g-item.is-active .icon{
  transform:none;
}
.menu-primary a:hover::after,.menu-primary a:focus-visible::after{
  transform:none;
}

/* Pilihan customer berupa tombol native dengan area tap penuh, termasuk di dialog HP. */
fieldset.cust-mode{display:block;width:100%;min-width:0}
.cust-mode legend{font-weight:600;margin-bottom:8px}
.cust-mode-actions{display:flex;flex-wrap:wrap;gap:10px}
.cust-mode-actions button{flex:1 1 140px;min-height:48px;padding:12px 16px;touch-action:manipulation}
.cust-mode-actions button[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:#fff}
#cust-mode-note:empty{display:none}
@media(max-width:760px){
 #editor input:not([type=radio]):not([type=checkbox]),#editor select,#editor textarea{font-size:16px;min-height:var(--control-height)}
 #editor .actions button,#editor .dialog-head button{min-height:var(--control-height)}
}

/* S1/S4: pesan tetap terlihat dan tab detail booking. */
.toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);max-width:min(92vw,480px);padding:12px 16px;border-radius:12px;background:#1f2937;color:#fff;z-index:200}
.toast--err{background:#9b1c1c}
dialog.confirm{max-width:min(92vw,420px)}
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line,#ddd);margin:12px 0}
.tabs button{min-height:var(--control-height);padding:0 14px;border:0;background:none;white-space:nowrap}
.tabs button[aria-selected=true]{border-bottom:3px solid currentColor;font-weight:600}
.tabs button:focus-visible{outline:2px solid currentColor;outline-offset:-2px}

.more{position:relative;display:inline-block}
.more summary{min-width:44px;min-height:var(--control-height);display:grid;place-items:center;cursor:pointer;list-style:none}
.more__list{display:grid;gap:4px;padding:8px;background:var(--panel,#fff);border:1px solid var(--line,#ddd);border-radius:10px;min-width:150px}
.more__list button,.row-actions>button{min-height:var(--control-height);min-width:44px}
.more__list .danger{margin-top:8px}
.row-actions{vertical-align:top}
.toast button{margin-left:12px;min-height:var(--control-height)}
.editor-advanced{grid-column:1/-1;width:100%}
.editor-advanced>summary{min-height:var(--control-height);cursor:pointer}

/* S11/S12: motion is limited to overlays; other screens retain quiet mode. */
.wa-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.wa-row .button,.wa-row button{min-height:var(--control-height)}
html{scrollbar-gutter:stable}.menu-panel,.search-panel{overscroll-behavior:contain}.menu-primary a,.menu-secondary a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(prefers-reduced-motion:no-preference){.overlay{transition:opacity .22s ease,visibility 0s linear .28s!important}.overlay.is-open{transition:opacity .22s ease,visibility 0s!important}.menu-panel,.search-panel{transition:transform .28s cubic-bezier(.22,1,.36,1)!important}}
@media(max-width:760px){.overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgb(7 9 12/62%)}}

#ops-new-customer{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#ops-phone-warning,.ops-customer-extra,#ops-draft-info{grid-column:1/-1}.ops-customer-extra summary{cursor:pointer}.ops-customer-extra .field{margin-top:12px}@media(max-width:760px){#ops-new-customer{grid-template-columns:1fr}}

/* UI tahap 1: disabled biasa berbeda dari request yang sedang berjalan. */
#operations-host button:disabled{cursor:not-allowed}
#operations-host button[aria-busy="true"]{cursor:progress}

/* UI tahap 2: alur booking, identitas, dan pembayaran memiliki scope sendiri. */
:is(.rental-workspace,.report-panel){min-width:0;font-size:16px;line-height:1.5}
:is(.rental-workspace,.report-panel) h2{font-size:20px;margin:16px 0}
:is(.rental-workspace,.report-panel) h3{font-size:18px;margin:0 0 12px}
:is(.rental-workspace,.report-panel) .field{font-size:14px;color:var(--ink)}
:is(.rental-workspace,.report-panel) button,:is(.rental-workspace,.report-panel) summary{min-height:var(--control-height)}
:is(.rental-workspace,.report-panel) button{font-size:14px;padding:10px 14px;border-radius:var(--radius-control)}
:is(.rental-workspace,.report-panel) .card{border-radius:12px}
:is(.rental-workspace,.report-panel) .create-booking-action{display:inline-flex;align-items:center;padding:10px 18px;background:var(--acc);color:#fff;border-radius:var(--radius-control);cursor:pointer;margin:0 0 16px;font-weight:600}
:is(.rental-workspace,.report-panel) .booking-group{grid-column:1/-1;min-width:0;width:100%;margin:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius-control)}
:is(.rental-workspace,.report-panel) .booking-group legend{font-weight:600;padding:0 6px}
:is(.rental-workspace,.report-panel) .booking-group .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0}
:is(.rental-workspace,.report-panel) .booking-code,:is(.rental-workspace,.report-panel) .booking-extra,:is(.rental-workspace,.report-panel) .booking-review,:is(.rental-workspace,.report-panel) .field--full{grid-column:1/-1;min-width:0}
:is(.rental-workspace,.report-panel) .booking-code{max-width:240px}
:is(.rental-workspace,.report-panel) .booking-review{padding:16px;background:var(--bg);border-radius:var(--radius-control);overflow-wrap:anywhere}
:is(.rental-workspace,.report-panel) summary{display:flex;align-items:center;cursor:pointer;font-weight:600;gap:8px}
:is(.rental-workspace,.report-panel) summary::before{content:'+';font-size:18px}
:is(.rental-workspace,.report-panel) details[open]>summary::before{content:'−'}
:is(.rental-workspace,.report-panel) .booking-list{display:grid;gap:12px}
:is(.rental-workspace,.report-panel) .booking-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border-top:1px solid var(--line);padding:16px 0}
:is(.rental-workspace,.report-panel) .booking-list-card p{margin:6px 0;overflow-wrap:anywhere}
:is(.rental-workspace,.report-panel) .booking-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:20px 0}
:is(.rental-workspace,.report-panel) .booking-summary dt{font-size:14px;color:var(--mut)}
:is(.rental-workspace,.report-panel) .booking-summary dd{margin:4px 0 0;overflow-wrap:anywhere}
:is(.rental-workspace,.report-panel) .money-value{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
:is(.rental-workspace,.report-panel) .transaction-reference{font-size:13px;white-space:normal}
:is(.rental-workspace,.report-panel) .transaction-reference code{display:block;max-width:280px;overflow-wrap:anywhere;white-space:normal}
:is(.rental-workspace,.report-panel) #ops-payment-advanced{margin:20px 0;padding:12px;border:1px solid var(--line);border-radius:var(--radius-control)}
@media screen and (max-width:760px){
 :is(.rental-workspace,.report-panel) .booking-list-card,:is(.rental-workspace,.report-panel) .booking-summary,:is(.rental-workspace,.report-panel) .booking-group .form-grid{grid-template-columns:1fr}
 :is(.rental-workspace,.report-panel) .booking-list-card>button{justify-self:start}
 :is(.rental-workspace,.report-panel) .toolbar>label{width:100%}
 :is(.rental-workspace,.report-panel) .toolbar input{max-width:none}
 :is(.rental-workspace,.report-panel) .toolbar select{max-width:none}
}
@media print{
 :is(.rental-workspace,.report-panel) .card{border:0;border-radius:0;padding:0}
 :is(.rental-workspace,.report-panel) #ops-back,:is(.rental-workspace,.report-panel) .actions,:is(.rental-workspace,.report-panel) #ops-edit,:is(.rental-workspace,.report-panel) #ops-create{display:none!important}
 :is(.rental-workspace,.report-panel) .booking-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* UI tahap 3: alur inti, error inline, kartu transaksi HP, dan ruang shell. */
:is(.rental-workspace,.report-panel) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:var(--control-height);padding:10px 12px;border:1px solid #8c877c;border-radius:var(--radius-control);font-size:var(--field-font-size);max-width:100%}
:is(.rental-workspace,.report-panel) :is(input,select,textarea,button,summary):focus-visible{outline:2px solid var(--acc);outline-offset:2px}
:is(.rental-workspace,.report-panel) [aria-invalid=true]{border-color:var(--bad)}
:is(.rental-workspace,.report-panel) .field-error{color:var(--bad);font-size:13px;white-space:normal;overflow-wrap:anywhere}
:is(.rental-workspace,.report-panel) .field-error:not([hidden]){display:block}
:is(.rental-workspace,.report-panel) button:disabled:hover{background:transparent;color:var(--ink)}
:is(.rental-workspace,.report-panel) button.primary:disabled:hover{background:var(--acc);color:#fff}
:is(.rental-workspace,.report-panel) button.danger:disabled:hover{color:var(--bad)}
:is(.rental-workspace,.report-panel) table{font-size:14px}
:is(.rental-workspace,.report-panel) th{font-family:"IBM Plex Sans","Segoe UI",sans-serif;font-size:13px}
:is(.rental-workspace,.report-panel) td{vertical-align:top}
:is(.rental-workspace,.report-panel) .td-value{min-width:0;overflow-wrap:anywhere;white-space:normal}
:is(.rental-workspace,.report-panel) :is(.booking-review,.booking-list-card,.booking-group,.card,.tabs){min-width:0;max-width:100%}
:is(.rental-workspace,.report-panel) .tabs button[aria-selected=true]{color:var(--acc);background:var(--panel)}
@media screen and (max-width:820px){
 main{padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-nav-gap) + var(--mobile-nav-rise) + var(--mobile-content-gap) + env(safe-area-inset-bottom,0px))}
 .mobile-nav a{font-size:11px}
 .toast{bottom:calc(var(--mobile-nav-height) + var(--mobile-nav-gap) + var(--mobile-nav-rise) + 8px + env(safe-area-inset-bottom,0px));max-height:40vh;max-height:40dvh;overflow-y:auto;overflow-wrap:anywhere}
}
@media screen and (max-width:760px){
 :is(.rental-workspace,.report-panel) .form-grid,:is(.rental-workspace,.report-panel) .form-grid2{grid-template-columns:minmax(0,1fr)}
 :is(.rental-workspace,.report-panel) .card{padding:16px}
 :is(.rental-workspace,.report-panel) table.cards td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:12px;padding:8px 0;white-space:normal}
 :is(.rental-workspace,.report-panel) table.cards .td-label{font-size:13px;text-align:left}
 :is(.rental-workspace,.report-panel) table.cards .td-value{text-align:right}
 :is(.rental-workspace,.report-panel) table.cards td.col-actions{display:block;text-align:left}
 :is(.rental-workspace,.report-panel) table.cards td.col-actions .td-label{display:none}
 :is(.rental-workspace,.report-panel) table.cards td.col-actions .td-value{display:flex;flex-wrap:wrap;gap:8px;text-align:left}
 :is(.rental-workspace,.report-panel) .actions{align-items:stretch}
 :is(.rental-workspace,.report-panel) .actions .primary{width:100%}
}
@media screen{
 dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
}
@media print{
 :is(.rental-workspace,.report-panel) table{font-size:10px}
 :is(.rental-workspace,.report-panel) th{font-size:10px}
 :is(.rental-workspace,.report-panel) .table-wrap{max-height:none;overflow:visible}
 :is(.rental-workspace,.report-panel) .td-label{display:none!important}
 :is(.rental-workspace,.report-panel) :is(th,td){padding:5px 7px;white-space:normal}
 .toast{display:none!important}
}
:is(.rental-workspace,.report-panel) .form-state{font-size:13px;color:var(--mut)}
:is(.rental-workspace,.report-panel) .form-state:empty{display:none}

.report-panel{min-width:0}.report-panel .report-filter{overflow-wrap:anywhere;border-left:3px solid var(--acc);padding:var(--space-sm) var(--space-md)}
.report-panel label.field{min-width:0}.report-panel .finance-bar-row{min-width:0}.report-panel .finance-bar-row strong{overflow-wrap:anywhere}

/* Logo profil usaha */
.logo-grid{margin-top:12px}
.logo-field .logo-preview{display:grid;place-items:center;min-height:96px;padding:10px;border:1px dashed var(--line,#ccc);border-radius:12px;background:var(--panel,transparent)}
.logo-field .logo-preview img{max-width:100%;max-height:120px;object-fit:contain}
.nav-brand__mark--img{background:transparent;padding:0;overflow:hidden}
.nav-brand__mark--img img{width:100%;height:100%;object-fit:contain;display:block}
.invoice-logo{display:block;max-height:64px;max-width:200px;object-fit:contain;margin-bottom:8px}

/* r6: token warna tambahan (menggantikan hex yang berulang) */
:root{--ok:#2f6b3f;--acc-dark:#8e3009;--hover-row:#ece9df}

/* r6: perilaku sentuh dan ukuran teks */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,summary,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
tbody tr:focus-within td{background:var(--hover-row)}

/* r6: target sentuh minimal di layar sentuh (kursor kasar) */
@media (pointer:coarse){
 button:not(.icon-button):not(.menu-button),.button{min-height:var(--control-height)}
 td button{min-height:36px;padding:6px 12px;font-size:12px}
}

/* r8: penanda waktu muat data */
.loaded-at{margin:4px 0 0;font:500 11px var(--mono);color:var(--mut)}

#ops-cancel-dialog { width:min(42rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; border:1px solid var(--line,#ddd); border-radius:12px; padding:1rem; }
#ops-cancel-dialog::backdrop { background:rgb(0 0 0 / 45%); }
/* Fase 6: compact operations and shared report navigation. */
.rental-workspace .booking-list-card{grid-template-columns:minmax(80px,.7fr) minmax(100px,1fr) minmax(100px,1fr) minmax(160px,1.4fr) auto auto;gap:12px;padding:12px 0}
.rental-workspace .booking-list-card :is(h3,p){margin:0;font-size:14px;overflow-wrap:anywhere}
.rental-workspace .booking-list-card>button{justify-self:end}
.filter-pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.filter-pills button{border-radius:999px;min-height:44px;padding:8px 14px}
.filter-pills button[aria-pressed=true]{background:var(--ink);color:var(--panel);border-color:var(--ink)}
.filter-pills button span{font-family:var(--mono);margin-left:6px}
.list-pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.booking-preview{border:1px solid var(--line);padding:16px;border-radius:8px;margin:16px 0}
.booking-preview h3{margin:0}.booking-preview [role=status]{min-height:3em}
.booking-cancel-action{margin-top:16px}
#ops-detail-title:focus{outline:none}
.report-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:8px}
.report-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;color:var(--ink);text-decoration:none;border-radius:8px}
.report-tabs a[aria-current=page]{background:var(--ink);color:var(--panel)}
.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}
.report-filters>h2,.report-filters>h3,.report-filters>[role=alert],.report-filters>#acc-basis,.report-filters>.actions{grid-column:1/-1}
.report-filters .form-grid{display:contents}.report-filters label{min-width:0}.report-filters .field{margin:0}
.report-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}
.report-stats>div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}
.report-stats span{display:block;color:var(--mut)}.report-stats strong{display:block;font-size:20px;overflow-wrap:anywhere}
.report-panel .muted,#pw-results>p{font-size:13px;line-height:1.6}
.audit-advanced{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}
@media(max-width:720px){.rental-workspace .booking-list-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.rental-workspace .booking-list-card>button{justify-self:end}.rental-workspace .booking-list-card :is(h3,p){font-size:13px}.report-filters{grid-template-columns:1fr}}
.help-note{font-size:13px;line-height:1.6}.help-note summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.report-filters>.help-note{grid-column:1/-1}

/* Rupiah tetap mudah dibaca saat mengetik. */
input[data-money]{font-variant-numeric:tabular-nums;}

/* Penyesuaian UI: form bersama, status terbatas, dan rincian invoice di HP. */
.invoice-scroll-hint{display:none}
@media screen{
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) .card{border-radius:12px;padding:clamp(16px,2vw,24px)}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) form h2,
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) form h3{margin-top:0;font-size:18px;line-height:1.4}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) form label{font-size:13px;color:var(--mut)}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-height:var(--control-height);font-size:var(--field-font-size);padding:10px 12px;border-radius:var(--radius-control);max-width:100%}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) label:not(.field)>:is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){margin-top:6px}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) .form-grid>label{min-width:0}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) button{min-height:var(--control-height);border-radius:var(--radius-control);padding:10px 14px}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) form>button[type=submit]{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) form>button[type=submit]:hover:not(:disabled){background:var(--acc-dark);border-color:var(--acc-dark)}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) form [role=alert]:not(:empty){color:var(--bad);border-left:3px solid var(--bad);padding:8px 12px;background:#a4241a08;overflow-wrap:anywhere}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) :is(input,select,textarea,button):focus-visible{outline:2px solid var(--acc);outline-offset:2px}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) button:disabled{cursor:not-allowed}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) button:disabled:hover{background:transparent;color:var(--ink)}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) :is(button.primary,form>button[type=submit]):disabled:hover{background:var(--acc);color:#fff}
 :where(#invoices-host,#partner-host,#foundation-host,#business-profile-host,#accounts-host,#srv-host,#accounting-host) :is(form[aria-busy=true] button[type=submit],button[aria-busy=true]){cursor:progress}
 .chip{display:inline-block;max-width:100%;padding:4px 9px;border-color:var(--line);border-radius:6px;background:var(--panel);color:var(--mut);white-space:normal;line-height:1.4}
 .chip--pending{color:#79520b;background:#fbf1d9;border-color:#dbc28b}
 .chip--negative{color:var(--bad);background:#f9ebe7;border-color:#d9b2a8}
 .invoice-doc{min-width:0;overflow-wrap:anywhere}
 .invoice-title{gap:16px;align-items:flex-start;margin:20px 0}
 .invoice-title>div{min-width:0}.invoice-title h2{margin:6px 0;font-size:22px}
 .invoice-title .badge{align-self:flex-start;flex-shrink:0;border-color:var(--line);border-radius:6px;white-space:nowrap}
 .invoice-items{max-height:none;max-width:100%;overscroll-behavior-x:contain}
 .invoice-items:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
 .invoice-items td:first-child{white-space:normal;overflow-wrap:anywhere;min-width:220px;max-width:320px}
 .invoice-items :is(th,td){vertical-align:top}
 .invoice-total p{gap:16px;align-items:baseline}.invoice-total b{white-space:nowrap;font-variant-numeric:tabular-nums}
 .invoice-total p:has(>span:first-child)+p{padding-top:4px}
}
@media screen and (max-width:720px){
 .invoice-scroll-hint{display:block;margin:12px 0 8px;color:var(--mut);font-size:12px}
 .invoice-items table{min-width:580px}
 .invoice-title h2{font-size:20px}
 .invoice-total{max-width:none;margin-top:20px}
}
