/* Shared Office layout and colour contract. Loaded after portal.css. */
.asvo-shell{--asvo-blue:#3157e7;--asvo-blue-dark:#2444bd;--asvo-text:#18314d;--asvo-muted:#53677d;--asvo-border:#d7e1ea;--asvo-bg:#eef3f7;font-size:16px;line-height:1.55;min-width:0;max-width:100%}
.asvo-shell *{box-sizing:border-box;min-width:0}
.asvo-shell :is(h1,h2,h3,h4,p,label,summary,small,code,strong,em){overflow-wrap:anywhere}
.asvo-shell :is(input,select,textarea){max-width:100%;font-size:16px;line-height:1.5}
.asvo-shell :is(input:not([type=checkbox]):not([type=radio]),select){min-height:44px}
.asvo-shell :is(button,.asvo-btn,.asvo-office-tab,.asvo-desk-tab){white-space:normal;overflow-wrap:anywhere;line-height:1.45;height:auto;max-height:none;min-height:44px;font-size:16px}
.asvo-shell :is(.asvo-panel,.asvo-action-body,.asvo-desk-section-body){min-width:0;max-width:100%}
.asvo-shell :is(img,video,canvas){max-width:100%;object-fit:contain}
.asvo-shell :is(.asvo-panel-head,.asvo-doc-actions,.asvo-scanner-action-row,.asvo-cab-tools form,.asvo-secret-actions){flex-wrap:wrap;gap:10px}
.asvo-shell .asvo-office-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:'brand company' 'nav profile';gap:20px;overflow:visible}
.asvo-shell .asvo-office-nav{display:flex;flex-wrap:wrap;justify-content:flex-start;min-width:0}
.asvo-shell .asvo-office-tab{flex:1 1 180px;width:auto;min-width:0;max-width:none;min-height:64px;padding:12px 16px;overflow:visible;color:#fff!important}
.asvo-shell .asvo-office-tab>span{white-space:normal;overflow:visible;text-overflow:clip}
.asvo-shell .asvo-office-tab.active{outline:3px solid rgba(255,255,255,.8);outline-offset:2px}
.asvo-shell .asvo-profile-menu{max-width:100%;min-width:0;justify-self:end}
.asvo-shell .asvo-profile-menu>summary{max-width:100%;height:auto;min-height:56px;overflow:visible;white-space:normal}
.asvo-shell .asvo-profile-name{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.asvo-shell :is(.asvo-avatar,.asvo-company-avatar){flex-shrink:0}
.asvo-shell :is(.asvo-profile-popover,.asvo-company-options){max-width:calc(100vw - 32px);z-index:150}
.asvo-shell .asvo-profile-popover{width:300px}.asvo-shell .asvo-profile-popover a{white-space:normal;overflow-wrap:anywhere}
.asvo-shell .asvo-doc-name strong{white-space:normal;overflow:visible;text-overflow:clip}
.asvo-shell .asvo-doc-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}
.asvo-shell :is(.asvo-addon-card-main,.asvo-event-info,.asvo-note,.asvo-note-top){min-width:0;overflow-wrap:anywhere}
.asvo-shell .asvo-addon-card{flex-wrap:wrap;gap:16px}.asvo-shell .asvo-addon-card-side{flex-wrap:wrap;gap:10px}
.asvo-shell .asvo-cabinet-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.asvo-shell .asvo-cabinet-nameplate{white-space:normal;overflow-wrap:anywhere}
.asvo-shell .asvo-cabinet-drawer-label em{white-space:normal;overflow:visible;text-overflow:clip;font-size:16px}
.asvo-shell .asvo-cabinet-drawer summary{grid-template-columns:minmax(0,1fr) minmax(80px,110px);padding-right:22px}
.asvo-shell :is(.asvo-cab-file-action,.asvo-drawer-preview-folders a){white-space:normal;overflow-wrap:anywhere}
.asvo-shell .asvo-document-lightbox-title{white-space:normal;overflow:visible;text-overflow:clip;max-height:25vh;overflow-y:auto}
.asvo-shell :is(.asvo-secret-field code,.asvo-scanner-secret code){white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
.asvo-shell .asvo-secret-field>div{grid-template-columns:minmax(0,1fr) auto;gap:8px}
.asvo-shell :is(.asvo-company-activity-table-wrap,.asvo-table-wrap,.asvo-audit-table-wrap,.asvo-calendar-scroll){max-width:100%;overflow-x:auto}
.asvo-shell :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #087da1;outline-offset:3px}
.asvo-shell .asvo-office-tab:focus-visible{outline-color:#fff}
.asvo-shell :is(.asvo-module-icon,.asvo-addon-icon){flex-shrink:0;object-fit:contain}
.asvo-shell .asvo-cabinet-drawer-usage small{font-size:14px}
@media(max-width:1200px){.asvo-shell :is(.asvo-dashboard-grid,.asvo-work-grid,.asvo-calendar-layout,.asvo-scanner-grid){display:grid!important;grid-template-columns:minmax(0,1fr)!important}.asvo-shell .asvo-office-header{grid-template-areas:'brand company' 'nav nav' 'profile profile'}.asvo-shell .asvo-office-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.asvo-shell .asvo-office-tab{width:100%}.asvo-shell .asvo-calendar-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.asvo-shell .asvo-office-header{padding:16px;grid-template-columns:minmax(0,1fr);grid-template-areas:'brand' 'company' 'nav' 'profile';gap:16px}.asvo-shell :is(.asvo-office-brand,.asvo-header-company){justify-self:stretch;max-width:100%}.asvo-shell .asvo-office-brand{justify-self:center}.asvo-shell .asvo-content{padding:24px 16px}.asvo-shell :is(.asvo-calendar-layout>aside,.asvo-desk-overview,.asvo-account-grid,.asvo-form-two,.asvo-folder-grid,.asvo-note-grid,.asvo-addon-grid,.asvo-scanner-meta,.asvo-scanner-secret-grid,.asvo-drawer-manager-row,.asvo-drawer-access-grid,.asvo-capacity-options){grid-template-columns:minmax(0,1fr)!important}.asvo-shell .asvo-doc-row{grid-template-columns:42px minmax(0,1fr);gap:10px}.asvo-shell .asvo-doc-actions{grid-column:1/-1;justify-content:flex-start}.asvo-shell .asvo-drawer{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px}.asvo-shell .asvo-cabinet{padding:16px}.asvo-shell .asvo-cab-tools form{flex-direction:column}.asvo-shell .asvo-cab-tools input{width:100%}.asvo-shell .asvo-secret-field.wide{grid-column:auto}.asvo-shell .asvo-panel-head{align-items:flex-start}.asvo-shell .asvo-calendar-panel{padding:12px}.asvo-shell .asvo-desk-section>summary{padding:16px}}
@media(max-width:430px){.asvo-shell .asvo-office-nav{grid-template-columns:minmax(0,1fr)}.asvo-shell .asvo-company-options>button{flex-wrap:wrap}.asvo-shell .asvo-cabinet-drawer summary{grid-template-columns:minmax(0,1fr)}.asvo-shell .asvo-cabinet-drawer-usage{justify-items:start}.asvo-shell .asvo-profile-popover{right:0;left:auto;width:min(300px,calc(100vw - 32px))}}
@media(prefers-reduced-motion:reduce){.asvo-shell *, .asvo-shell *::before,.asvo-shell *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.asvo-shell :is(small,.asvo-cal-muted,.asvo-cal-item strong,.asvo-cal-weekday,.asvo-company-selected,.asvo-upcoming-preview,.asvo-upcoming-link){font-size:16px}
.asvo-shell .asvo-selected-value{display:block;margin:6px 0 0;color:var(--asvo-muted);font-size:16px;font-weight:400;overflow-wrap:anywhere;white-space:normal}
@media(max-width:1200px){.asvo-shell .asvo-scanner-grid>.asvo-stack{width:100%!important;flex:auto!important}}
.asvo-login-wrap{max-width:100%;padding:24px 16px}.asvo-login-card{max-width:100%;min-width:0;overflow-wrap:anywhere}.asvo-login-card input:not([type=checkbox]){width:100%;max-width:100%;box-sizing:border-box;font-size:16px}
/* Keep desktop navigation together instead of wrapping within half a header. */
@media(min-width:1201px){.asvo-shell .asvo-office-header{grid-template-columns:minmax(0,1fr) minmax(220px,auto);grid-template-areas:'brand company' 'nav profile'}.asvo-shell .asvo-office-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.asvo-shell .asvo-profile-menu{max-width:300px}.asvo-shell .asvo-office-tab{width:100%;min-height:64px}}
@media(min-width:901px) and (max-width:1200px){.asvo-shell .asvo-office-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:431px) and (max-width:900px){.asvo-shell .asvo-office-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
.asvo-shell .asvo-addon-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px}
.asvo-shell .asvo-addon-card-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.asvo-shell .asvo-addon-card-main>div{min-width:0;overflow-wrap:anywhere}
.asvo-shell .asvo-addon-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0}
@media(max-width:650px){.asvo-shell .asvo-addon-card{grid-template-columns:minmax(0,1fr)}.asvo-shell .asvo-addon-card-side{flex-direction:row;align-items:center;justify-content:space-between}}

/* Package administration shares the portal controls and bright v0.3.7 palette. */
.asvo-billing-form{display:grid;gap:14px;max-width:600px;margin:18px 0;min-width:0}
.asvo-billing-form label{display:grid;gap:7px;min-width:0;overflow-wrap:anywhere}
.asvo-billing-form input:not([type=hidden]):not([type=checkbox]),.asvo-billing-form select,.asvo-billing-form textarea{box-sizing:border-box;max-width:100%;width:100%;min-width:0;font:inherit;padding:10px;border:1px solid #c8daeb;border-radius:8px}
.asvo-billing-member{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #dbe5ef;padding:18px 0;overflow-wrap:anywhere;min-width:0}
.asvo-billing-member>div{flex:1 1 220px;min-width:0}.asvo-billing-member form{flex:0 1 330px}

.asvo-shell .asvo-billing-notice{border:1px solid #b9dbd1;border-left:5px solid #178580;background:#eaf8f2;color:#123b5c;border-radius:12px;padding:16px 20px;margin:0 0 24px;overflow-wrap:anywhere;min-width:0}.asvo-shell .asvo-billing-notice p{margin:8px 0 0;line-height:1.55}

/* Compact inline credential actions, including on narrow screens. */
.asvo-shell .asvo-scanner-secret .asvo-secret-field>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px;align-items:center}
.asvo-shell .asvo-scanner-secret .asvo-secret-field code{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.asvo-shell .asvo-scanner-secret .asvo-copy-btn{display:inline-flex;width:auto!important;min-width:0;min-height:36px;padding:6px 10px;font-size:16px;line-height:1.25;white-space:nowrap;align-items:center;justify-content:center;align-self:center;gap:5px}
.asvo-shell .asvo-billing-form .asvo-package-confirm{display:flex;align-items:flex-start;gap:10px}
.asvo-shell .asvo-billing-form .asvo-package-confirm input[type=checkbox]{width:18px;min-width:18px;height:18px;margin:3px 0 0;flex:0 0 18px}
