/* Shared company portal theme. GM keeps its own chart layout and these tokens. */
body.portal-theme,body.portal-login{--portal-purple:#592df1;--portal-ink:#19182e;--portal-muted:#77738d;--portal-line:#e6e5f1;color:var(--portal-ink);background:radial-gradient(ellipse at 70% 0%,#f1eeff 0,transparent 52%),#f8f9fd;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;line-height:1.5}
body.portal-theme button,body.portal-login button{border-color:var(--portal-line);border-radius:9px;background:white;color:#38314f;box-shadow:none;transition:background .15s,border-color .15s}
body.portal-theme button:hover,body.portal-login button:hover{background:#efebff;border-color:#cfc4fb}
body.portal-theme button:focus-visible,body.portal-theme summary:focus-visible,body.portal-login button:focus-visible{outline:3px solid #b5a3fb;outline-offset:3px}
body.portal-theme button:disabled{opacity:.45;cursor:default}
body.portal-theme .primary,body.portal-login .primary{background:linear-gradient(135deg,#7546f9,#5127e4);border-color:#6136e8;color:white}
body.portal-theme .primary:hover,body.portal-login .primary:hover{background:#4b22d3}
body.portal-theme input,body.portal-theme select,body.portal-theme textarea,body.portal-login input,body.portal-login select{border:1px solid var(--portal-line);border-radius:8px;color:#302943;background:white;padding:10px 12px}
body.portal-theme input:focus,body.portal-theme select:focus,body.portal-theme textarea:focus,body.portal-login input:focus,body.portal-login select:focus{outline:2px solid #b8a4ff;outline-offset:1px;border-color:#b8a4ff}
body.portal-theme input[type=checkbox]{accent-color:#6534ed}
body.portal-theme>aside{width:207px;padding:25px 12px 18px;background:#fcfcff;border-right:1px solid var(--portal-line);color:#38314f;z-index:5}
body.portal-theme .brand{position:relative;color:#17162b;font-size:20px;letter-spacing:-.6px;padding:0 5px 26px 51px;min-height:72px;line-height:1.25}
body.portal-theme .brand::before{content:'S';position:absolute;left:8px;top:0;width:35px;height:40px;display:grid;place-items:center;border-radius:11px 2px 11px 2px;background:linear-gradient(135deg,#6a64ff,#3924da);color:white;font-size:29px;font-weight:800}
body.portal-theme .brand small{font-size:9px;letter-spacing:1.5px;color:#8b82a5;margin:5px 0 0;line-height:1.5}
body.portal-theme .nav{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#55506b;padding:13px 12px;margin:0 0 7px;font-size:12px;font-weight:550;min-height:45px;line-height:1.5;border-radius:9px}
body.portal-theme .nav::before{content:'◈';font-size:19px;line-height:1;color:#8d86ac;flex-shrink:0}
body.portal-theme .nav:nth-of-type(2)::before{content:'☷'}
body.portal-theme .nav:nth-of-type(3)::before{content:'▦'}
body.portal-theme .nav.active{color:#4c22e8;background:#eeebff}
body.portal-theme .nav.active::before{color:#592df1}
body.portal-theme .asidefoot{padding:18px 14px;margin-top:auto;border-radius:13px;background:linear-gradient(135deg,#f0edff,#e3e3ff);color:#675d91;font-size:11px;line-height:1.8}
body.portal-theme>main{margin-left:207px;padding:26px 26px 35px;max-width:none;min-width:0}
body.portal-theme .top{align-items:flex-start;gap:20px;margin-bottom:18px}
body.portal-theme .eyebrow{color:#8980a5;font-size:9px;font-weight:650;letter-spacing:1.4px}
body.portal-theme .top h1{font-size:clamp(24px,2.1vw,32px);font-weight:760;letter-spacing:-.8px;color:#17162b;margin:8px 0;line-height:1.25}
body.portal-theme .top .muted{font-size:11px}
body.portal-theme .app-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end;padding-top:5px}
body.portal-theme .app-actions button,body.portal-theme .app-actions select{font-size:11px;padding:9px 12px}
body.portal-theme .muted{color:var(--portal-muted)}
body.portal-theme main>p.muted{font-size:12px;margin:0 0 20px}
body.portal-theme .notice{color:#8c829f;font-size:10px;line-height:1.8}
body.portal-theme #pwa-status{margin:0 0 14px;min-height:16px;color:#9289a5}
body.portal-theme .cards{gap:12px;margin:21px 0}
body.portal-theme .card,body.portal-theme .panel{border:1px solid var(--portal-line);border-radius:13px;background:#ffffffd6;box-shadow:0 2px 4px #30245903}
body.portal-theme .card{padding:20px 19px;position:relative;overflow:hidden}
body.portal-theme .card:first-child{background:#ffffffd6}
body.portal-theme .card::after{content:'';position:absolute;right:16px;top:19px;width:31px;height:31px;border-radius:10px;background:linear-gradient(135deg,#ece6ff,#f7f4ff);pointer-events:none}
body.portal-theme .card .label{font-size:11px;color:#655b7d;display:block;padding-right:36px;min-height:19px}
body.portal-theme .card .num{font-size:29px;letter-spacing:-.7px;color:#211a38;margin:12px 0 5px;line-height:1.2;font-weight:740}
body.portal-theme .card small{font-size:10px;color:#8c82a1}
body.portal-theme .panel{padding:20px;margin-bottom:16px}
body.portal-theme .panel h2{font-size:16px;letter-spacing:-.2px;font-weight:720;color:#211a38}
body.portal-theme .toolbar{margin-bottom:17px;gap:15px;align-items:center;flex-wrap:wrap}
body.portal-theme .toolbar h2{margin:0}
body.portal-theme .filters{gap:8px;flex-wrap:wrap;min-width:0}
body.portal-theme .filters input,body.portal-theme .filters select{font-size:11px}
body.portal-theme table{font-size:12px;color:#3c334e}
body.portal-theme th{background:#f3f2fa;color:#6c6083;font-size:10px;font-weight:550;padding:12px 10px;border-bottom:0}
body.portal-theme th:first-child{border-radius:7px 0 0 7px}
body.portal-theme th:last-child{border-radius:0 7px 7px 0}
body.portal-theme td{padding:14px 10px;border-color:#efedf6;font-size:11px;vertical-align:middle;line-height:1.6}
body.portal-theme td small{color:#9385a5;font-size:10px}
body.portal-theme tbody tr:hover{background:#fbf9ff}
body.portal-theme .edit{font-size:10px;border:1px solid #e7e1f8;padding:6px 10px;color:#6230d9;background:#faf8ff;border-radius:7px}
body.portal-theme .badge{background:#efebfc;color:#6d42be;border-radius:5px;font-size:10px;padding:4px 8px;white-space:normal;display:inline-block}
body.portal-theme .empty{color:#8f84a2;padding:35px 12px;text-align:center;font-size:12px}
body.portal-theme .late{color:#b26375}
body.portal-theme dialog{border:1px solid #ded9ef;border-radius:16px;color:#30273f;box-shadow:0 20px 100px #29204435;background:#fff;padding:25px;max-height:88vh;overflow:auto}
body.portal-theme dialog::backdrop{background:#24203655;backdrop-filter:blur(3px)}
body.portal-theme dialog h2{font-size:20px;color:#221936;letter-spacing:-.3px}
body.portal-theme dialog .fields{gap:17px}
body.portal-theme dialog label{font-size:11px;color:#746486;line-height:1.6}
body.portal-theme dialog input,body.portal-theme dialog select,body.portal-theme dialog textarea{font-size:12px;padding:11px}
body.portal-theme dialog button{font-size:12px}
body.portal-theme #toast,body.portal-login #toast{background:#33214f;color:white;border-radius:10px;box-shadow:0 6px 25px #30214722}
body.portal-theme .wf-steps{gap:9px;margin:22px 0}
body.portal-theme .wf-step{border:1px solid #e5e0f3;border-radius:10px;background:#faf9ff;padding:15px 12px;min-height:85px;transition:background .15s}
body.portal-theme .wf-step small{font-size:10px;color:#8e80a2}
body.portal-theme .wf-step strong{font-size:11px;color:#655577;line-height:1.6}
body.portal-theme .wf-step.selected{border:2px solid #7850e7;background:#f0ebff;padding:14px 11px}
body.portal-theme .wf-step.selected strong{color:#5523c5}
body.portal-theme .wf-step.completed{border-color:#ded3f5;background:#f6f2ff}
body.portal-theme .wf-step.completed small{color:#8d68b6}
body.portal-theme .wf-columns{gap:16px}
body.portal-theme .wf-details{gap:12px;padding-bottom:8px}
body.portal-theme .wf-details label{font-size:10px;color:#92819f}
body.portal-theme .wf-details p{font-size:12px;color:#4a3a5c;margin:6px 0 12px}
body.portal-theme .wf-quote{background:linear-gradient(120deg,#f3eefe,#faf8ff);border:1px solid #e9dff7;border-radius:11px;padding:17px;font-size:12px;color:#685378}
body.portal-theme .wf-quote h3{color:#452d65;font-size:13px}
body.portal-theme .wf-quote a{color:#6430d4}
body.portal-theme .wf-actions button{font-size:12px}
body.portal-theme .wf-check{font-size:12px;color:#746184}
body.portal-theme .wf-entry{border-color:#ede6f3;padding:14px 0}
body.portal-theme .wf-entry small{font-size:10px;color:#9a89a9}
body.portal-theme .wf-entry p{font-size:12px;color:#544261}
body.portal-theme .wf-entry.system p{font-size:11px;color:#9581a3}
body.portal-theme .wf-journal{padding-right:8px;scrollbar-color:#d7c8ed transparent;scrollbar-width:thin}
body.portal-theme #wf-journal-form textarea{border-color:#e6def1;background:#fdfbff;font-size:12px;padding:13px}
body.portal-theme .wf-inbox-panel{padding:16px 20px;background:#ffffffa8}
body.portal-theme .wf-inbox-panel summary{color:#7d649a;font-size:12px;list-style-position:inside}
body.portal-theme .wf-notification{font-size:12px;padding:12px;background:#faf7ff;border-color:#e9def8;line-height:1.7}
body.portal-theme .wf-notification small{color:#a08bb4;font-size:10px}
body.portal-theme .wf-money .num{font-size:25px}
body.portal-theme .financial-totals{background:#faf8ff}
body.portal-theme .track{background:#eeebf8}
body.portal-theme .bar{background:linear-gradient(90deg,#aa8be9,#6e43d1)}
body.portal-theme .task{border-color:#efe8f6}
body.portal-login .login-story{background:radial-gradient(ellipse at 10% 0%,#9881fa 0,transparent 60%),linear-gradient(140deg,#5a36d3,#36236f);color:#fff}
body.portal-login .login-story .eyebrow{color:#d4c5ff}
body.portal-login .login-story p{color:#ded4f7}
body.portal-login .login-graphic i{background:#ad96ef;border-color:#c3a9ff}
body.portal-login .login-panel{background:#fcfbff}
body.portal-login .login-panel h1{color:#251d3a;letter-spacing:-.6px}
body.portal-login .login-panel .muted{color:#9587a6}
body.portal-login .login-panel label{color:#726081;font-size:12px}
body.portal-login .notice{color:#9a89ad;font-size:11px;line-height:1.8}
@media(min-width:1700px){body.portal-theme>main{padding:30px 34px}.portal-theme .panel{padding:24px}}
@media(max-width:1050px){body.portal-theme>main{padding:22px 20px}.portal-theme .top{flex-direction:column}.portal-theme .app-actions{justify-content:flex-start;width:100%}.portal-theme .toolbar{align-items:flex-start}.portal-theme .filters{width:100%}.portal-theme .filters input[type=search]{max-width:100%}.portal-theme .wf-columns{grid-template-columns:1fr}}
@media(max-width:760px){body.portal-theme>aside{width:158px;padding:22px 10px}.portal-theme .brand{font-size:16px;padding-left:43px}.portal-theme .brand::before{left:4px;width:30px;height:35px;font-size:24px}.portal-theme .brand small{font-size:8px;letter-spacing:1px}.portal-theme .nav{font-size:11px;padding:11px 9px;gap:7px}.portal-theme .asidefoot{font-size:10px;padding:13px 10px}body.portal-theme>main{margin-left:158px;padding:20px 14px}.portal-theme .top h1{font-size:25px}.portal-theme .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portal-theme .card{padding:16px 12px}.portal-theme .card .num{font-size:24px}.portal-theme .card::after{right:12px;top:15px;width:24px;height:24px}.portal-theme .card .label{padding-right:25px}.portal-theme .panel{padding:17px 13px}.portal-theme .app-actions{gap:6px}.portal-theme .app-actions button,.portal-theme .app-actions select{padding:9px;font-size:10px}.portal-theme .wf-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-theme .wf-step{min-height:80px}.portal-theme .wf-money .num{font-size:22px}}
@media(max-width:520px){body.portal-theme>aside{position:relative;inset:auto;width:auto;height:auto;padding:15px 12px;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:7px;border-right:0;border-bottom:1px solid var(--portal-line)}.portal-theme .brand{width:100%;min-height:40px;padding:0 5px 0 43px;font-size:17px;margin-bottom:8px}.portal-theme .brand small{margin-top:2px}.portal-theme .nav{margin:0;padding:8px 10px;min-height:36px;flex:1;font-size:10px;justify-content:center;gap:6px}.portal-theme .nav::before{font-size:15px}.portal-theme .asidefoot{display:none}body.portal-theme>main{margin-left:0;padding:22px 13px 30px}.portal-theme .top h1{font-size:25px}.portal-theme .cards{margin:16px 0}.portal-theme .card .num{font-size:25px}.portal-theme .wf-list-cards{grid-template-columns:1fr}.portal-theme .wf-steps{margin-top:18px}.portal-theme .top{gap:12px}.portal-theme .wf-details{grid-template-columns:1fr 1fr}.portal-theme dialog{padding:20px 15px;width:94vw}.portal-theme dialog .fields{grid-template-columns:1fr}.portal-theme dialog .wide{grid-column:auto}.portal-theme .grid{grid-template-columns:1fr}.portal-theme .filters select{max-width:100%}.portal-theme .finance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

body.portal-theme .top .app-actions{flex-direction:row}body.portal-theme .wf-details .muted{font-size:10px;color:#92819f}

body.portal-theme>aside{position:fixed;inset:0 auto 0 0}body.portal-theme .brand small,body.portal-theme .asidefoot{display:block}body.portal-theme .card::after{content:'◈';display:grid;place-items:center;color:#8c6ed7;font-size:19px}body.portal-theme #wf-overview::before{content:"◈"}
@media(max-width:520px){body.portal-theme>aside{position:relative;inset:auto}body.portal-theme .asidefoot{display:none}}

body.portal-theme dialog .fields{grid-template-columns:repeat(2,minmax(0,1fr))}body.portal-theme dialog label{min-width:0}body.portal-theme dialog label input:not([type=checkbox]),body.portal-theme dialog label select,body.portal-theme dialog label textarea{width:100%;min-width:0;max-width:100%}body.portal-theme dialog .notice{overflow-wrap:anywhere}
@media(max-width:700px){body.portal-theme dialog .fields{grid-template-columns:1fr}}

.sa-explanation{font-size:12px;line-height:1.9;margin:15px 0 23px;max-width:950px}.sa-policy{white-space:normal;min-width:650px}.sa-policy td:first-child{min-width:130px}.sa-policy td{width:40%;vertical-align:top}.sa-policy td:first-child{width:20%}#sa-company .fields,#sa-transfer-form .fields,#sa-restore-form .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}#sa-company label,#sa-transfer-form label,#sa-restore-form label{min-width:0}#sa-company input,#sa-company select,#sa-company textarea,#sa-transfer-form select,#sa-transfer-form textarea,#sa-restore-form input{width:100%;min-width:0;font-size:12px}.sa-logo-preview{max-width:180px;max-height:90px;object-fit:contain;padding:10px;background:#f4f0fc;border-radius:9px}.sa-transfer-card,.sa-restore-card{margin-top:25px;border:1px solid #e2d5f2;border-radius:12px;padding:22px;background:#fcfaff}.sa-restore-card{background:#fff8f8;border-color:#efd3df}.sa-restore-card p{font-size:12px;line-height:1.9}.sa-checksum{overflow-wrap:anywhere;color:#8e778a;font-size:10px!important}body.portal-theme .sa-danger{color:white;background:#a54765;border-color:#a54765}.sa-download{color:#6533c8;text-decoration:none;font-size:11px;padding:7px 10px;border:1px solid #e4d9f4;border-radius:7px}.sa-audit-detail{white-space:pre-wrap;min-width:220px;max-width:500px;overflow-wrap:anywhere;font-size:10px;color:#826a99}body.portal-theme>aside{overflow-y:auto}body.portal-theme .asidefoot{margin-top:auto}body.portal-theme .brand{flex-shrink:0}body.portal-theme .nav{flex-shrink:0}
@media(max-width:700px){#sa-company .fields,#sa-transfer-form .fields,#sa-restore-form .fields{grid-template-columns:1fr}.sa-transfer-card,.sa-restore-card{padding:17px}}

body.portal-theme .brand-has-logo::before{content:none}body.portal-theme .company-logo{position:absolute;left:5px;top:0;width:36px;height:40px;object-fit:contain}.gm-shell img.company-logo{object-fit:contain;background:transparent}.gm-brand>div{min-width:0;overflow-wrap:anywhere}body.portal-theme .brand{overflow-wrap:anywhere}

@media(max-width:520px){body.portal-theme>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px}.portal-theme .brand{grid-column:1/-1;width:auto;min-height:43px}.portal-theme .nav{width:100%;min-width:0;min-height:42px;justify-content:flex-start;font-size:11px;padding:9px 11px}.portal-theme .nav.active{margin-right:0}}

.lc-panel{border-color:#dfd0f4!important;background:#fcf9ff!important}.lc-panel .toolbar{margin:0}.lc-panel p{font-size:11px;line-height:1.8;color:#897197}.lc-actions{flex-wrap:wrap}.lc-actions button{font-size:11px}.lc-settlement{border-top:1px solid #eadff2;padding-top:15px;margin-top:15px}.lc-claim{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #eee4f4;font-size:12px}.lc-claim button{font-size:11px}

body.portal-theme .assist-picker{border:0;padding:0;margin:0;min-width:0}body.portal-theme .assist-picker legend{font-size:11px;color:#746486;margin-bottom:8px;padding:0}body.portal-theme .assist-picker details{border:1px solid #e3dced;border-radius:9px;background:white;overflow:hidden}body.portal-theme .assist-picker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:11px 13px;font-size:12px;color:#59456d;min-height:43px}body.portal-theme .assist-picker summary::-webkit-details-marker{display:none}.assist-chevron{color:#9b86b2;flex-shrink:0}.assist-picker[open] .assist-chevron,.assist-picker details[open] .assist-chevron{transform:rotate(180deg)}.assist-options{max-height:210px;overflow:auto;padding:5px 8px 9px;border-top:1px solid #eee6f6;scrollbar-width:thin;scrollbar-color:#cdbce5 transparent}body.portal-theme dialog .assist-options label{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 7px;border-radius:6px;color:#4d385f;font-size:12px;cursor:pointer;min-width:0}.assist-options label:hover{background:#f4effc}body.portal-theme dialog .assist-options input[type=checkbox]{width:16px;min-width:16px;height:16px;margin:0;accent-color:#6536e4;padding:0}.assist-picker .notice{margin-top:8px!important}.assist-options p{font-size:12px;color:#9580a5;padding:8px}.assist-picker [data-assist-selection]{overflow-wrap:anywhere}

body.portal-theme .bk-calendar{border:1px solid #e4d9f3;border-radius:10px;padding:13px;background:#fcfaff;min-width:0}body.portal-theme .bk-calendar summary{font-size:12px;color:#684b87;cursor:pointer;font-weight:650}.bk-calendar>.notice{margin:10px 0!important}.bk-month-toolbar{display:flex;gap:8px;align-items:center;margin:12px 0}.bk-month-toolbar strong{flex:1;color:#624f7b;font-size:13px}.bk-month-toolbar button{font-size:11px;padding:6px 10px}.bk-legend{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:#84728e;margin:12px 0}.bk-legend span::before{content:'';display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:3px;background:#d6d0e9}.bk-legend .held::before{background:#e4ae45}.bk-legend .confirmed::before{background:#c9677d}.bk-legend .slot::before{background:#6f9cd6}.bk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}body.portal-theme .bk-days button{padding:8px 0;min-height:40px;position:relative;font-size:11px;border-radius:6px;line-height:1.2}body.portal-theme .bk-days button small{display:block;font-size:8px;margin-top:2px}.bk-weekday{text-align:center;font-size:10px;color:#9b8ba9;padding:4px}body.portal-theme .bk-days .bk-held{background:#fff3d8;border-color:#f1d89c;color:#9c741c}body.portal-theme .bk-days .bk-busy{background:#fbe7ed;border-color:#ecc2cf;color:#a34662}body.portal-theme .bk-days .bk-slot{background:#eaf2ff;border-color:#cdddf5;color:#4e79ae}body.portal-theme .bk-days .bk-selected{outline:2px solid #8c65d5;outline-offset:-1px}body.portal-theme .bk-days button:disabled{opacity:.35}.bk-shared-row{border-top:1px solid #e8def1;padding:11px 0;display:flex;flex-direction:column;gap:4px;font-size:11px;color:#745d88}.bk-shared-row strong{font-size:11px;color:#62467c}.bk-shared-row small{font-size:10px;color:#9882aa}.bk-shared-row .bk-state{align-self:flex-start;border-radius:5px;padding:2px 6px;font-size:9px;background:#fff0cd;color:#9d7522}.bk-shared-row .bk-state.confirmed{background:#f7dfeb;color:#a6476b}#bk-day-list{margin-top:17px}#bk-day-list>strong{font-size:12px;color:#6f5488}#bk-day-list>.muted{font-size:11px}.bk-warning{font-size:11px;color:#aa5268;padding:10px;background:#fdf0f3;border-radius:6px;line-height:1.8}.bk-reservation p{font-size:11px;color:#897399;line-height:1.8}.bk-reservation .actions{flex-wrap:wrap}.bk-reservation button{font-size:11px}.bk-reservation .toolbar{margin:0}@media(max-width:520px){.bk-month-toolbar{gap:5px}.bk-month-toolbar button{font-size:10px;padding:6px}.bk-days{gap:3px}.bk-calendar{padding:10px!important}}

#bk-venue-help{font-size:10px;color:#a07c97;line-height:1.6}@media(max-width:700px){.bk-spacer{display:none}}
