/* AutoStudio index/modal component rules consume canonical tokens.
   This adapter owns File Transfer markup, controls and responsive limits. */
:root{--bg:var(--as-bg);--text:var(--as-text);--muted:var(--as-text-muted);--lime:var(--as-cta);--line:var(--as-index-panel-border)}
main.shell{max-width:none;margin:0}
.shell>#app,.shell>#auth{display:contents}
.brand.as-index-topbar{height:var(--asft-height-da5e345cda);margin:0;padding:0;border:0;max-width:none;pointer-events:none}
.brand .brand-name{display:inline-flex;gap:var(--asft-gap-ab98c04774);font-size:var(--asft-font-size-2793cbc214);font-weight:var(--as-font-weight-bold);letter-spacing:var(--asft-letter-spacing-7ee6350b4c)}
.brand .as-index-brand-mark{width:var(--asft-width-da5e345cda);height:var(--asft-height-da5e345cda)}
.brand>#logout{display:none!important}
.account-card{position:relative;top:auto;display:flex;flex-direction:column;width:min(100%,var(--index-left-panel-width));box-shadow:var(--as-index-panel-shadow)}
.account-card>*{flex-shrink:0}
.account-card .account-title{margin:var(--asft-margin-97c4ea0211)}
.account-identity{margin:0}
.as-account-person{min-width:0}.as-account-name{overflow-wrap:anywhere}
.account-avatar{margin:0;background:transparent;grid-column:auto;grid-row:auto}
#account-login{margin-top:var(--asft-margin-top-a15202ec59);font-size:var(--as-type-body);line-height:var(--asft-line-height-77ac319bfe);overflow-wrap:anywhere}
.account-card h2{margin:0;font-size:var(--as-type-section);line-height:var(--asft-line-height-77ac319bfe)}
.account-permissions{margin-top:var(--asft-margin-top-9bf0c8e6e7)}
#account-role{margin-top:var(--asft-margin-top-a15202ec59);font-size:var(--as-type-body);line-height:var(--asft-line-height-98737cf896);color:var(--as-text-muted)}
.account-help{margin:var(--asft-margin-b8f3906321);font-size:var(--as-type-body);line-height:var(--asft-line-height-9e0b4cf467);color:var(--as-text-muted)}
.account-card .account-policy,.account-card .account-qr-button{margin:var(--asft-margin-56b1b774f6);padding:0;border:0;font-size:var(--as-type-sm);text-align:left;color:var(--as-index-link);width:fit-content;line-height:var(--asft-line-height-1a948f1b43)}
#account-logout,#demo-back{width:100%;height:var(--index-left-action-button-height);min-height:var(--index-left-action-button-height);margin:0;border:var(--asft-border-8ee87a69f6);border-radius:var(--as-radius-xl);background:var(--as-control-bg);color:var(--as-text);font-size:var(--as-type-section);font-weight:var(--as-font-weight-heavy)}
.workspace{min-width:0;min-height:0;display:flex;flex-direction:column;padding:var(--asft-padding-f041ed5a68);border:var(--asft-border-b52bfbbfdc);border-radius:var(--as-radius-modal);background:var(--as-index-panel-bg);box-shadow:var(--as-index-panel-shadow);overflow:auto}
.workspace-heading{position:relative;display:block;margin-bottom:0;flex-shrink:0}
.workspace-heading>#storage-refresh{position:absolute;top:0;right:0}
.workspace-heading h1{margin:0 0 var(--asft-margin-bottom-c80bfee312);color:var(--as-text);font-size:var(--as-type-page-title);font-weight:var(--as-font-weight-bold);line-height:var(--asft-line-height-b05e244762);letter-spacing:var(--asft-letter-spacing-a1bf9ed2eb);min-width:0;overflow-wrap:anywhere}
.action{display:inline-flex;align-items:center;justify-content:center;gap:var(--asft-gap-38cb6b4a22);min-height:var(--asft-min-height-717594bbc6);height:auto;padding:var(--asft-padding-9a2ec4116e);border:var(--asft-border-8ee87a69f6);border-radius:var(--as-radius-xl);background:var(--as-index-control-bg);color:var(--as-text);font-size:var(--as-type-body);font-weight:var(--as-font-weight-heavy);line-height:var(--asft-line-height-77ac319bfe);letter-spacing:0;text-align:center;text-decoration:none;white-space:normal}
.action:hover:not(:disabled){background:var(--as-index-control-hover-bg)}
.action.danger{background:var(--as-index-row-bg);color:var(--as-danger);border-color:var(--as-danger)}
button:disabled{opacity:var(--asft-opacity-11529bdd78);cursor:not-allowed}
.view-nav{margin:var(--asft-margin-top-c80bfee312) 0 0;display:flex;gap:0;flex-shrink:0}
.view-nav button{flex:1;padding:var(--asft-padding-9d87ab9ec9);min-height:var(--asft-min-height-47128122f3);border:var(--asft-border-8ee87a69f6);border-radius:0;background:var(--as-index-row-bg);color:var(--as-text-muted);font-size:var(--as-type-sm);font-weight:var(--as-font-weight-heavy);line-height:var(--asft-line-height-77ac319bfe);letter-spacing:0}
.view-nav button:first-child{border-radius:var(--asft-border-radius-6c00c13e0f)}
.view-nav button:last-child{border-radius:var(--asft-border-radius-c04710f410)}
.view-nav button.selected{border-color:var(--as-index-selected-border);background:var(--as-index-row-selected-bg);color:var(--as-index-selected-accent)}
#storage,#trash{display:flex;flex-direction:column;min-height:0;flex:1 0 auto}
.storage-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 216px;grid-template-areas:'title title' 'input button';gap:var(--asft-gap-79f68edd31);padding:var(--asft-padding-19908021d5);margin:var(--asft-margin-df4262535d);border:var(--asft-border-b52bfbbfdc);border-radius:var(--as-radius-xl);background:var(--as-index-card-bg);box-shadow:none;flex-shrink:0}
.storage-toolbar h2{grid-area:title;margin:0;color:var(--as-section-title-color);font-size:var(--as-type-body);font-weight:var(--as-font-weight-black);line-height:var(--asft-line-height-9f0e787f95);letter-spacing:var(--asft-letter-spacing-5630129c30);text-transform:uppercase}
.storage-toolbar>input{grid-area:input;width:100%;min-width:0;height:var(--asft-height-a7d674f814);padding:var(--asft-padding-6b21e42df4);border:var(--asft-border-b52bfbbfdc);border-radius:var(--as-radius-lg);background:var(--as-index-control-bg);color:var(--as-text);font-size:var(--as-type-control);line-height:var(--asft-line-height-6b86b273ff)}
.storage-toolbar>#storage-mkdir{grid-area:button;width:100%;height:var(--asft-height-a7d674f814);border-radius:var(--as-radius-md);border-color:var(--as-index-primary-border);background:var(--as-index-primary-bg);color:var(--as-index-primary-text);font-size:var(--as-type-body);font-weight:var(--as-font-weight-black);box-shadow:var(--as-index-primary-shadow)}
.storage-toolbar>#storage-mkdir{display:block;padding:revert;line-height:var(--asft-line-height-6b86b273ff)}
.storage-tools{margin-bottom:var(--asft-margin-bottom-9bf0c8e6e7);flex-shrink:0}
.storage-controls{display:flex;gap:var(--asft-gap-ab98c04774);align-items:center;flex-wrap:wrap;margin-top:var(--asft-margin-top-67931646dc)}
.storage-search{flex:1;min-width:0;font-weight:var(--as-font-weight-regular)}
.storage-search input{width:100%;height:var(--asft-height-47128122f3);margin:0;padding:var(--asft-padding-6b21e42df4);border:var(--asft-border-b52bfbbfdc);border-radius:var(--as-radius-lg);background:var(--as-index-control-bg);color:var(--as-text);font-size:var(--as-type-control);font-weight:var(--as-font-weight-regular)}
.storage-controls>.action{height:var(--asft-height-47128122f3);min-width:0;font-size:var(--as-type-body)}
#storage-upload{border-color:var(--as-index-primary-border);background:var(--as-index-primary-bg);color:var(--as-index-primary-text);box-shadow:var(--as-index-primary-shadow)}
.storage-list-title{margin:var(--asft-margin-825bb706ba);color:var(--as-section-title-color);font-size:var(--as-type-body);font-weight:var(--as-font-weight-black);line-height:var(--asft-line-height-9f0e787f95);letter-spacing:var(--asft-letter-spacing-5630129c30)}
.storage-message{margin:var(--asft-margin-40dc9ef14b);color:var(--as-text-muted);font-size:var(--as-type-sm);line-height:var(--asft-line-height-9c193c604a);white-space:pre-wrap}
.storage-message:empty{display:none}
.storage-check,.storage-select-all input{appearance:auto;accent-color:var(--as-cta);width:var(--asft-width-9bf0c8e6e7);height:var(--asft-height-9bf0c8e6e7);min-width:var(--asft-min-width-9bf0c8e6e7);margin:var(--asft-margin-0a2871d92d);padding:0;vertical-align:middle;cursor:pointer}
.storage-select-all{display:flex;align-items:center;width:fit-content;min-height:var(--asft-min-height-717594bbc6);margin:var(--asft-margin-825bb706ba);color:var(--as-text-muted);font-size:var(--as-type-sm);cursor:pointer;flex-shrink:0}
.storage-table-wrap{min-height:var(--asft-min-height-cf197d3f29);max-height:var(--asft-max-height-b9d0f589ed);flex:1 0 auto;overflow:auto;padding-right:var(--asft-padding-right-356601538d)}
.storage-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0 10px}
.storage-table thead{position:absolute;width:var(--asft-width-93e20626bf);height:var(--asft-height-93e20626bf);overflow:hidden;clip:rect(0,0,0,0)}
.column-name{width:var(--asft-width-28fdae8dea)}.column-size{width:var(--asft-width-1137d6133e)}.column-date{width:var(--asft-width-eb083e97e0)}.column-open{width:var(--asft-width-23ec5e7f20)}
.storage-table td{height:var(--asft-height-43b2253d8c);padding:var(--asft-padding-67931646dc);border-top:var(--asft-border-top-da53e67d7a);border-bottom:var(--asft-border-bottom-da53e67d7a);background:var(--as-index-row-bg);font-size:var(--as-type-sm);font-weight:var(--as-font-weight-medium);line-height:var(--asft-line-height-77ac319bfe);color:var(--as-index-meta-text);overflow-wrap:anywhere}
.storage-table td:first-child{border-left:var(--asft-border-left-da53e67d7a);border-radius:var(--asft-border-radius-6c00c13e0f);padding-left:var(--asft-padding-left-c80bfee312)}
.storage-table td:last-child{border-right:var(--asft-border-right-da53e67d7a);border-radius:var(--asft-border-radius-c04710f410);padding-right:var(--asft-padding-right-c80bfee312);text-align:right}
.storage-table tr:hover{background:transparent}
.storage-table tr:hover td{background:var(--as-index-row-hover-bg)}
.storage-table tr.selected{outline:0;background:transparent}
.storage-table tr.selected td,.storage-table tr.checked td{border-color:var(--as-index-selected-border);background:var(--as-index-row-selected-bg)}
.storage-name{padding:0;border:0;background:none;color:var(--as-text);font-size:var(--as-type-section);font-weight:var(--as-font-weight-bold);line-height:var(--asft-line-height-77ac319bfe);vertical-align:middle;max-width:100%;overflow-wrap:anywhere;text-align:left}
.storage-icon{border:0;width:var(--asft-width-2793cbc214);height:var(--asft-height-2793cbc214);margin-right:var(--asft-margin-right-67931646dc);fill:none;color:var(--as-index-icon);vertical-align:middle}
.storage-table td:last-child .action{padding:0;border:0;background:none;min-width:var(--asft-min-width-2793cbc214);width:var(--asft-width-2793cbc214);height:var(--asft-height-717594bbc6);font-size:var(--as-type-panel-title);color:var(--as-index-icon)}
.storage-selection-actions .action{background:var(--as-index-row-bg)}
.storage-selection-actions .action:first-child{color:var(--as-index-selected-accent);border-color:var(--as-index-selected-border)}
.storage-selection-actions .action.danger{color:var(--as-danger);border-color:var(--as-danger)}
@media(width>1200px) and (height<900px){.workspace,.account-card{overflow:auto}.account-card{padding-bottom:var(--asft-padding-bottom-c80bfee312)}.as-account-actions{position:static;margin-top:var(--asft-margin-top-a0a3565c71);gap:var(--asft-gap-2793cbc214)}#storage{flex-shrink:0}.storage-table-wrap{max-height:var(--asft-max-height-b9d0f589ed)}}
.selection-count,.trash-selection-count{margin:var(--asft-margin-bb4c94551e);color:var(--as-text-muted);font-size:var(--as-type-body)}
.material-expiry,.storage-owner{display:block;margin-top:var(--asft-margin-top-eb4ebe481c);color:var(--as-index-meta-text);font-size:var(--as-type-xs);font-weight:var(--as-font-weight-regular);line-height:var(--asft-line-height-1a948f1b43)}
.storage-heading{margin:var(--asft-margin-e9b332761b)}.storage-heading h1{margin:0;font-size:var(--as-type-panel-title);line-height:var(--asft-line-height-77ac319bfe)}
.trash-help{margin:var(--asft-margin-6674fc873b);color:var(--as-text-muted);font-size:var(--as-type-body);line-height:var(--asft-line-height-9e0b4cf467)}
.trash-list{display:grid;align-content:start;gap:var(--asft-gap-38cb6b4a22);min-height:0;overflow:auto}
.trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--asft-gap-9bf0c8e6e7);padding:var(--asft-padding-b1622efcd3);border:var(--asft-border-da53e67d7a);border-radius:var(--as-radius-xl);background:var(--as-index-row-bg)}
.trash-item strong{font-size:var(--as-type-section);overflow-wrap:anywhere}.trash-item p{margin:var(--asft-margin-a7ad29a8df);font-size:var(--as-type-sm);color:var(--as-text-muted);overflow-wrap:anywhere}
.trash-actions{display:flex;flex-wrap:wrap;gap:var(--asft-gap-7769e81702)}.trash-actions .action{min-height:var(--asft-min-height-a19dc76326)}
#transfer{min-height:0;overflow:auto}.hero{margin-bottom:var(--asft-margin-bottom-2793cbc214)}.hero h1{font-size:var(--as-type-panel-title);line-height:var(--asft-line-height-77ac319bfe);margin-bottom:var(--asft-margin-bottom-7769e81702)}.hero .eyebrow{display:none}.hero>p:last-child{font-size:var(--as-type-body);line-height:var(--asft-line-height-9e0b4cf467)}
.upload{background:var(--as-index-card-bg);border-color:var(--as-index-panel-border);box-shadow:none}
.pick b{font-size:var(--as-type-body);letter-spacing:0;font-weight:var(--as-font-weight-heavy)}
.pick{border-radius:var(--as-radius-xl)}
button:focus-visible,a:focus-visible,input:focus-visible,.storage-table tr:focus-visible{outline:var(--as-index-focus-outline);outline-offset:var(--as-index-focus-offset)}
.storage-toolbar input:focus-visible,.storage-search input:focus-visible{outline:0;border-color:var(--as-index-focus-border);box-shadow:var(--as-index-focus-ring)}
.storage-table-wrap,.trash-list,#transfer{scrollbar-width:thin;scrollbar-color:var(--as-scrollbar-thumb) var(--as-scrollbar-track)}
/* Native labels/fields participate directly in the auth panel layout. */
.auth-mark{grid-column:2;grid-row:1;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;background:none;padding:var(--asft-padding-aaae7f2e27);text-align:center}
#authView{grid-column:1;grid-row:1}
#authView .auth-title{font-size:var(--as-type-page-title);font-weight:var(--as-font-weight-bold);line-height:var(--asft-line-height-717594bbc6);letter-spacing:var(--asft-letter-spacing-a1bf9ed2eb);margin:var(--asft-margin-97c4ea0211)}
.auth-mark img{width:var(--asft-width-b9d0f589ed);height:var(--asft-height-b9d0f589ed);margin:var(--asft-margin-9d099513bd);filter:none}
.auth-brand-title{font-size:var(--asft-font-size-eaf37276fa);font-weight:var(--as-font-weight-bold);line-height:var(--asft-line-height-b05e244762);text-align:center;letter-spacing:var(--asft-letter-spacing-e41687e69c)}
#authView .wide{height:var(--asft-height-f9ea6eb85d);min-height:var(--asft-min-height-f9ea6eb85d);margin:var(--asft-margin-6475ac0f76);border:var(--asft-border-7df23c58a4);border-radius:var(--as-radius-xl);background:var(--as-index-primary-bg);color:var(--as-index-primary-text);font-size:var(--asft-font-size-5d6c43977e);font-weight:var(--as-font-weight-black);line-height:var(--asft-line-height-6b86b273ff);box-shadow:var(--as-index-primary-shadow)}
.auth-actions{display:contents}
.auth-actions>*{flex-shrink:0}
#login-form .error:empty,#register-form .error:empty{display:none}
#login-form,#register-form{display:contents}
#login-form>*,#register-form>*{flex-shrink:0}
.auth-actions .text-button{font-size:var(--as-type-body);font-weight:var(--as-font-weight-heavy);line-height:var(--asft-line-height-77ac319bfe);color:var(--as-index-link)}
.qr-login-open{display:block;width:100%;margin:var(--asft-margin-6f41b923f8);font-size:var(--as-type-control);font-weight:var(--as-font-weight-heavy);line-height:var(--asft-line-height-c80bfee312);text-align:center;color:var(--as-index-link)}
#authView{overflow:auto}
.auth.registering .qr-login-open{display:none}
.auth #show-password{display:none}
.auth.registering #contactAdminBtn{position:static;width:100%;margin:var(--asft-margin-cab71cca3c)}
.auth.registering #authView{padding-bottom:var(--asft-padding-bottom-a0a3565c71)}
@media(width>1200px) and (height<900px){#authView{padding-bottom:var(--asft-padding-bottom-a0a3565c71)}#contactAdminBtn{position:static;width:100%;margin:var(--asft-margin-cab71cca3c)}}
@media(width>1200px) and (height<900px){.account-card{overflow:auto;padding-bottom:var(--asft-padding-bottom-c80bfee312)}.account-card .as-account-actions{position:static;margin-top:var(--asft-margin-top-a0a3565c71)}}
@media(height<900px){#storage{flex:0 0 auto}.storage-table-wrap{flex:none}}
.password-field{display:block;position:relative}#authView .password-field input{padding-right:var(--asft-padding-right-1347c62b5f)}
.password-eye{position:absolute;right:var(--asft-right-ab98c04774);top:0;width:var(--asft-width-2793cbc214);height:var(--asft-height-a7d674f814);display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--as-radius-lg);background:transparent;color:var(--as-text-muted)}
.password-eye svg{width:var(--asft-width-2793cbc214);height:var(--asft-height-2793cbc214)}
#authView [data-policy]{color:var(--as-section)}
#authView .consent [data-policy]{text-decoration:none}
@media(width<=1200px){
 .workspace{overflow:visible;min-height:0}.storage-table-wrap,.trash-list,#transfer{max-height:none;overflow:visible}
 .account-card{padding-bottom:var(--asft-padding-bottom-c80bfee312)}.as-account-actions{position:static;margin-top:var(--asft-margin-top-a0a3565c71);gap:var(--asft-gap-2793cbc214)}
 .account-help{display:block}#authView{padding-bottom:var(--asft-padding-bottom-a0a3565c71)}
 #contactAdminBtn{position:static;width:100%;margin:var(--asft-margin-cab71cca3c)}
 .auth-mark{grid-column:1;grid-row:2;padding:0;margin:auto}.storage-toolbar{grid-template-columns:1fr;grid-template-areas:'title' 'input' 'button'}
 .column-date{display:none;width:0}.column-name{width:var(--asft-width-147ee7a208)}.column-size{width:var(--asft-width-a0e12e68c1)}.column-open{width:var(--asft-width-7f147472fc)}
 .storage-table td:nth-child(3){display:none}
 .trash-item{grid-template-columns:minmax(0,1fr)}.trash-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(width<=760px){
 main.shell{padding:var(--asft-padding-a4e62b80fb)}.brand.as-index-topbar{left:var(--asft-left-67931646dc)}.brand .brand-name{font-size:var(--as-type-control);gap:var(--asft-gap-09f97395c8)}.brand img{width:var(--asft-width-6018510ff4);height:var(--asft-height-6018510ff4)}
 .workspace-heading{display:flex;flex-wrap:wrap;gap:var(--asft-gap-67931646dc)}.workspace-heading>#storage-refresh{position:static}
 .view-nav button{font-size:var(--as-type-xs);padding:var(--asft-padding-f2e29aead7);overflow-wrap:anywhere}
 .storage-controls{gap:var(--asft-gap-7769e81702)}.storage-search{flex-basis:100%}.storage-search input{font-size:var(--as-type-body)}.storage-controls>.action{width:100%}
 .storage-table td{padding:var(--asft-padding-bb31fcf399);font-size:var(--as-type-xs)}.storage-table td:first-child{padding-left:var(--asft-padding-left-7769e81702)}.storage-table td:last-child{padding-right:var(--asft-padding-right-38cb6b4a22)}
 .storage-name{font-size:var(--as-type-body)}.storage-icon{width:var(--asft-width-9bf0c8e6e7);height:var(--asft-height-9bf0c8e6e7);margin-right:var(--asft-margin-right-eb4ebe481c)}.storage-check{width:var(--asft-width-ab98c04774);height:var(--asft-height-ab98c04774);min-width:var(--asft-min-width-ab98c04774);margin-right:var(--asft-margin-right-eb4ebe481c)}
.material-expiry{font-size:var(--as-type-xs)}
 .trash-item{padding:var(--asft-padding-9bf0c8e6e7)}.trash-actions{grid-template-columns:1fr}
 .pickers{grid-template-columns:1fr}.pick b{font-size:var(--as-type-sm)}
 .auth-actions{flex-direction:column;align-items:center;gap:var(--asft-gap-9bf0c8e6e7)}
}

#qr-scan-video{width:100%;max-height:300px;object-fit:contain;border-radius:var(--as-radius-xl)}
.qr-file-label{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer}
.qr-file-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}

#qr-scan-title{overflow-wrap:anywhere}
.qr-file-label:focus-within{outline:2px solid var(--as-index-focus-border);outline-offset:2px}



.trash-master-controls{display:grid;gap:var(--as-modal-actions-gap)}
.trash-batch-actions{display:flex;flex-wrap:wrap;gap:var(--as-modal-actions-gap)}
.trash-select{display:flex;align-items:center;gap:var(--as-modal-text-gap);cursor:pointer}
.trash-select strong{min-width:0}.trash-select .storage-check{flex-shrink:0}
.trash-item.checked{border-color:var(--as-index-selected-border);background:var(--as-index-row-selected-bg)}
@media(width<=760px){.trash-batch-actions{display:grid;grid-template-columns:1fr}.trash-batch-actions .action{width:100%}}

/* Shared product header: navigation follows the right panel grid. */
.brand.as-index-topbar{right:var(--index-shell-side);display:grid;grid-template-columns:var(--index-left-panel-width) minmax(0,1fr);gap:var(--index-shell-gap);pointer-events:none}
.product-nav{display:flex;align-items:center;gap:var(--index-shell-gap);pointer-events:auto;min-width:0}
.product-nav a,.product-nav button{padding:var(--asft-padding-9a2ec4116e);border:0;border-bottom:var(--asft-border-b52bfbbfdc);border-color:transparent;border-radius:0;background:transparent;font-size:var(--as-type-section);font-weight:var(--as-font-weight-bold);color:var(--as-text-muted);text-decoration:none;white-space:nowrap}
.product-nav a[aria-current],.product-nav button[aria-current]{color:var(--as-index-selected-accent);border-bottom-color:var(--as-index-selected-accent)}
.product-nav button[aria-disabled]{color:var(--as-text-muted);cursor:not-allowed}
.product-nav a:hover,.product-nav button:hover{background:var(--as-index-control-hover-bg)}
.product-nav a:active{background:var(--as-index-row-selected-bg)}
.product-nav a:focus-visible,.product-nav button:focus-visible{outline:var(--as-index-focus-outline);outline-offset:var(--as-index-focus-offset)}
.workspace-heading{display:flex;justify-content:flex-end;margin-bottom:var(--asft-margin-bottom-c80bfee312)}
.workspace-heading>#storage-refresh{position:static}
.shell>#demo-view{display:contents}
#demo-open{display:block;margin:var(--asft-margin-56b1b774f6);color:var(--as-index-link);font-size:var(--as-type-body);background:transparent;border:0;padding:0}
#demo-view .workspace{gap:var(--asft-gap-9bf0c8e6e7)}
#demo-view h2{margin:0;font-size:var(--as-type-panel-title)}
#demo-view .account-help{margin:0;line-height:var(--asft-line-height-9e0b4cf467)}
#demo-view .account-card{gap:var(--asft-gap-9bf0c8e6e7)}
#demo-controls .pick{margin:var(--asft-margin-56b1b774f6)}
#demo-progress{width:100%;accent-color:var(--as-cta)}
.auth-mark img{margin-left:auto;margin-right:auto}
@media(width<=1200px){.brand.as-index-topbar{position:absolute;grid-template-columns:minmax(0,1fr);row-gap:var(--asft-gap-67931646dc);height:auto}.brand-name{grid-column:1;grid-row:1}.product-nav{grid-column:1/-1;grid-row:2}.shell{padding-top:calc(var(--index-content-top) + var(--asft-height-da5e345cda))}}
@media(width<=760px){.brand.as-index-topbar{right:var(--asft-left-67931646dc)}.product-nav{gap:var(--asft-gap-67931646dc)}.product-nav a,.product-nav button{font-size:var(--as-type-body)}main.shell{padding-top:calc(var(--index-content-top) + var(--asft-height-da5e345cda))}.brand .brand-name{white-space:nowrap}.brand .as-index-brand-mark{flex-basis:auto}#demo-view .workspace{overflow-wrap:anywhere}}

#demo-view .account-title:focus{outline:none}

#studio-projects{min-width:0}#studio-projects .storage-table td:first-child{color:var(--as-text);font-size:var(--as-type-section);font-weight:var(--as-font-weight-bold)}

.workspace.studio-project-active{padding:0;border:0;background:transparent;box-shadow:none}#studio-projects .storage-controls{margin-bottom:var(--asft-margin-bottom-c80bfee312)}#studio-projects .button-row{grid-template-columns:minmax(0,1fr)}#studio-projects .project-list a{text-decoration:none}

#studio-projects.showing-sources{grid-template-rows:auto auto auto auto minmax(0,1fr) auto}#studio-source-controls{margin-bottom:var(--asft-margin-bottom-c80bfee312)}.studio-source-folder>summary{list-style:none;cursor:pointer}.studio-source-folder>summary::-webkit-details-marker{display:none}.studio-source-folder[open]>summary>.project-arrow{transform:rotate(90deg)}.studio-source-children{display:grid;gap:var(--asft-gap-38cb6b4a22);padding-left:var(--asft-padding-left-c80bfee312);margin-top:var(--asft-gap-38cb6b4a22)}.studio-source-children .project-item{grid-template-columns:38px minmax(0,1fr) 126px 100px 24px}#studio-project-rows .storage-check{flex-shrink:0}@media(width<=1200px){.studio-source-children .project-item{grid-template-columns:34px minmax(0,1fr) 24px}}@media(width<=760px){.studio-source-children{padding-left:var(--asft-gap-67931646dc)}}

/* File-transfer navigation and selection follow the visible workflow. */
#view-nav{margin:0 0 var(--asft-margin-top-c80bfee312)}
#storage .storage-controls{display:flex;align-items:center;gap:var(--asft-gap-38cb6b4a22);flex-wrap:nowrap}
#storage .storage-search{flex:1;min-width:0}
#storage-message{margin:0;flex-shrink:0;white-space:normal}
#storage-message.error{color:var(--as-danger);overflow-wrap:anywhere}
#storage .storage-tools{margin-bottom:var(--asft-gap-38cb6b4a22)}
#studio-projects.showing-sources{grid-template-rows:auto auto auto auto minmax(0,1fr)}
#studio-projects.showing-sources .button-row{display:none}
.studio-source-children .studio-source-children .studio-source-children{padding-left:0}
@media(width<=760px){#storage-message{font-size:var(--as-type-xs);max-width:90px}#storage-refresh{padding-inline:8px}}

/* Lists use the same row geometry and truncation as AutoStudio projects. */
.storage-table,.storage-table tbody{display:block;width:100%}
.storage-table tbody{display:grid;gap:var(--asft-gap-38cb6b4a22)}
.storage-table colgroup{display:none}
.storage-table tr{display:grid;grid-template-columns:minmax(0,1fr) 170px 126px 24px;gap:16px;align-items:center;min-height:78px;padding:0 28px;border:1px solid var(--as-index-panel-border);border-radius:var(--as-radius-xl);background:var(--as-index-row-bg)}
.storage-table tr td{height:auto;padding:0;border:0;border-radius:0;background:transparent;min-width:0}
.storage-table tr td:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0;border:0;border-radius:0}
.storage-table tr td:last-child{padding:0;border:0;border-radius:0}
.storage-table tr td:nth-child(2){grid-column:3;grid-row:1}
.storage-table tr td:nth-child(3){grid-column:2;grid-row:1}
.storage-table tr:hover{background:var(--as-index-row-hover-bg)}
.storage-table tr.selected,.storage-table tr.checked{border-color:var(--as-index-selected-border);background:var(--as-index-row-selected-bg)}
.storage-table tr:hover td,.storage-table tr.selected td,.storage-table tr.checked td{background:transparent}
.storage-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.storage-icon{flex-shrink:0;margin:0}
.storage-owner,.storage-table .material-expiry{flex-basis:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#studio-projects.showing-sources{grid-template-rows:auto auto auto minmax(0,1fr) auto}
#studio-source-controls{margin-top:var(--asft-margin-top-c80bfee312);margin-bottom:0}
@media(width<=1200px){.storage-table tr{grid-template-columns:minmax(0,1fr) 24px}.storage-table tr td:nth-child(2),.storage-table tr td:nth-child(3){display:none}}
@media(width<=760px){.storage-table tr{padding-inline:16px;gap:10px}}

#storage-move-dialog{max-width:720px;width:calc(100vw - 2 * var(--as-modal-safe-padding))}
#storage-move-breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;margin-block:16px}
#storage-move-folders{max-height:40vh;min-height:100px;overflow:auto}
#storage-move-folders .move-folder-row{grid-template-columns:minmax(0,1fr) 48px}
#storage-move-folders .move-folder-row>.action{padding:0;border:0;background:transparent;color:var(--as-index-icon)}
#storage-move-destination{color:var(--as-text-muted);overflow-wrap:anywhere}
#storage-move-subject{overflow-wrap:anywhere;min-width:0}
#storage-move-breadcrumbs .action{min-width:0;max-width:100%;overflow-wrap:anywhere}

/* Ordinary file operations consume design_system/components/buttons and
   tokens/typography semanticRoles.button: 48px, radius 10px, 16px/600/1.
   Account, create-project and modal controls keep their own component contracts. */
.storage-selection-actions .action,#studio-projects .action,.storage-controls>.action,
.trash-actions .action,.trash-batch-actions .action{
 height:48px;min-height:48px;border-radius:var(--as-radius-lg);font-size:var(--as-type-body);
 font-weight:var(--as-font-weight-medium);line-height:1;box-sizing:border-box;padding:0 16px;
}
.trash-item{grid-template-columns:minmax(0,1fr);align-items:start}
.trash-item>div{min-width:0}
.trash-actions,.trash-batch-actions{display:flex;flex-wrap:wrap;gap:12px;min-width:0}
.trash-actions .action,.trash-batch-actions .action{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(width<=760px){
 /* Keep tab labels intact on narrow screens. The tab strip scrolls locally;
    keyboard focus still reveals each tab without widening the page. */
 .workspace{min-width:0}
 .view-nav{overflow-x:auto;min-width:0;max-width:100%;width:100%}
 .view-nav button{flex:0 0 auto;min-height:48px;padding:0 16px;
  font-size:var(--as-type-xs);font-weight:var(--as-font-weight-medium);line-height:1;white-space:nowrap;overflow-wrap:normal}
 #storage .storage-controls{display:grid;grid-template-columns:minmax(0,1fr) auto}
 #storage-refresh{grid-column:1/-1}
 #storage-message.error{grid-column:1/-1;max-width:none}
 .trash-actions,.trash-batch-actions{display:grid;grid-template-columns:minmax(0,1fr)}
 .trash-actions .action,.trash-batch-actions .action{width:100%}
}

/* One shared horizontal selection toolbar. Overflow belongs to the toolbar,
   never the page; focus scrolls controls into view on narrow screens. */
.storage-bottom-actions,#studio-source-controls{
 display:flex;align-items:center;flex-wrap:nowrap;gap:12px;min-width:0;
 max-width:100%;overflow-x:auto;padding-bottom:4px;flex-shrink:0;
}
.storage-bottom-actions{margin-top:var(--asft-margin-top-929994f590)}
#studio-source-controls[hidden]{display:none}
.storage-selection-actions,.storage-row-actions,#studio-source-controls .trash-batch-actions{display:contents}
.storage-bottom-actions .storage-select-all,#studio-source-controls .storage-select-all,
.storage-bottom-actions .selection-count,#studio-source-controls .selection-count{
 flex:0 0 auto;margin:0;white-space:nowrap;
}
.storage-bottom-actions .action,#studio-source-controls .action{
 flex:0 0 auto;width:auto;max-width:none;margin:0;white-space:nowrap;overflow-wrap:normal;
}

/* Trash operations share the ordinary file button contract and toolbar layout. */
#trash .action{height:48px;min-height:48px;flex:0 0 auto;width:auto;max-width:none;
 padding:0 16px;border-radius:var(--as-radius-lg);font-size:var(--as-type-body);font-weight:var(--as-font-weight-medium);line-height:1;
 box-sizing:border-box;white-space:nowrap;overflow-wrap:normal}
