/* Shared identity, organization and access UI. Ordinary actions use the prototype's soft blue. */
:root{--ac-button-hover:#dfeaff;--ac-button-pressed:#d3e2ff}
.ac-page,.ac-layer,.ac-popover,.ac-auth{font:400 14px/1.5 var(--font-ui);color:var(--color-text)}
.ac-page *,.ac-layer *,.ac-popover *,.ac-auth *{box-sizing:border-box}
[hidden]{display:none!important}
.ac-page{max-width:1160px;margin:0 auto;padding:32px 28px 48px;min-width:0}
.ac-page h1{font-size:28px;line-height:1.25;font-weight:600;margin:0 0 12px;letter-spacing:-.025em}
.ac-page h2,.ac-layer h2,.ac-auth h2{font-size:24px;line-height:1.25;font-weight:500;margin:0 0 16px;letter-spacing:-.025em}
.ac-page h3,.ac-layer h3{font-size:17px;line-height:1.4;font-weight:500;margin:0 0 12px}
.ac-page p,.ac-layer p{margin:0 0 20px}
.ac-muted{color:var(--color-muted);font-size:13px;line-height:1.7}
.ac-small{font-size:12px;color:var(--color-muted);line-height:1.7}
.ac-kicker{font-size:12px;color:var(--color-muted);margin-bottom:10px}
.ac-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.ac-heading-copy{min-width:0;flex:1}
.ac-title-line{display:flex;align-items:center;gap:12px}
.ac-title-line h1{overflow-wrap:anywhere}
.ac-btn{font:500 14px/1.4 var(--font-ui);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--color-accent-line);border-radius:8px;color:var(--color-accent);background:var(--color-accent-soft);text-decoration:none;cursor:pointer;flex-shrink:0;text-align:center;transition:background-color .12s,border-color .12s}
.ac-btn:hover:not(:disabled){background:var(--ac-button-hover);border-color:#8eafea}
.ac-btn:active:not(:disabled){background:var(--ac-button-pressed);border-color:var(--color-accent)}
.ac-btn.ac-secondary{background:#fff;border-color:var(--color-border);color:var(--color-muted)}
.ac-btn.ac-secondary:hover:not(:disabled){background:var(--color-canvas)}
.ac-btn.ac-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}
.ac-btn.ac-danger:hover:not(:disabled){background:#922f2f;border-color:#922f2f}
.ac-btn:disabled{background:var(--color-canvas);border-color:var(--color-border);color:#8993a2;cursor:not-allowed}
.ac-btn[aria-busy=true]{background:var(--color-accent-soft);border-color:var(--color-accent-line);color:var(--color-accent)}
.ac-btn.ac-sm{min-height:36px;padding:7px 10px;font-size:13px}
.ac-btn.ac-square{width:36px;min-height:36px;padding:8px}
.ac-btn svg,.ac-line-icon{width:18px;height:18px;flex:none}
.ac-btn:focus-visible,.ac-link:focus-visible,.ac-menu-button:focus-visible,.ac-field input:focus-visible,.ac-field select:focus-visible,.ac-field textarea:focus-visible,.ac-check input:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.ac-link{font:400 13px/1.5 var(--font-ui);border:0;background:transparent;color:var(--color-accent);padding:4px 0;cursor:pointer}
.ac-link:disabled{color:#8993a2;cursor:not-allowed}
.ac-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ac-between{justify-content:space-between}
.ac-tabs{display:flex;gap:4px;padding:4px;background:var(--color-accent-soft);border-radius:10px;width:max-content;max-width:100%;margin-bottom:28px}
.ac-tabs .ac-btn{border:0;min-height:36px;padding:8px 16px;background:transparent;white-space:nowrap}
.ac-tabs .ac-btn[aria-selected=true]{background:var(--color-accent);color:#fff}
.ac-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.ac-field{display:block;min-width:0;font-size:13px;font-weight:500;margin-bottom:20px}
.ac-field input,.ac-field select,.ac-field textarea{display:block;width:100%;min-height:44px;padding:10px 12px;margin:8px 0 0;font:400 14px/1.5 var(--font-ui);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);background:#fff;box-shadow:none}
.ac-field textarea{min-height:100px;resize:vertical}
.ac-field input:disabled,.ac-field select:disabled{background:var(--color-canvas);color:var(--color-muted)}
.ac-field input[aria-invalid=true]{border-color:var(--color-danger)}
.ac-field .ac-required{color:var(--color-danger)}
.ac-field .ac-small{display:block;font-weight:400;margin-top:6px}
.ac-tools .ac-field{margin:0;flex:1 1 210px;max-width:380px}
.ac-tools .ac-field.ac-filter{flex:0 1 180px}
.ac-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;min-height:40px;padding:8px 0;cursor:pointer}
.ac-check input{margin:3px 0 0;width:16px;height:16px;flex:none;accent-color:var(--color-accent)}
.ac-check span{min-width:0;overflow-wrap:anywhere}
.ac-check small{display:block;font-size:12px;color:var(--color-muted)}
.ac-section{padding:24px 0;border-top:1px solid var(--color-border)}
.ac-section:first-child{padding-top:0;border:0}
.ac-table-wrap{overflow-x:auto}
.ac-table{width:100%;border-collapse:collapse;text-align:left}
.ac-table th{font-size:12px;font-weight:500;line-height:1.5;color:var(--color-muted);padding:0 16px 14px 0;vertical-align:bottom}
.ac-table td{padding:18px 16px 18px 0;border-top:1px solid var(--color-border);font-size:13px;vertical-align:middle}
.ac-table td:last-child,.ac-table th:last-child{padding-right:0}
.ac-table td strong{font-weight:500;display:block}
.ac-table td small{font-size:12px;line-height:1.6;color:var(--color-muted);display:block;margin-top:4px}
.ac-table .ac-cell-actions{display:flex;justify-content:flex-end;gap:8px}
.ac-badge{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:4px 9px;font-size:12px;line-height:1.4;background:var(--color-accent-soft);color:var(--color-accent);white-space:nowrap}
.ac-badge.green{background:var(--color-success-soft);color:var(--color-success)}
.ac-badge.amber{background:var(--color-warning-soft);color:var(--color-warning)}
.ac-badge.red{background:var(--color-danger-soft);color:var(--color-danger)}
.ac-badge.gray{background:var(--color-canvas);color:var(--color-muted)}
.ac-error{display:flex;align-items:flex-start;gap:8px;color:var(--color-danger);font-size:13px;line-height:1.65;margin:16px 0}
.ac-error svg{width:17px;height:17px;flex:none;margin-top:2px}
.ac-success{color:var(--color-success);font-size:13px;line-height:1.7;margin:16px 0}
.ac-notice{background:var(--color-accent-soft);border:1px solid var(--color-accent-line);border-radius:10px;padding:16px;font-size:13px;line-height:1.7;margin:20px 0}
.ac-notice.amber{background:var(--color-warning-soft);border-color:var(--color-warning-line);color:var(--color-warning)}
.ac-note{border-top:1px solid var(--color-border);padding-top:18px;font-size:12px;line-height:1.7;color:var(--color-muted);margin-top:24px}
.ac-empty{padding:64px 24px;text-align:center;max-width:600px;margin:0 auto}
.ac-empty>svg{width:32px;height:32px;color:var(--color-accent);margin-bottom:24px}
.ac-layer{position:fixed;inset:0;z-index:1700;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;padding:24px}
.ac-dialog,.ac-drawer{background:#fff;border:1px solid var(--color-border);border-radius:14px;box-shadow:0 12px 40px var(--color-shadow-popup);width:100%;max-width:540px;max-height:calc(100dvh - 48px);overflow:auto;display:flex;flex-direction:column}
.ac-dialog.ac-wide{max-width:740px}
.ac-layer.ac-drawer-layer{justify-content:flex-end;padding:0}
.ac-drawer{border-radius:0;max-height:100dvh;height:100dvh;max-width:540px}
.ac-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--color-border)}
.ac-dialog-head h2{font-size:22px;margin:0;overflow-wrap:anywhere}
.ac-dialog-head .ac-small{margin-top:6px;overflow-wrap:anywhere}
.ac-dialog-body{padding:24px;min-height:0;overflow:auto;overscroll-behavior:contain;flex:1}
.ac-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:18px 24px;border-top:1px solid var(--color-border);background:#fff}
.ac-dialog-footer .ac-small{flex-basis:100%}
.ac-kv{margin:20px 0}
.ac-kv>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:12px;margin:12px 0;font-size:13px}
.ac-kv dt{color:var(--color-muted)}.ac-kv dd{margin:0;overflow-wrap:anywhere}
.ac-chip-list{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}
.ac-chip{display:inline-flex;border-radius:20px;padding:5px 10px;background:var(--color-accent-soft);color:var(--color-accent);font-size:12px}
.ac-menu-button{width:100%;display:flex;align-items:center;gap:10px;padding:12px;border:0;background:#fff;border-radius:8px;font:400 13px/1.5 var(--font-ui);color:var(--color-text);text-align:left;cursor:pointer}
.ac-menu-button:hover{background:var(--color-accent-soft)}.ac-menu-button svg{width:18px;height:18px;flex:none;color:var(--color-accent)}
.ac-popover{position:fixed;z-index:1600;bottom:112px;left:16px;width:300px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 140px);overflow:auto;background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:10px;box-shadow:0 8px 30px var(--color-shadow-popup)}
.ac-popover.ac-bell{width:380px;bottom:160px}
.ac-popover-head{padding:12px;border-bottom:1px solid var(--color-border);margin-bottom:8px}
.ac-popover-head strong{font-weight:500;display:block;font-size:14px}.ac-popover-head small{display:block;font-size:12px;color:var(--color-muted);overflow-wrap:anywhere}
.ac-notification{display:block;width:100%;padding:14px 12px;border:0;border-bottom:1px solid var(--color-border);text-align:left;background:#fff;cursor:pointer;font:400 13px/1.5 var(--font-ui);color:var(--color-text)}
.ac-notification.unread{background:#f5f8ff}.ac-notification strong{display:block;font-weight:500}.ac-notification span,.ac-notification small{display:block;color:var(--color-muted);font-size:12px;margin-top:4px}
.ac-profile-trigger{border:0;background:transparent;color:inherit;width:100%;text-align:left;cursor:pointer;font:inherit}
.ac-notification-count{background:var(--color-danger);color:#fff;border-radius:20px;padding:2px 6px;font-size:11px;margin-left:auto}
.ac-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ac-demo-group{padding:20px;border:1px solid var(--color-border);border-radius:12px;min-width:0}
.ac-demo-group .ac-menu-button{border-radius:0;border-top:1px solid var(--color-border);justify-content:space-between}
.ac-demo-group .ac-menu-button span{min-width:0}
.ac-demo-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 20px;background:var(--color-canvas);border-bottom:1px solid var(--color-border);flex:none}
/* The viewport owns the height. Neither the artwork nor form may enlarge a column. */
.ac-demo-actions{display:flex;align-items:center;gap:8px;max-width:100%;overflow-x:auto;scrollbar-width:none;flex:none}
.ac-demo-actions::-webkit-scrollbar{display:none}
.ac-auth{position:relative;background:#fff;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.ac-auth-mode{overflow:hidden}
body.ac-auth-mode #sidebar,body.ac-auth-mode>.sidebar-backdrop,body.ac-auth-mode>.shell>.footer{display:none!important}
body.ac-auth-mode .shell{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
body.ac-auth-mode #app{padding:0!important;margin:0!important}
.ac-auth-layout{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);flex:1;min-height:0;min-width:0;overflow:hidden}
.ac-auth-left{display:grid;grid-template-rows:auto minmax(0,1fr) auto;row-gap:24px;padding:32px clamp(28px,3.5vw,64px) 24px;min-width:0;min-height:0;overflow:hidden}
.ac-auth-logo{width:200px;max-width:100%;height:auto;aspect-ratio:344/85;display:block}
.ac-auth-main{display:flex;align-items:flex-start;justify-content:center;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable both-edges;padding:clamp(12px,calc((100dvh - 620px)*.15),64px) 4px 20px}
.ac-auth-form{width:100%;max-width:380px;min-width:0;margin:0}
.ac-auth-form h2{font-size:32px;line-height:1.15;margin-bottom:16px}
.ac-auth-form>.ac-muted{margin:0 0 28px}
.ac-auth-form>.ac-btn{width:100%;margin-top:8px}
.ac-auth-form>.ac-link{display:block;margin:20px auto 0}
.ac-auth-foot{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--color-muted);flex-wrap:wrap}
.ac-auth-right{background:#f0f5ff;padding:40px clamp(28px,3.5vw,64px) 28px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden}
.ac-auth-right h3{font-size:clamp(30px,3.1vw,42px);line-height:1.1;font-weight:500;letter-spacing:-.04em;margin:16px 0}
.ac-auth-right h3 span{color:var(--color-accent)}
.ac-auth-right>p{margin:0;font-size:14px;line-height:1.7}
.ac-auth-right img{display:block;width:100%;height:100%;max-width:600px;min-width:0;min-height:0;padding:24px 0;object-fit:contain;object-position:center;justify-self:center;mix-blend-mode:multiply}
.ac-password{display:flex;align-items:center;position:relative;margin-top:8px;border:1px solid var(--color-border);border-radius:8px}
.ac-password input{border:0;margin:0;width:calc(100% - 44px)}
.ac-password .ac-btn{border:0;background:transparent;color:var(--color-muted);min-height:44px;width:44px;padding:12px}
.ac-password:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}
.ac-password input:focus-visible{outline:0}
.ac-code-entry{position:relative;display:block;margin:8px 0 20px}
.ac-code-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ac-code-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f7f9fc;border:1px solid var(--color-border);border-radius:10px;padding:4px}
.ac-digit{display:grid;place-items:center;height:56px;font-size:26px;font-weight:500;font-variant-numeric:tabular-nums}
.ac-digit:empty:before{content:'–';color:#a4adbb}
.ac-code-entry input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0}
.ac-code-entry:focus-within .ac-code-group{outline:2px solid var(--color-accent);outline-offset:2px}
.ac-code-entry.is-error .ac-code-group{border-color:var(--color-danger);background:#fffafa}
.ac-premium-state{min-height:0;display:flex;align-items:safe center;justify-content:center;padding:clamp(24px,4dvh,48px) 24px;background:#fff}
.ac-premium-inner{max-width:540px;width:100%;text-align:center}
.ac-premium-art{display:block;width:clamp(180px,24vw,280px);max-width:100%;height:clamp(110px,22dvh,188px);object-fit:contain;margin:0 auto 24px}
.ac-premium-inner h2{font-size:30px;line-height:1.2;font-weight:500;margin:0 auto 18px;max-width:460px;letter-spacing:-.03em}
.ac-premium-inner>.ac-muted{max-width:440px;margin:0 auto 26px}
.ac-premium-inner .ac-row{justify-content:center}
.ac-session-brand{padding:24px 32px;flex:none}
.ac-auth--session .ac-premium-state{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.ac-loading{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%}
/* Converge ordinary legacy actions without changing the agreed orange consultant/step action. */
.btn.btn-primary:not(.sw-next-action),.btn.btn-blue{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent-line)}
.btn.btn-primary:not(.sw-next-action):hover:not(:disabled),.btn.btn-blue:hover:not(:disabled){background:var(--ac-button-hover);border-color:#8eafea}
.btn.btn-primary:not(.sw-next-action):active:not(:disabled),.btn.btn-blue:active:not(:disabled){background:var(--ac-button-pressed);border-color:var(--color-accent)}
.btn:not(.sw-next-action):disabled,.btn.btn-primary:not(.sw-next-action):disabled,.btn.btn-blue:not(.sw-next-action):disabled{background:var(--color-canvas);color:#8993a2;border-color:var(--color-border);opacity:1;cursor:not-allowed}
.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
@media(min-width:1500px){.ac-auth-left{padding:40px 64px 28px}.ac-auth-right{padding:48px 64px 32px}}
@media(max-width:900px){.ac-page{padding:24px 20px}.ac-auth-left{padding:24px}.ac-auth-right{padding:32px 24px 24px}.ac-auth-right h3{font-size:32px}.ac-demo-grid{grid-template-columns:1fr}.ac-table{min-width:680px}}
@media(max-width:650px){.ac-page{padding:20px 16px}.ac-heading{gap:12px}.ac-auth-left{padding:20px;row-gap:20px}.ac-auth-main{padding:16px 4px 20px}.ac-auth-form h2{font-size:28px}.ac-auth-form input,.ac-field select,.ac-field textarea{font-size:16px}.ac-layer{padding:12px}.ac-dialog{max-height:calc(100dvh - 24px)}.ac-dialog-head,.ac-dialog-body,.ac-dialog-footer{padding:20px}.ac-dialog-footer>.ac-btn{flex:1}.ac-popover{bottom:110px;left:12px;max-width:calc(100vw - 24px)}.ac-popover.ac-bell{bottom:160px}.ac-premium-state{padding:24px 20px}.ac-premium-art{width:240px;height:clamp(110px,22dvh,160px)}.ac-premium-inner h2{font-size:26px}.ac-demo-toolbar{padding:10px 12px}.ac-tabs{overflow-x:auto}.ac-kv>div{grid-template-columns:110px minmax(0,1fr)}}
@media(prefers-reduced-motion:no-preference){.ac-loading{animation:ac-rotate 1s linear infinite}@keyframes ac-rotate{to{transform:rotate(360deg)}}}

.sw-workbench .ac-project-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.sw-workbench .sw-project-header{flex-wrap:wrap}.sw-workbench .sw-project-header>div:first-child{flex:1 1 260px}.sw-workbench .btn.sw-primary:not(.sw-next-action):hover:not(:disabled){background:var(--ac-button-hover);border-color:#8eafea}
.ac-page .mobile-menu{display:none}
@media(max-width:650px){.ac-page .mobile-menu{display:inline-flex}.ac-auth-right{display:none}}

/* One-column mode follows available space; artwork is decorative, form remains usable. */
@media(max-width:820px){.ac-auth-layout{grid-template-columns:minmax(0,1fr)}.ac-auth-right{display:none}.ac-auth-left{width:100%;max-width:640px;justify-self:center}.ac-auth-main{padding-top:clamp(16px,calc((100dvh - 620px)*.15),48px)}}
@media(max-height:640px){.ac-auth-left{padding-block:16px;row-gap:14px}.ac-auth-logo{width:160px}.ac-auth-main{padding-block:12px}.ac-auth-right{padding-block:24px}.ac-auth-right h3{font-size:30px;margin:12px 0}.ac-auth-right img{padding:16px 0}.ac-session-brand{padding:16px 24px}.ac-premium-art{height:110px;margin-bottom:16px}}
@media(max-height:500px){.ac-auth-foot{display:none}.ac-auth-left{row-gap:10px}.ac-auth-logo{width:140px}.ac-auth-right{display:none}.ac-auth-layout{grid-template-columns:minmax(0,1fr)}.ac-auth-left{width:100%;max-width:640px;justify-self:center}.ac-session-brand{padding:12px 20px}}

@media(max-width:650px){.ac-demo-toolbar>.ac-small{flex-basis:100%;font-size:11px}.ac-demo-actions{width:100%}}

/* Shared action groups must include controls inserted after the core render. */
.sw-workbench .ac-project-actions{align-items:center}
.sw-workbench .ac-project-actions>.ac-btn,.sw-workbench .ac-project-actions>.btn{height:44px;min-height:44px;padding-block:0}
@media(max-width:650px){.ac-dialog-footer{flex-direction:column;align-items:stretch}.ac-dialog-footer>.ac-btn{flex:none;width:100%;min-height:44px;white-space:normal}}
