/* HSB. Box — isolated app styles. No framework dependency. */
.hsbbox-app,.hsbbox-app *{box-sizing:border-box}
.hsbbox-app{--bx-black:#151515;--bx-text:#191b20;--bx-muted:#83868c;--bx-border:#e9eaee;--bx-subtle:#f6f7f9;--bx-green:#2ea567;position:relative;font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Arial,sans-serif;color:var(--bx-text);background:#fff;min-height:650px;-webkit-font-smoothing:antialiased}
.hsbbox-app button,.hsbbox-app input,.hsbbox-app textarea{font:inherit;letter-spacing:normal}.hsbbox-app button{cursor:pointer}.hsbbox-app button:disabled{opacity:.5;cursor:not-allowed}.hsbbox-app svg{flex:none;vertical-align:middle}
.hsbbox-blank{margin:0;background:#fff}.hsbbox-blank .hsbbox-app{min-height:100vh}
.hsbbox-loading{padding:100px 30px;text-align:center;color:#777}
.hsbbox-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh;background:#fff}
.hsbbox-sidebar{display:flex;flex-direction:column;gap:5px;min-height:100vh;padding:30px 16px 21px;background:#f8f9fa;border-right:1px solid #edf0f1;position:relative}
.hsbbox-logo{font-weight:850;font-size:31px;line-height:1;color:#111;letter-spacing:-1.9px;margin:4px 12px 55px;display:flex;align-items:end;gap:9px}.hsbbox-logo small{font-weight:700;font-size:9px;letter-spacing:2.1px;margin-bottom:4px;color:#83878a}
.hsbbox-side-title{padding:10px 13px;color:#91969b;font-size:10px;letter-spacing:1.4px;font-weight:800}.hsbbox-side-title.section-title{margin-top:22px}
.hsbbox-side-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 13px;border:0;border-radius:10px;background:transparent;color:#565b63;text-align:left;font-size:13px;font-weight:550;white-space:nowrap}.hsbbox-side-item.active{background:#e9ecf0;color:#101113;font-weight:740}.hsbbox-side-item:hover{background:#e9edf0}.hsbbox-side-item span{overflow:hidden;text-overflow:ellipsis}
.hsbbox-side-folders{display:flex;flex-direction:column;gap:2px;max-height:48vh;overflow:auto}.hsbbox-side-empty{padding:3px 12px;color:#a0a4a8;font-size:12px}
.hsbbox-side-bottom{margin-top:auto;border-top:1px solid #e7e9ea;padding-top:18px}.hsbbox-side-user{display:flex;gap:9px;align-items:center;padding:6px 13px 15px;font-size:12px;color:#888}
.hsbbox-main{padding:38px clamp(18px,4vw,70px) 80px;min-width:0;max-width:1700px;width:100%;margin:0 auto}
.hsbbox-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;min-height:24px;color:#a0a4a8;margin-bottom:24px}.hsbbox-crumbs button{border:0;background:none;color:#7a8086;padding:0;font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsbbox-crumbs button:last-child{font-weight:700;color:#24272b}.hsbbox-crumbs button:hover{text-decoration:underline}
.hsbbox-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:37px}
.hsbbox-heading h1{font-size:clamp(24px,2.4vw,35px);letter-spacing:-1.2px;font-weight:750;line-height:1.2;margin:5px 0 8px;color:#171819}.hsbbox-heading p{font-size:13px;color:#96999d;margin:0}.hsbbox-eyebrow{font-size:10px;letter-spacing:1.6px;color:#aaaeb3;font-weight:800}
.hsbbox-tools{display:flex;align-items:center;gap:11px;flex-wrap:wrap;justify-content:flex-end}
.hsbbox-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;border:1px solid transparent;border-radius:9px;padding:11px 17px;min-height:41px;background:#f6f7f8;color:#252525;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s}
.hsbbox-btn:hover{transform:translateY(-1px)}.hsbbox-btn-primary{background:#151515!important;color:white!important;border-color:#151515!important;box-shadow:0 4px 12px #00000012}.hsbbox-btn-primary:hover{background:#333!important}.hsbbox-main-upload{padding:15px 23px;font-size:14px;border-radius:10px;min-height:51px}
.hsbbox-btn-outline{background:#fff;border:1px solid #e1e3e7}.hsbbox-btn-outline:hover{background:#f8f8f8}.hsbbox-btn-light{background:#f3f5f6;border:1px solid #e9ebee}.hsbbox-btn-danger{background:#b4232d;color:white}
.hsbbox-list-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.hsbbox-search{display:flex;align-items:center;gap:11px;border:1px solid #e8ebee;background:#fff;border-radius:11px;padding:11px 14px;max-width:380px;width:100%;color:#9b9fa5}.hsbbox-search input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:none!important;padding:0!important;font-size:13px;color:#222}.hsbbox-search input::placeholder{color:#a6a9ad}.hsbbox-view-label{font-size:12px;color:#9ca0a5}
.hsbbox-file-table{border:1px solid var(--bx-border);border-radius:14px;overflow:visible;background:#fff;min-height:130px;box-shadow:0 8px 28px #00000005}
.hsbbox-table-head,.hsbbox-file-row{display:grid;grid-template-columns:minmax(200px,1fr) 160px 95px minmax(110px,195px);align-items:center;gap:12px;padding:0 21px}
.hsbbox-table-head{height:47px;border-bottom:1px solid var(--bx-border);color:#a0a4a9;font-size:10px;font-weight:800;letter-spacing:1.1px}
.hsbbox-file-row{min-height:71px;border-bottom:1px solid #f0f1f3;position:relative}.hsbbox-file-row:last-child{border-bottom:0}.hsbbox-file-row:hover{background:#fafbfc}
.hsbbox-cell-name{display:flex;align-items:center;gap:14px;min-width:0}.hsbbox-file-row.is-folder .hsbbox-cell-name{cursor:pointer}.hsbbox-file-row.is-folder .hsbbox-cell-name:hover strong{text-decoration:underline}
.hsbbox-file-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:9px;background:#f0f3f7;color:#5b708c}.hsbbox-file-icon.folder{background:#fff4db;color:#d0a345}.hsbbox-file-icon.file{background:#f1f2f4;color:#6f7e94}
.hsbbox-file-title{display:flex;flex-direction:column;min-width:0}.hsbbox-file-title strong{font-size:13px;color:#292b30;font-weight:670;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsbbox-file-title small{font-size:11px;color:#adb0b4;margin-top:3px}
.hsbbox-file-date,.hsbbox-file-size{font-size:12px;color:#848991;white-space:nowrap}.hsbbox-file-actions{display:flex;gap:2px;align-items:center;justify-content:flex-end;position:relative}
.hsbbox-file-actions>button{width:33px;height:33px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#7c838a}.hsbbox-file-actions>button:hover{background:#edeff2;color:#151515}
.hsbbox-empty{min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#b2b6bb}.hsbbox-empty strong{font-size:16px;color:#51565c;margin-top:6px}.hsbbox-empty span{font-size:12px}
.hsbbox-context{position:absolute;right:0;top:38px;z-index:12;background:#fff;border:1px solid #e7e9ec;box-shadow:0 14px 35px #0002;min-width:205px;border-radius:12px;padding:7px}
.hsbbox-context button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:none;border-radius:7px;padding:10px;color:#34383b;font-size:12px}.hsbbox-context button:hover{background:#f5f6f7}.hsbbox-context-separator{border-top:1px solid #eee;margin:4px 0}.hsbbox-context .hsbbox-danger-text{color:#bc3e45}
.hsbbox-backdrop{position:fixed;inset:0;background:rgba(24,27,31,.46);backdrop-filter:blur(4px);z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px}
.hsbbox-modal{background:#fff;border-radius:18px;max-width:100%;width:470px;box-shadow:0 25px 80px #0003;max-height:90vh;overflow:auto;color:#202327}.hsbbox-modal.wide{width:670px}.hsbbox-modal-head{display:flex;align-items:center;justify-content:space-between;padding:23px 26px;border-bottom:1px solid #eef0f2}.hsbbox-modal-head h2{font-size:19px;letter-spacing:-.45px;margin:0;font-weight:740}.hsbbox-modal-head>button{display:grid;place-items:center;width:30px;height:30px;border:0;background:#f4f5f6;border-radius:8px;color:#7a7f84}
.hsbbox-modal-body{padding:24px 26px 27px}.hsbbox-form-label{display:block;font-size:12px;color:#666b71;font-weight:700;margin-bottom:10px}.hsbbox-modal-field{margin-bottom:18px;font-size:14px;line-height:1.7}.hsbbox-input{width:100%;min-height:45px;padding:12px 14px;border:1px solid #e2e6e9!important;border-radius:9px;outline:0;font-size:14px;color:#222;background:white}.hsbbox-input:focus{border-color:#666!important}.hsbbox-modal-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:24px}
.hsbbox-drop{border:1.5px dashed #d3d9dc;border-radius:14px;background:#fafbfc;display:flex;align-items:center;flex-direction:column;gap:7px;padding:36px 16px 33px;text-align:center;transition:background .15s,border-color .15s;cursor:pointer;outline:0}.hsbbox-drop.dragging,.hsbbox-drop:focus{background:#f0faf4;border-color:#3baf72}.hsbbox-drop-icon{background:#fff;width:62px;height:62px;border-radius:18px;display:grid;place-items:center;color:#24262a;box-shadow:0 4px 15px #0000000a;margin-bottom:9px}.hsbbox-drop strong{font-size:15px;font-weight:720}.hsbbox-drop p{margin:0 0 12px;color:#979ba0;font-size:12px}.hsbbox-upload-hint{font-size:11px;color:#969b9e;margin:18px 0 0}
.hsbbox-progress-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}.hsbbox-progress-row{padding:15px 16px;border:1px solid #eceef0;border-radius:11px}.hsbbox-progress-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.hsbbox-progress-top span{display:flex;align-items:center;gap:7px;min-width:0}.hsbbox-progress-top strong{font-weight:650;font-size:12px;max-width:250px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hsbbox-progress-metric{font-size:11px;color:#8b8f94;white-space:nowrap}.hsbbox-track{height:5px;border-radius:4px;overflow:hidden;background:#edf1ef}.hsbbox-track span{display:block;height:100%;width:0;background:#2ea567;border-radius:4px;transition:width .1s}.hsbbox-progress-caption{font-size:11px;color:#a0a4a8;margin-top:8px}.hsbbox-progress-row.error .hsbbox-track span{background:#c84a51}.hsbbox-progress-row.error .hsbbox-progress-caption{color:#be333c}.hsbbox-progress-row.success .hsbbox-progress-caption{color:#2d965f}
.hsbbox-mail-file{display:flex;gap:12px;align-items:center;padding:14px 0 22px;border-bottom:1px solid #eee;margin-bottom:21px}.hsbbox-mail-file strong,.hsbbox-mail-file small{display:block}.hsbbox-mail-file small{font-size:11px;color:#aaa;margin-top:3px}.hsbbox-code-tip{color:#8d9298;font-size:12px;margin-bottom:15px}.hsbbox-mail-preview{width:100%;height:360px;border:1px solid #e6e8ea;border-radius:8px;background:#fff}.hsbbox-history-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.hsbbox-history-controls label{display:flex;flex-direction:column;font-size:11px;gap:5px}.hsbbox-history-controls input{border:1px solid #e1e5e7;padding:9px;border-radius:7px;max-width:160px;font-size:12px}.hsbbox-history-controls .hsbbox-btn{font-size:11px;padding:8px}.hsbbox-history-list{margin-top:20px;max-height:300px;overflow:auto}.hsbbox-history-list>div{display:flex;gap:10px;align-items:center;border-bottom:1px solid #eee;padding:9px;color:#666;font-size:12px}.hsbbox-history-list>div>span{color:#aaa}
.hsbbox-toast{position:fixed;bottom:28px;right:28px;background:#222;color:#fff;padding:13px 19px;border-radius:11px;box-shadow:0 12px 35px #0003;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:1000001;max-width:340px}.hsbbox-toast.show{opacity:1;transform:translateY(0)}.hsbbox-toast.error{background:#b5323d}
.hsbbox-login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.hsbbox-login-hero{background:#161718;color:white;display:flex;flex-direction:column;padding:clamp(40px,6vw,100px);justify-content:center;gap:18px;min-height:600px}.hsbbox-login-brand{font-size:38px;font-weight:850;letter-spacing:-2px;margin-bottom:auto}.hsbbox-login-brand small{font-size:10px;letter-spacing:2px;margin-left:9px;font-weight:700;color:#bbb}.hsbbox-login-hero h1{font-size:clamp(32px,3.8vw,58px);font-weight:720;line-height:1.15;letter-spacing:-2px;margin:0}.hsbbox-login-hero p{color:#aaa;font-size:15px;max-width:370px;line-height:1.8;margin:0}.hsbbox-login-hero>span{font-size:11px;color:#686a6c;margin-top:auto}.hsbbox-login-panel{display:flex;align-items:stretch;flex-direction:column;justify-content:center;max-width:420px;width:calc(100% - 50px);margin:auto}.hsbbox-login-icon{background:#f4f5f6;display:grid;place-items:center;width:58px;height:58px;border-radius:16px;color:#202126;margin-bottom:24px}.hsbbox-login-panel h2{font-size:31px;letter-spacing:-1px;margin:0 0 8px}.hsbbox-login-panel p{color:#93989d;font-size:13px;line-height:1.8;margin:0 0 35px}.hsbbox-login-panel label{color:#656b71;font-weight:700;font-size:12px;margin-bottom:9px}.hsbbox-login-panel input{min-height:50px;padding:13px;border:1px solid #e1e5e8;border-radius:9px;margin-bottom:16px;outline:none;font-size:15px}.hsbbox-login-panel .hsbbox-btn{height:50px}.hsbbox-login-error{min-height:26px;color:#c13942;font-size:12px;padding-top:10px}
@media(max-width:1050px){.hsbbox-shell{grid-template-columns:194px minmax(0,1fr)}.hsbbox-main{padding:28px 24px}.hsbbox-file-date{display:none}.hsbbox-table-head,.hsbbox-file-row{grid-template-columns:minmax(170px,1fr) 80px 180px}.hsbbox-table-head span:nth-child(2){display:none}.hsbbox-file-actions{gap:0}.hsbbox-file-actions>button{width:28px}}
@media(max-width:690px){.hsbbox-shell{display:block}.hsbbox-sidebar{min-height:0;padding:14px 18px;border-right:0;border-bottom:1px solid #eee}.hsbbox-logo{font-size:25px;margin:0}.hsbbox-sidebar>.hsbbox-side-title,.hsbbox-sidebar>.hsbbox-side-item,.hsbbox-side-folders,.hsbbox-side-bottom{display:none}.hsbbox-main{padding:22px 14px 60px}.hsbbox-header{align-items:flex-start;gap:16px;flex-direction:column}.hsbbox-tools{width:100%;justify-content:space-between}.hsbbox-tools .hsbbox-btn{flex:1}.hsbbox-main-upload{min-height:45px;padding:12px}.hsbbox-table-head,.hsbbox-file-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:0 10px}.hsbbox-table-head span:nth-child(2),.hsbbox-table-head span:nth-child(3),.hsbbox-file-date,.hsbbox-file-size{display:none}.hsbbox-file-row{min-height:73px}.hsbbox-file-actions>button{width:28px}.hsbbox-file-icon{width:32px;height:32px}.hsbbox-cell-name{gap:8px}.hsbbox-file-title strong{font-size:12px}.hsbbox-search{max-width:none}.hsbbox-login-layout{grid-template-columns:1fr}.hsbbox-login-hero{min-height:240px;padding:25px}.hsbbox-login-hero h1{font-size:27px}.hsbbox-login-hero>span,.hsbbox-login-hero p{display:none}.hsbbox-login-panel{padding:50px 0 80px}.hsbbox-modal-body{padding:18px}.hsbbox-modal-head{padding:18px}.hsbbox-progress-top{display:block}.hsbbox-progress-metric{display:block;margin-top:7px}}

/* 1.0.3 Design settings — scoped strictly to HSB Box. */
.hsbbox-app{font-family:var(--bx-font-family,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif);font-size:var(--bx-font_size,14px);line-height:var(--bx-line_height,1.5);font-weight:var(--bx-font_weight,400);color:var(--bx-text,#191B20);background:var(--bx-app_bg,#fff);--bx-black:var(--bx-button_bg,#151515);--bx-green:var(--bx-progress,#2ea567)}
.hsbbox-app button,.hsbbox-app input,.hsbbox-app textarea,.hsbbox-app select{font-family:var(--bx-font-family,inherit)}
.hsbbox-shell,.hsbbox-main{background:var(--bx-app_bg,#fff)}
.hsbbox-shell{grid-template-columns:var(--bx-sidebar_width,244px) minmax(0,1fr)}
.hsbbox-sidebar{background:var(--bx-sidebar_bg,#f8f9fa);border-color:var(--bx-border,#e9eaee)}
.hsbbox-logo,.hsbbox-heading h1,.hsbbox-file-title strong{color:var(--bx-text,#191B20)}
.hsbbox-side-item{color:var(--bx-sidebar_text,#565b63);border-radius:var(--bx-radius,10px)}
.hsbbox-side-item.active{background:var(--bx-nav_active,#e9ecf0);color:var(--bx-text,#191b20)}
.hsbbox-side-item:hover{background:var(--bx-nav_hover,#e9edf0)}
.hsbbox-side-title,.hsbbox-side-empty,.hsbbox-heading p,.hsbbox-file-date,.hsbbox-file-size,.hsbbox-crumbs,.hsbbox-file-title small,.hsbbox-view-label,.hsbbox-login-panel p{color:var(--bx-muted,#83868c)}
.hsbbox-file-table,.hsbbox-modal,.hsbbox-search,.hsbbox-drop-icon{background:var(--bx-panel_bg,#fff);border-color:var(--bx-border,#e9eaee);border-radius:var(--bx-panel_radius,14px)}
.hsbbox-file-row{min-height:var(--bx-row_height,71px);border-color:var(--bx-border,#e9eaee)}
.hsbbox-file-row:hover{background:var(--bx-row_hover,#fafbfc)}
.hsbbox-file-icon.folder{color:var(--bx-folder_icon,#d0a345)}
.hsbbox-file-icon.file{color:var(--bx-file_icon,#6f7e94)}
.hsbbox-file-actions>button:hover,.hsbbox-context button:hover{color:var(--bx-link,#151515);background:var(--bx-subtle,#f6f7f9)}
.hsbbox-context,.hsbbox-modal{background:var(--bx-modal_bg,#fff);border-color:var(--bx-border,#e9eaee);border-radius:var(--bx-panel_radius,14px)}
.hsbbox-btn{border-radius:var(--bx-radius,10px);font-weight:var(--bx-button_weight,700)}
.hsbbox-btn-primary{background:var(--bx-button_bg,#151515)!important;border-color:var(--bx-button_bg,#151515)!important;color:var(--bx-button_text,#fff)!important}
.hsbbox-btn-primary:hover{background:var(--bx-button_hover,#333)!important;border-color:var(--bx-button_hover,#333)!important}
.hsbbox-btn-danger,.hsbbox-toast.error{background:var(--bx-danger,#b4232d)}
.hsbbox-context .hsbbox-danger-text,.hsbbox-progress-row.error .hsbbox-progress-caption{color:var(--bx-danger,#b4232d)}
.hsbbox-track,.hsbbox-progress-row .hsbbox-track{background:var(--bx-progress_track,#edf1ef)}
.hsbbox-track span,.hsbbox-progress-row .hsbbox-track span{background:var(--bx-progress,#2ea567)}
.hsbbox-modal,.hsbbox-input,.hsbbox-drop{color:var(--bx-text,#191b20)}
.hsbbox-input,.hsbbox-login-panel input,.hsbbox-search input,.hsbbox-history-controls input{background:var(--bx-input_bg,#fff)!important;border-color:var(--bx-input_border,#e1e5e8)!important;border-radius:var(--bx-radius,10px)}
.hsbbox-drop{background:var(--bx-drop_bg,#fafbfc);border-color:var(--bx-drop_border,#d3d9dc);border-radius:var(--bx-panel_radius,14px)}
.hsbbox-backdrop{background:rgba(24,27,31,var(--bx-overlay_opacity,.46))}
.hsbbox-login-hero{background:var(--bx-login_bg,#161718);color:var(--bx-login_text,#fff)}
.hsbbox-login-hero h1{color:var(--bx-login_text,#fff);font-size:clamp(26px,3.8vw,var(--bx-login_title_size,38px));font-weight:var(--bx-heading_weight,700)}
.hsbbox-heading h1{font-size:clamp(20px,2.4vw,var(--bx-heading_size,35px));font-weight:var(--bx-heading_weight,700)}
.hsbbox-app .hsbbox-modal-head h2,.hsbbox-app .hsbbox-login-panel h2{font-weight:var(--bx-heading_weight,700)}
.hsbbox-app .hsbbox-file-title strong{font-weight:var(--bx-heading_weight,700)}
.hsbbox-app a{color:var(--bx-link,#151515)}
@media(max-width:1050px) and (min-width:691px){.hsbbox-shell{grid-template-columns:min(194px,var(--bx-sidebar_width,244px)) minmax(0,1fr)}}
@media(max-width:690px){.hsbbox-shell{display:block}}