#trash-master-controls{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;
 min-width:0;max-width:100%;overflow-x:auto;margin:16px 0;padding-bottom:4px}
#trash-master-controls[hidden]{display:none}
#trash-master-controls .trash-batch-actions{display:contents}
#trash-master-controls .storage-select-all,#trash-selected-count{flex:0 0 auto;white-space:nowrap;margin:0}
#trash-entries{margin-top:16px;gap:16px}
#trash .trash-item{min-width:0;gap:16px}
#trash .trash-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;
 min-width:0;max-width:100%;overflow-x:auto;padding-bottom:4px}

/* Sources have no take/role column: keep native name/meta/arrow spacing. */
#studio-projects.showing-sources .project-item{grid-template-columns:38px minmax(0,1fr) 100px 24px}
#studio-projects.showing-sources .project-name-wrap{min-width:0}
#studio-projects.showing-sources .project-name{flex:1;min-width:0}
@media(width<=1200px){#studio-projects.showing-sources .project-item{grid-template-columns:34px minmax(0,1fr) 24px}}

.storage-table tr{margin-left:calc(var(--tree-depth,0)*12px)}
.storage-table .storage-tree-status{min-height:48px;padding-block:12px}
.storage-tree-status td{grid-column:1/-1;color:var(--as-text-muted);overflow-wrap:anywhere}
@media(width<=760px){.storage-table tr{margin-left:calc(var(--tree-depth,0)*8px)}}

.storage-table td:last-child .action svg{width:24px;height:24px}
.storage-table td:last-child .action.expanded svg{transform:rotate(90deg)}

#storage-move-breadcrumbs .action{height:48px;min-height:48px;padding:0 16px;
 border-radius:var(--as-radius-lg);font-size:var(--as-type-body);font-weight:var(--as-font-weight-medium);line-height:1;white-space:nowrap}
#storage-move-breadcrumbs .breadcrumb-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#storage-move-folders .move-folder-row>.action{width:48px;height:48px;min-height:48px;border-radius:var(--as-radius-lg)}
#storage-move-folders .move-folder-row>.action svg{width:24px;height:24px}

#upload-summary{position:fixed;bottom:24px;right:24px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;min-height:56px;padding:12px 16px;border:1px solid var(--as-index-selected-border);border-radius:var(--as-radius-lg);background:var(--as-modal-surface-bg);font-size:var(--as-type-sm);line-height:1.2;color:var(--as-cta);white-space:normal;text-align:right;box-shadow:var(--as-index-panel-shadow)}
#upload-summary[hidden]{display:none}
.upload-summary-warning{font-size:var(--as-type-xs);color:var(--as-text-muted)}
.operations-panel{position:fixed;right:24px;bottom:92px;z-index:90;width:min(520px,calc(100vw - 48px));max-height:calc(100vh - 132px);padding:24px;border:1px solid var(--as-index-panel-border);border-radius:var(--as-radius-modal);background:var(--as-modal-surface-bg);box-shadow:var(--as-index-panel-shadow);display:flex;flex-direction:column;overflow:hidden}
.operations-panel[hidden]{display:none}.operations-heading{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.operations-heading h2{font-size:var(--as-type-panel-title);margin:0}.operation-row{margin-top:16px;padding:16px;border:1px solid var(--as-index-row-border);border-radius:var(--as-radius-xl);background:var(--as-index-row-bg);overflow-wrap:anywhere}.operation-row p{color:var(--as-text-muted);font-size:var(--as-type-sm);margin:8px 0}.operation-row progress{width:100%;accent-color:var(--as-cta)}.operation-actions{display:flex;flex-wrap:nowrap;gap:12px;justify-content:flex-end;margin-top:12px}.operation-icon{width:48px;height:48px;min-height:48px;padding:0;flex:0 0 48px}.operation-icon svg{width:24px;height:24px}
.file-head>div,.batch-head>div{min-width:0}.file-actions,.batch-actions{flex-wrap:nowrap;min-width:0;max-width:100%;overflow-x:auto}.file-actions .action,.batch-actions .action{flex:0 0 auto;white-space:nowrap}
@media(width<=760px){#upload-summary{right:12px;bottom:12px;max-width:calc(100vw - 24px)}.operations-panel{right:12px;bottom:84px;width:calc(100vw - 24px);max-height:calc(100vh - 112px);padding:16px}.file-actions .action,.batch-actions .action{flex:0 0 auto}}

.studio-project-folder>summary{list-style:none;cursor:pointer}.studio-project-folder>summary::-webkit-details-marker{display:none}.studio-project-folder[open]>summary>.project-arrow{transform:rotate(90deg)}
.inline-project-sources .project-item{grid-template-columns:38px minmax(0,1fr) 100px 24px}
@media(width<=1200px){.inline-project-sources .project-item{grid-template-columns:34px minmax(0,1fr) 24px}}

/* U85: compact single-row tools leave the remaining panel height to files. */
#storage{flex:1 1 auto;min-height:0}
#storage .storage-table-wrap{flex:1 1 0;min-height:100px;max-height:none;overflow:auto}
#storage .storage-tools:has(#storage-breadcrumbs[hidden]){display:none}
#storage .storage-toolbar.storage-controls{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;margin:0 0 16px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;min-width:0;max-width:100%;overflow-x:auto;flex:0 0 auto}
#storage .storage-toolbar>#storage-folder-name{grid-area:auto;flex:1 0 180px;min-width:180px;width:auto;height:48px;font-size:var(--as-type-body)}
#storage .storage-toolbar>#storage-mkdir{grid-area:auto;flex:0 0 auto;width:auto;height:48px;min-height:48px;padding:0 16px;border-radius:var(--as-radius-lg);font-size:var(--as-type-body);font-weight:var(--as-font-weight-medium);line-height:1}
#storage .storage-toolbar .storage-search{position:relative;flex:1 0 180px;min-width:180px;margin:0}
#storage .storage-toolbar .storage-search input{height:48px;font-size:var(--as-type-body)}
#storage .storage-toolbar>#storage-refresh{grid-column:auto;flex:0 0 auto;width:auto;height:48px;min-height:48px;padding:0 16px;white-space:nowrap}
#storage .storage-toolbar>#storage-message{flex:0 0 auto;max-width:none;white-space:nowrap}
#storage .storage-toolbar>#storage-message.error{flex:0 0 240px;max-width:240px;white-space:normal}
@media(width<=1200px){#storage .storage-table-wrap{flex:none;height:clamp(360px,65vh,720px);min-height:360px;max-height:none;overflow:auto}}

/* Project count shares the search row; the list itself fills the panel. */
#studio-projects,#studio-projects.showing-sources{grid-template-rows:auto auto minmax(0,1fr) auto auto}
#studio-projects>.storage-controls{grid-row:1;flex-wrap:nowrap;min-width:0;max-width:100%;overflow-x:auto}
#studio-projects>.storage-controls .storage-search{position:relative;flex:1 0 180px;min-width:180px}
#studio-projects>.storage-controls .storage-message{flex:0 0 auto;margin:0;white-space:nowrap}
#studio-projects>.storage-controls>.action{flex:0 0 auto;width:auto;white-space:nowrap}
#studio-list-title{grid-row:2}
#studio-project-rows{grid-row:3;min-height:0}
#studio-source-controls{grid-row:4}
#studio-projects>.button-row{grid-row:5}

#studio-projects>.storage-controls{margin-top:0}

#studio-list-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 16px;min-width:0}
#studio-list-title[hidden]{display:none}
#studio-projects.showing-sources>#studio-list-title{grid-row:1}
#studio-projects.showing-sources>.storage-controls{grid-row:2}
#studio-list-title .action{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:48px;min-height:48px}

#storage-breadcrumbs,#studio-list-title{width:100%}
#storage-breadcrumbs .breadcrumb-back,#studio-list-title .breadcrumb-back{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;height:48px;font-size:var(--as-type-body);font-weight:var(--as-font-weight-medium)}
.breadcrumb-back .as-icon{width:20px;height:20px;flex:0 0 20px}

/* Keep the panel heading and close control visible while its jobs scroll. */
#operations-list{min-height:0;overflow:auto;overscroll-behavior:contain}

/* The desktop single-row toolbar must not override the mobile field layout.
   Keep every input/action visible; the separate bottom batch toolbar stays one row. */
@media(width<=760px){
 #storage .storage-toolbar.storage-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:visible}
 #storage .storage-toolbar>#storage-folder-name{grid-column:1;grid-row:1;min-width:0;width:100%}
 #storage .storage-toolbar>#storage-mkdir{grid-column:2;grid-row:1}
 #storage .storage-toolbar .storage-search{grid-column:1;grid-row:2;min-width:0;width:100%;flex-basis:auto}
 #storage .storage-toolbar>#storage-message{grid-column:2;grid-row:2;max-width:120px;white-space:normal;overflow-wrap:break-word}
 #storage .storage-toolbar>#storage-message.error{grid-column:1/-1;grid-row:3;max-width:none}
 #studio-projects>.storage-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:visible}
 #studio-projects>.storage-controls .storage-search{min-width:0;width:100%;flex-basis:auto}
 #studio-projects>.storage-controls .storage-message{max-width:120px;white-space:normal;overflow-wrap:break-word}
}
