@font-face{font-family:"Montserrat";src:url("./fonts/montserrat-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Montserrat";src:url("./fonts/montserrat-latin-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Montserrat";src:url("./fonts/montserrat-latin-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Montserrat";src:url("./fonts/montserrat-latin-700-normal.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Source Han Sans CN";src:url("./fonts/source-han-sans-cn-vf.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:"Noto Sans SC";src:url("./fonts/noto-sans-sc-chinese-simplified-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Noto Sans SC";src:url("./fonts/noto-sans-sc-chinese-simplified-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Noto Sans SC";src:url("./fonts/noto-sans-sc-chinese-simplified-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Noto Sans SC";src:url("./fonts/noto-sans-sc-chinese-simplified-700-normal.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}

:root{font-family:"Montserrat","Source Han Sans CN","Noto Sans SC","Microsoft YaHei",sans-serif;color:#000000;background:#FFFFFF;line-height:var(--type-body-line);--black:#000000;--white:#FFFFFF;--gray:#C9CACA;--accent:#2457FF;--font-latin:"Montserrat";--font-cjk:"Source Han Sans CN";--font-cjk-fallback:"Noto Sans SC","Microsoft YaHei",sans-serif;--text-primary:#000000;--text-secondary:rgba(0,0,0,.64);--text-muted:rgba(0,0,0,.46);--text-disabled:rgba(0,0,0,.30);--text-action:#2457FF;--text-inverse:#FFFFFF;--text-inverse-secondary:rgba(255,255,255,.64);--text-inverse-muted:rgba(255,255,255,.46);--text-inverse-disabled:rgba(255,255,255,.30);--type-display-size:32px;--type-display-line:40px;--type-h1-size:24px;--type-h1-line:34px;--type-h2-size:19px;--type-h2-line:28px;--type-h3-size:16px;--type-h3-line:25px;--type-body-l-size:16px;--type-body-l-line:27px;--type-body-size:15px;--type-body-line:24px;--type-secondary-size:14px;--type-secondary-line:22px;--type-label-size:13px;--type-label-line:20px;--type-caption-size:12px;--type-caption-line:18px;--type-longform-line:28px;--type-button-size:14px;--type-button-line:20px;--type-input-size:15px;--type-input-line:24px;--type-table-size:14px;--type-table-line:22px;--type-table-head-size:13px;--type-table-head-line:20px;--type-hidden-size:0;--type-wordmark-size:clamp(56px,10vw,154px);--type-wordmark-line:.86;--icon-sm-size:20px;--icon-md-size:26px;--tracking-heading:-.01em;--tracking-label:.06em;--tracking-logo:-.06em}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--white)}button,input,select{font:inherit}button{border:1px solid var(--accent);border-radius:0;padding:12px 18px;background:var(--accent);color:var(--text-inverse);cursor:pointer;font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:600;letter-spacing:var(--tracking-label);transition:filter .18s,transform .18s}button:hover{filter:brightness(.9);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.secondary{background:transparent;color:inherit;border-color:var(--gray)}.eyebrow{font-size:var(--type-caption-size);line-height:var(--type-caption-line);letter-spacing:var(--tracking-label);text-transform:lowercase;color:var(--text-inverse-secondary);font-weight:600}.eyebrow.dark{color:var(--text-secondary)}.muted,small{color:var(--text-secondary)}

.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(420px,.65fr);background:var(--white)}.brand-panel{position:relative;overflow:hidden;padding:7vw;display:flex;flex-direction:column;justify-content:center;background:var(--gray);color:var(--text-primary)}.brand-panel::before{content:"";position:absolute;inset:22px;border:1px solid rgba(0,0,0,.15);pointer-events:none}.wordmark{position:relative;font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:600;letter-spacing:var(--tracking-heading);line-height:var(--type-wordmark-line)}.brand-meta{position:absolute;left:7vw;right:7vw;bottom:7vw;display:flex;justify-content:space-between;gap:20px;font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600;letter-spacing:var(--tracking-label);text-transform:lowercase}.login-card{align-self:center;width:min(430px,calc(100% - 56px));margin:auto;padding:48px 0;background:var(--white)}.login-card h2{margin:17px 0 7px;font-size:var(--type-h1-size);line-height:var(--type-h1-line);line-height:var(--type-h1-line);font-weight:600;letter-spacing:var(--tracking-heading)}.login-card form{display:grid;gap:19px;margin:38px 0 22px}label{display:grid;gap:8px;font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}input,select{width:100%;padding:13px 14px;border:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary)}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.form-error{min-height:20px;margin:0;padding-left:9px;border-left:2px solid transparent;color:var(--text-primary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.form-error:not(:empty){border-left-color:var(--black);background:rgba(0,0,0,.05);padding-top:5px;padding-bottom:5px}
.text-button{padding:4px 0;border:0;background:transparent;color:var(--text-primary);text-align:left;text-decoration:underline;text-underline-offset:4px}.text-button:hover{background:transparent;color:var(--text-action);filter:none;transform:none}.reset-step{display:grid;gap:14px}.reset-step[hidden]{display:none}.reset-step .muted{margin:0;font-size:var(--type-caption-size);line-height:var(--type-caption-line)}

.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{position:sticky;top:0;height:100vh;padding:31px 22px;background:var(--black);color:var(--text-inverse);display:flex;flex-direction:column}.sidebar-brand{display:grid;margin:7px 7px 55px}.sidebar-brand strong{font-size:var(--type-h1-size);line-height:var(--type-h1-line);font-weight:600;letter-spacing:var(--tracking-heading)}.sidebar-brand span{margin-top:3px;color:var(--text-inverse-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600;letter-spacing:var(--tracking-label);text-transform:lowercase}nav{display:grid;gap:5px}.nav-item{width:100%;text-align:left;background:transparent;border-color:transparent;color:var(--text-inverse-secondary)}.nav-item:hover,.nav-item.active{background:var(--accent);border-color:var(--accent);color:var(--text-inverse);transform:none;filter:none}.account{margin-top:auto;padding:22px 7px 15px;border-top:1px solid rgba(255,255,255,.22);display:flex;align-items:center;gap:11px}.account>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gray);color:var(--text-primary);font-weight:600}.account div{display:grid}.account small{color:var(--text-inverse-secondary)}.content{padding:38px 4.5vw 80px;min-width:0;background:var(--white)}.content>header,.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.content>header{margin-bottom:42px}.content>header h1{margin:8px 0 0;font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:600;letter-spacing:var(--tracking-heading)}.test-badge{font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600;letter-spacing:var(--tracking-label);padding:7px 10px;border:1px solid var(--accent);background:var(--accent);color:var(--text-inverse)}

.welcome{position:relative;overflow:hidden;padding:46px;border:1px solid var(--black);border-radius:0;color:var(--text-inverse);background:var(--black)}.welcome::before{content:"";position:absolute;top:0;right:0;width:10px;height:100%;background:var(--accent)}.welcome::after{content:"plursophy";position:absolute;right:14px;bottom:-28px;color:var(--text-inverse-disabled);font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:600;letter-spacing:var(--tracking-heading)}.welcome p{position:relative;z-index:1;color:var(--text-inverse-secondary);margin:0 0 7px}.welcome h2{position:relative;z-index:1;margin:0 0 12px;font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:600;letter-spacing:var(--tracking-heading)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.metric-grid article{display:grid;gap:12px;padding:24px;background:var(--white);border:1px solid var(--gray);border-radius:0}.metric-grid span{color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.metric-grid strong{font-size:var(--type-h2-size);line-height:var(--type-h2-line);font-weight:600}.section-head{margin-bottom:20px}.section-head h2{margin:0;font-size:var(--type-h1-size);line-height:var(--type-h1-line);font-weight:600;letter-spacing:var(--tracking-heading)}.section-head p{margin:6px 0;color:var(--text-secondary)}.table-wrap{overflow:auto;background:var(--white);border:1px solid var(--gray);border-radius:0}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:15px 17px;text-align:left;border-bottom:1px solid rgba(0,0,0,.12);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}th{color:var(--text-secondary);background:rgba(201,202,202,.42);font-weight:600}td strong{display:block}td small{display:block}.status-pill{display:inline-block;padding:4px 9px;border:1px solid var(--black);border-radius:0;background:var(--black);color:var(--text-inverse)}.status-pill.off{border-color:var(--gray);background:transparent;color:var(--text-primary)}.link-button{background:transparent;border-color:transparent;color:var(--text-action);padding:5px;text-decoration:underline;text-underline-offset:3px}.link-button:hover{background:transparent;color:var(--text-action);filter:brightness(.75);transform:none}.toast{position:fixed;z-index:20;top:22px;right:25px;padding:13px 18px;border:1px solid var(--accent);border-radius:0;background:var(--accent);color:var(--text-inverse);box-shadow:0 10px 32px rgba(0,0,0,.22);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}

dialog{width:min(520px,calc(100% - 30px));border:1px solid var(--black);border-radius:0;padding:0;box-shadow:18px 18px 0 rgba(0,0,0,.18)}dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(2px)}dialog form{padding:30px;display:grid;gap:17px}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:5px 0;font-size:var(--type-h1-size);line-height:var(--type-h1-line);font-weight:600;letter-spacing:var(--tracking-heading)}.icon-button{background:transparent;border-color:transparent;color:var(--text-primary);font-size:var(--type-h1-size);line-height:var(--type-h1-line);padding:5px}.dialog-actions{justify-content:flex-end;gap:10px}.dialog-actions .secondary{border-color:var(--gray)}.check{display:flex;align-items:center}.check input{width:auto;accent-color:var(--accent)}.page[hidden],[hidden]{display:none!important}
.panel-form{padding:28px;border:1px solid var(--gray)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .wide{grid-column:1/-1}.panel-form .dialog-actions{margin-top:24px}input:disabled,select:disabled{background:rgba(201,202,202,.25);color:var(--text-secondary)}.filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.5fr) minmax(120px,.35fr) auto;gap:10px;margin-bottom:16px}.empty-cell{text-align:center;padding:36px;color:var(--text-secondary)}#employee-dialog{width:min(760px,calc(100% - 30px))}.profile-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--black);border-left:1px solid var(--black)}.profile-card>div{display:grid;gap:8px;padding:24px;border-right:1px solid var(--black);border-bottom:1px solid var(--black)}.profile-card span{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-secondary)}.profile-card strong{font-size:var(--type-h3-size);line-height:var(--type-h3-line)}.profile-card>.muted{grid-column:1/-1;padding:28px;border-right:1px solid var(--black);border-bottom:1px solid var(--black)}
.attachment-panel{margin-top:8px;padding-top:22px;border-top:1px solid var(--black)}.attachment-head h3{margin:0;font-size:var(--type-h2-size);line-height:var(--type-h2-line)}.attachment-head p{margin:4px 0 14px;font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.attachment-list{display:grid;border-top:1px solid var(--gray)}.attachment-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--gray)}.attachment-list article>div:first-child{min-width:0}.attachment-list strong,.attachment-list small{display:block;overflow-wrap:anywhere}.attachment-actions{display:flex;gap:12px;white-space:nowrap}.attachment-actions a{color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600;text-underline-offset:3px}.attachment-upload{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding:18px;background:rgba(201,202,202,.25)}.attachment-upload .wide,.attachment-upload small{grid-column:1/-1}.attachment-upload button{justify-self:start}

@media(max-width:920px){.login-shell{grid-template-columns:1fr}.brand-panel{min-height:32vh;padding:60px 8vw}.brand-panel::before{inset:14px}.wordmark{font-size:var(--type-display-size);line-height:var(--type-display-line)}.brand-meta{left:8vw;right:8vw;bottom:34px}.login-card{padding:55px 0}.app-shell{grid-template-columns:1fr}aside{position:static;height:auto;padding:20px}.sidebar-brand{margin:0 4px 20px}nav{grid-template-columns:repeat(4,1fr)}.nav-item{text-align:center;padding:10px 5px}.account{margin-top:18px}.content{padding:25px 15px}.metric-grid{grid-template-columns:1fr}.content>header{margin-bottom:25px}.welcome{padding:31px}.welcome::after{font-size:var(--type-display-size);line-height:var(--type-display-line)}th,td{padding:12px}.profile-card{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.brand-meta span:last-child{display:none}.login-card{width:calc(100% - 40px)}.content>header{align-items:flex-start}.test-badge{margin-top:5px}.section-head{align-items:flex-start;flex-direction:column}.section-head>button{width:100%}.form-grid,.profile-card,.filter-bar{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}nav{grid-template-columns:repeat(2,1fr)}}

textarea{font:inherit;width:100%;padding:13px 14px;border:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary);min-height:86px;resize:vertical}.head-actions{display:flex;gap:10px}.review-notice{margin:0 0 16px;padding:12px 15px;border-left:4px solid var(--accent);background:rgba(36,87,255,.08);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.employee-cards{display:none}.side-panel{position:fixed;inset:0 0 0 auto;width:min(760px,100%);height:100dvh;max-height:none;margin:0;border:0;border-left:1px solid var(--black);box-shadow:-16px 0 40px rgba(0,0,0,.22)}.side-panel .panel-inner{height:100%;overflow:auto;padding:30px;display:grid;align-content:start;gap:22px}.side-panel section{display:grid;gap:13px;padding-top:18px;border-top:1px solid var(--gray)}.side-panel section h3{margin:0;font-size:var(--type-h3-size);line-height:var(--type-h3-line)}.departure-fields{padding:15px;background:rgba(201,202,202,.25)}.change-note{margin-top:14px}.inline-create{display:grid;grid-template-columns:1fr auto;gap:8px}.settings-list{display:grid;gap:8px}.settings-list>div{display:grid;grid-template-columns:1fr auto;gap:8px}.history-list{display:grid;gap:10px}.history-list article{padding:12px;border:1px solid var(--gray)}.history-list article>div{display:flex;justify-content:space-between;gap:12px}.history-list p{margin:8px 0 0;font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.history-list ul{margin:8px 0 0;padding-left:18px;font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-muted)}.review-tag{display:inline-block;margin-top:8px;padding:3px 7px;background:var(--accent);color:var(--text-inverse);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}
@media(max-width:520px){.head-actions,.head-actions button{width:100%}.head-actions{display:grid}.organization-table{display:none}.employee-cards{display:grid;gap:10px}.employee-cards article{display:grid;gap:8px;padding:16px;border:1px solid var(--gray)}.employee-cards article>div{display:flex;justify-content:space-between;align-items:center}.employee-cards p{margin:0}.employee-cards .link-button{justify-self:start}.side-panel .panel-inner{padding:20px}.attachment-list article{align-items:flex-start;flex-direction:column}.attachment-upload{grid-template-columns:1fr}.attachment-upload .wide,.attachment-upload small{grid-column:auto}}

.http-warning{margin-bottom:12px;padding:12px 15px;border:1px solid var(--black);background:var(--black);color:var(--text-inverse);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.storage-status{margin-bottom:16px;padding:11px 14px;border-left:4px solid var(--gray);background:rgba(201,202,202,.25);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.storage-status.connected{border-color:var(--accent);background:rgba(36,87,255,.08)}.storage-status.not-connected{border-color:var(--black)}.file-filters{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(6,minmax(110px,.7fr)) auto;gap:8px;margin-bottom:14px}.trash-toggle{display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--gray);white-space:nowrap}.trash-toggle input{width:auto}.file-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.batch-selection,.file-view-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.batch-selection label{display:flex;align-items:center;gap:5px}.batch-selection input,.file-select input{width:auto;accent-color:var(--accent)}#file-batch-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}#file-batch-actions button{padding:7px 10px}.view-button{padding:7px 10px;border-color:var(--gray);background:var(--white);color:var(--text-primary)}.view-button.active{border-color:var(--accent);background:var(--accent);color:var(--text-inverse)}.file-dropzone{display:grid;place-items:center;gap:5px;min-height:104px;margin-bottom:14px;border:1px dashed var(--black);background:rgba(201,202,202,.15);cursor:pointer}.file-dropzone span{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-secondary)}.file-dropzone.dragging{border:2px solid var(--accent);background:rgba(36,87,255,.08)}.upload-queue{display:grid;gap:8px;margin-bottom:16px}.upload-queue article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.6fr) auto;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--gray)}.upload-queue article div{display:grid}.upload-queue span{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-secondary)}progress{width:100%;accent-color:var(--accent)}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.file-card{position:relative;display:grid;gap:13px;min-width:0;padding:17px;border:1px solid var(--gray);background:var(--white)}.file-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.file-select{position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:26px;height:26px;background:var(--white);border:1px solid var(--gray)}.file-kind{display:grid;place-items:center;width:56px;height:56px;background:var(--black);color:var(--text-inverse);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600;letter-spacing:var(--tracking-label)}.file-kind.image{background:var(--accent)}.file-meta{display:grid;gap:5px;min-width:0}.file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta>span{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-secondary)}.file-tags{display:flex;flex-wrap:wrap;gap:5px}.file-tags em{padding:3px 6px;background:rgba(201,202,202,.5);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-style:normal}.file-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.file-actions a{color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.file-actions .link-button{font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.file-list{display:grid;border-top:1px solid var(--gray)}.file-list .file-card{grid-template-columns:58px minmax(180px,1fr) auto;align-items:center;border-width:0 1px 1px}.file-empty{grid-column:1/-1;padding:46px;text-align:center;border:1px solid var(--gray);color:var(--text-secondary)}
@media(max-width:1100px){.file-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.file-filters{grid-template-columns:1fr 1fr}.file-list .file-card{grid-template-columns:56px 1fr}.file-list .file-actions{grid-column:1/-1}.upload-queue article{grid-template-columns:1fr}.file-grid{grid-template-columns:1fr}}@media(max-width:520px){.file-filters{grid-template-columns:1fr}}
.file-filters{grid-template-columns:minmax(180px,1.4fr) repeat(7,minmax(100px,.7fr)) auto;align-items:end}.date-filter{gap:4px}.date-filter span{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-secondary)}.trash-toggle{min-height:47px}
@media(max-width:1100px){.file-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.file-filters{grid-template-columns:1fr 1fr}}@media(max-width:520px){.file-filters{grid-template-columns:1fr}}
.folder-section{margin:0 0 18px}.folder-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:9px}.folder-heading>div{display:flex;align-items:baseline;gap:10px}.folder-heading h3{margin:0;font-size:var(--type-secondary-size);line-height:var(--type-secondary-line)}.folder-heading span{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-secondary)}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}.folder-item{position:relative;min-width:0}.folder-card{display:flex;align-items:center;gap:12px;width:100%;padding:13px 58px 13px 14px;border-color:var(--gray);background:var(--white);color:var(--text-primary);text-align:left}.folder-card:hover,.folder-card.active{border-color:var(--accent);background:rgba(36,87,255,.08);color:var(--text-primary);filter:none;transform:none}.folder-delete{position:absolute;top:50%;right:8px;z-index:1;transform:translateY(-50%);padding:6px;border-color:transparent;background:transparent;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.folder-delete:hover{border-color:var(--black);background:var(--black);color:var(--text-inverse);filter:none;transform:translateY(-50%)}.folder-icon{display:grid;place-items:center;width:36px;height:30px;background:var(--accent);color:var(--text-inverse);font-size:var(--type-body-size);line-height:var(--type-body-line)}.folder-card>span:last-child{display:grid;min-width:0}.folder-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-card small{margin-top:2px;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.folder-empty{grid-column:1/-1;margin:0;padding:15px;border:1px dashed var(--gray);color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.folder-delete-dialog{padding:30px;display:grid;gap:17px}.trash-button{border-color:var(--gray);background:var(--white);color:var(--text-primary);white-space:nowrap}.trash-button::before{content:'□';margin-right:7px}.trash-button.active{border-color:var(--black);background:var(--black);color:var(--text-inverse)}.trash-button.active::before{content:'■'}.file-kind.video,.file-kind.audio{background:var(--black)}.file-kind.spreadsheet,.file-kind.presentation,.file-kind.document{background:var(--black)}
@media(max-width:520px){.folder-grid{grid-template-columns:1fr}.folder-heading{align-items:stretch;flex-direction:column}.folder-heading button{width:100%}}
.file-thumbnail{width:100%;height:150px;object-fit:cover;background:var(--black);border:0}.file-list .file-thumbnail{width:56px;height:56px}.preview-dialog{width:min(1100px,calc(100% - 32px));height:min(820px,calc(100dvh - 32px));max-width:none}.preview-shell{height:100%;padding:22px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}.preview-body{min-height:0;display:grid;place-items:center;overflow:auto;background:rgba(201,202,202,.2);border:1px solid var(--gray)}.preview-body img,.preview-body video{max-width:100%;max-height:100%;object-fit:contain}.preview-body audio{width:min(680px,90%)}.preview-body iframe{width:100%;height:100%;border:0;background:var(--white)}
@media(max-width:700px){.preview-dialog{width:100%;height:100dvh;margin:0}.preview-shell{padding:14px}.file-thumbnail{height:110px}}
.file-filters{grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(110px,.7fr)) auto auto}
@media(max-width:1100px){.file-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.file-filters{grid-template-columns:1fr 1fr}}@media(max-width:520px){.file-filters{grid-template-columns:1fr}}
/* T01 global navigation shell */
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.app-shell{display:block;min-height:100vh}.app-sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:292px;height:100dvh;padding:0;background:var(--black);color:var(--text-inverse);display:flex;flex-direction:column;overflow:hidden}.sidebar-top{min-height:92px;padding:25px 22px 18px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18)}.sidebar-brand{display:grid;margin:0}.sidebar-brand strong{font-size:var(--type-h1-size);line-height:var(--type-h1-line);font-weight:600;letter-spacing:var(--tracking-heading)}.sidebar-brand span{margin-top:3px;color:var(--text-inverse-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600;letter-spacing:var(--tracking-label);text-transform:lowercase}.sidebar-close{display:none;padding:3px 8px;border:0;background:transparent;color:var(--text-inverse);font-size:var(--type-h1-size);line-height:var(--type-h1-line)}.sidebar-close:hover{background:rgba(255,255,255,.12);filter:none;transform:none}.primary-nav{display:block;flex:1;min-height:0;padding:12px 12px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.38) transparent}.nav-group{position:relative;margin:2px 0}.nav-group-toggle{width:100%;min-height:52px;padding:9px 10px;display:grid;grid-template-columns:30px 1fr 22px;align-items:center;gap:9px;border:0;background:transparent;color:var(--text-inverse-secondary);text-align:left}.nav-group-toggle:hover{background:rgba(255,255,255,.09);color:var(--text-inverse);filter:none;transform:none}.nav-group.current>.nav-group-toggle{color:var(--text-inverse)}.nav-group.current>.nav-group-toggle::before{content:"";position:absolute;left:0;width:3px;height:30px;background:var(--accent)}.nav-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.28);color:var(--text-inverse);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.nav-group.current .nav-mark{border-color:var(--accent);background:var(--accent)}.nav-group-copy{display:grid;min-width:0}.nav-group-copy strong{font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:600}.nav-group-copy small{overflow:hidden;color:var(--text-inverse-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line);letter-spacing:var(--tracking-label);text-overflow:ellipsis;white-space:nowrap}.nav-chevron{font-size:var(--type-h3-size);line-height:var(--type-h3-line);text-align:center;transition:transform .18s ease}.nav-group.expanded .nav-chevron{transform:rotate(45deg)}.nav-secondary{display:grid;gap:2px;margin:2px 0 8px;padding-left:48px}.nav-secondary-item{position:relative;width:100%;min-height:36px;padding:7px 10px;border:0;background:transparent;color:var(--text-inverse-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:500;text-align:left}.nav-secondary-item::before{content:"";position:absolute;left:-11px;top:50%;width:4px;height:4px;background:rgba(255,255,255,.28);transform:translateY(-50%)}.nav-secondary-item:hover{background:rgba(255,255,255,.09);color:var(--text-inverse);filter:none;transform:none}.nav-secondary-item.active{background:var(--accent);color:var(--text-inverse)}.nav-secondary-item.active::before{background:var(--white)}.sidebar-footer{padding:0 18px 18px;border-top:1px solid rgba(255,255,255,.18);background:var(--black)}.sidebar-footer .account{margin:0;padding:18px 4px 14px;border:0}.sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sidebar-actions button{min-width:0;padding:9px 6px;border-color:rgba(255,255,255,.26);color:var(--text-inverse);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.sidebar-actions button:disabled{font-size:var(--type-hidden-size);line-height:var(--type-hidden-line)}.sidebar-actions button:disabled::after{content:"HTTPS 后开放";font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.content{min-height:100vh;margin-left:292px;padding:38px clamp(24px,4.5vw,76px) 80px}.page-heading{display:flex;align-items:center;gap:15px}.sidebar-toggle{display:none;width:42px;height:42px;padding:0;border-color:var(--black);background:var(--white);color:var(--text-primary);font-size:var(--type-h2-size);line-height:var(--type-h2-line)}.sidebar-overlay{display:none}.placeholder-panel{min-height:430px;padding:clamp(34px,6vw,78px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:1px solid var(--gray);background:linear-gradient(135deg,rgba(201,202,202,.22),rgba(255,255,255,1))}.placeholder-panel::before{content:"";width:42px;height:5px;margin-bottom:24px;background:var(--accent)}.placeholder-status{margin:0 0 16px;padding:5px 9px;border:1px solid var(--black);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600;letter-spacing:var(--tracking-label)}.placeholder-panel h2{margin:6px 0 12px;font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:600;letter-spacing:var(--tracking-heading)}.placeholder-panel>p:not(.placeholder-status):not(.eyebrow){max-width:620px;margin:0 0 28px;color:var(--text-secondary)}

@media(max-width:920px){.app-shell{display:block}.app-sidebar{position:fixed;width:min(320px,88vw);height:100dvh;padding:0;transform:translateX(-102%);transition:transform .22s ease;box-shadow:16px 0 36px rgba(0,0,0,.26)}body.nav-open .app-sidebar{transform:translateX(0)}.sidebar-close{display:block}.primary-nav{display:block;padding:12px 12px 24px}.sidebar-overlay{position:fixed;z-index:35;inset:0;display:block;padding:0;border:0;background:rgba(0,0,0,.58);opacity:0;pointer-events:none;transition:opacity .22s ease}body.nav-open .sidebar-overlay{opacity:1;pointer-events:auto}.content{margin-left:0;padding:25px 15px 60px}.sidebar-toggle{display:grid;place-items:center}.content>header{align-items:center}.page-heading{min-width:0}.page-heading h1{font-size:var(--type-display-size);line-height:var(--type-display-line)}.page-heading>div{min-width:0}.page-heading .eyebrow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account{margin-top:0}}

/* M06 employee and organization workbench */
.people-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto auto auto;gap:10px;margin-bottom:16px}.people-workbench{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(300px,1.05fr) minmax(360px,1.35fr);min-height:620px;border:1px solid var(--gray);overflow:hidden}.department-pane,.roster-pane,.employee-detail{min-width:0;background:var(--white)}.department-pane,.roster-pane{border-right:1px solid var(--gray)}.pane-title{height:66px;padding:14px 16px;display:grid;align-content:center;border-bottom:1px solid var(--gray)}.pane-title small{color:var(--text-muted)}.department-tree{padding:8px}.department-node{width:100%;display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:0;background:transparent;color:var(--text-primary);text-align:left}.department-node:hover,.department-node.active{background:var(--accent);color:var(--text-inverse);filter:none;transform:none}.department-node[data-depth="1"]{padding-left:28px}.department-node[data-depth="2"]{padding-left:42px}.employee-roster{max-height:calc(100vh - 265px);overflow:auto}.employee-row{width:100%;padding:15px 16px;display:grid;gap:6px;border:0;border-bottom:1px solid rgba(0,0,0,.1);background:var(--white);color:var(--text-primary);text-align:left}.employee-row:hover,.employee-row.active{background:rgba(36,87,255,.08);filter:none;transform:none}.employee-row.active{box-shadow:inset 4px 0 var(--accent)}.employee-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.employee-row small{color:var(--text-secondary)}.employee-detail{padding:22px;max-height:calc(100vh - 200px);overflow:auto}.detail-empty{min-height:400px;display:grid;place-content:center;text-align:center;color:var(--text-muted)}.detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--black)}.detail-header h3{margin:3px 0 5px;font-size:var(--type-h1-size);line-height:var(--type-h1-line)}.detail-actions{display:flex;flex-wrap:wrap;gap:8px}.detail-actions button{padding:9px 11px}.detail-section{padding:20px 0;border-bottom:1px solid var(--gray)}.detail-section h4{margin:0 0 13px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-grid div{display:grid;gap:4px}.detail-grid span{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-secondary)}.detail-grid strong{overflow-wrap:anywhere}.people-mobile-department{display:none}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-form button{grid-column:1/-1}.rich-settings>article{display:grid;gap:9px;padding:12px;border:1px solid var(--gray)}.rich-settings .settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rich-settings .settings-actions{display:flex;justify-content:flex-end;gap:8px}.data-source-note{margin:10px 0;padding:10px;border-left:3px solid var(--accent);background:rgba(36,87,255,.08);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.detail-close-mobile{display:none}.review-tag.pending{background:var(--accent)}
@media(max-width:1180px) and (min-width:701px){.people-workbench{grid-template-columns:180px minmax(270px,.9fr) minmax(330px,1.1fr)}.detail-grid{grid-template-columns:1fr}.people-toolbar{grid-template-columns:1fr 170px auto auto}.people-toolbar button[type="submit"]{display:none}}
@media(max-width:700px){.people-toolbar{grid-template-columns:1fr 1fr}.people-toolbar input{grid-column:1/-1}.people-toolbar button[type="submit"]{display:none}.people-mobile-department{display:block;margin-bottom:10px}.people-workbench{display:block;min-height:0;border:0}.department-pane{display:none}.roster-pane{border:1px solid var(--gray)}.employee-roster{max-height:none}.employee-detail{display:none}.employee-detail.mobile-open{position:fixed;z-index:60;inset:0;display:block;max-height:none;padding:18px;background:var(--white);overflow-y:auto}.detail-close-mobile{display:inline-flex}.detail-grid{grid-template-columns:1fr}.settings-form,.rich-settings .settings-fields{grid-template-columns:1fr}.side-panel{width:100%;border-left:0}.side-panel .panel-inner{padding:18px}.form-grid{grid-template-columns:1fr}}
.department-pane,.employee-detail{position:static;top:auto;height:auto;color:var(--text-primary)}.department-pane{padding:0;display:block}.detail-close-mobile{color:var(--text-primary);background:var(--white)}.permission-review-panel{display:grid;gap:8px;margin:0 0 16px;padding:14px;border:1px solid var(--gray)}.permission-review-item{display:flex;justify-content:space-between;gap:12px;background:var(--white);color:var(--text-primary);text-align:left}.permission-review-item:hover{background:rgba(36,87,255,.08);filter:none}.focused-row{outline:3px solid var(--accent);outline-offset:-3px;background:rgba(36,87,255,.08)}body{overflow-x:hidden}
@media(max-width:700px){.department-pane{display:none}}
.detail-header>div{min-width:0}.detail-header h3{overflow-wrap:anywhere}
.people-toolbar button[type="submit"]{display:none}
.focus-review-account{display:grid;gap:4px;text-align:left;text-decoration:none}.permission-review-item{align-items:center}
@media(max-width:520px){.content>header{align-items:center}.test-badge{flex:0 0 auto}.placeholder-panel{min-height:360px;padding:30px 24px}.placeholder-panel h2{font-size:var(--type-display-size);line-height:var(--type-display-line)}.sidebar-actions{grid-template-columns:1fr}.sidebar-actions button{padding:11px}.head-actions{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* T01 / M04 enterprise file library */
.file-library-hero{position:relative;overflow:hidden;margin-bottom:14px;padding:34px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:end;gap:30px;background:var(--black);color:var(--text-inverse)}.file-library-hero::after{content:"";position:absolute;inset:0 0 0 auto;width:7px;background:var(--accent)}.file-library-hero .eyebrow{margin:0;color:var(--text-inverse-secondary)}.file-library-hero h2{margin:7px 0 10px;font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:600;letter-spacing:var(--tracking-heading)}.file-library-hero>div>p:last-child{max-width:680px;margin:0;color:var(--text-inverse-secondary);font-size:var(--type-label-size);line-height:var(--type-label-line)}.library-status-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3)}.library-status-grid article{min-width:0;padding:15px;border-right:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}.library-status-grid span,.library-status-grid strong{display:block}.library-status-grid span{margin-bottom:8px;color:var(--text-inverse-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line);letter-spacing:var(--tracking-label)}.library-status-grid strong{overflow:hidden;font-size:var(--type-caption-size);line-height:var(--type-caption-line);text-overflow:ellipsis;white-space:nowrap}.http-warning{margin:0 0 14px;padding:13px 17px;display:flex;align-items:center;gap:14px;border:1px solid var(--black);border-left:7px solid var(--accent);background:var(--white);color:var(--text-primary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.http-warning strong{flex:0 0 auto}.http-warning span{color:var(--text-secondary)}.upload-station,.library-explorer{margin-bottom:14px;padding:24px;border:1px solid var(--gray);background:var(--white)}.workspace-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.workspace-section-heading h3{margin:2px 0 4px;font-size:var(--type-h2-size);line-height:var(--type-h2-line);font-weight:600;letter-spacing:var(--tracking-heading)}.workspace-section-heading p:not(.step-label){margin:0;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.step-label{margin:0;color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase}.file-dropzone{min-height:170px;margin:0;padding:30px;gap:7px;border:1px dashed var(--black);background:rgba(201,202,202,.16);text-align:center}.file-dropzone:hover,.file-dropzone:focus-visible,.file-dropzone.dragging{border-color:var(--accent);background:rgba(36,87,255,.08);filter:none;transform:none}.dropzone-mark{display:grid;place-items:center;width:44px;height:44px;margin-bottom:5px;background:var(--accent);color:var(--text-inverse)!important;font-size:var(--type-h1-size)!important;line-height:var(--type-h1-line)!important;line-height:var(--type-h1-line)}.file-dropzone strong{font-size:var(--type-h3-size);line-height:var(--type-h3-line)}.file-dropzone small{margin-top:8px;padding:4px 8px;border:1px solid var(--black);color:var(--text-primary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.upload-queue{margin:14px 0 0}.upload-queue:empty{display:none}.upload-queue article{grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) auto;padding:13px 15px;border-left:4px solid var(--accent)}.upload-queue article div{gap:3px}.upload-queue article strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-queue progress{height:8px}.storage-status{margin:0 0 14px;padding:12px 15px}.storage-status.connected{border-color:var(--accent)}.storage-status.not-connected{border:1px solid var(--black);border-left:7px solid var(--black);background:var(--white)}.explorer-heading{padding-bottom:17px;border-bottom:1px solid var(--gray)}.file-breadcrumb{margin-top:8px;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.folder-section{margin:0 0 22px;padding-bottom:22px;border-bottom:1px solid var(--gray)}.folder-heading h4{margin:0;font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.folder-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.folder-card{min-height:64px;padding:13px 58px 13px 13px}.folder-icon{flex:0 0 auto}.folder-empty{padding:24px;background:rgba(201,202,202,.12);text-align:center}.file-filters{grid-template-columns:minmax(210px,1.35fr) repeat(4,minmax(125px,.7fr)) auto;align-items:end;margin-bottom:18px;padding:17px;background:rgba(201,202,202,.18)}.file-filters label{gap:5px;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.file-filters input,.file-filters select{background:var(--white)}.filter-actions{display:flex;align-items:flex-end;gap:7px}.filter-actions button{min-height:47px;padding:10px 12px}.file-toolbar{min-height:50px;margin:0 0 12px;padding:9px 0;border-top:1px solid var(--black);border-bottom:1px solid var(--gray)}.batch-selection label{font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.batch-selection input,.file-select input{width:16px;height:16px}.danger-action{border-color:var(--black);color:var(--text-primary)}.file-view-controls{margin-left:auto}.view-button{min-width:58px}.view-button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:var(--text-inverse)}.file-loading{padding:40px;border:1px solid var(--gray);text-align:center}.file-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.file-card{min-height:230px;padding:18px;border-color:var(--gray)}.file-card:hover{border-color:var(--black)}.file-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.file-select{top:11px;right:11px;width:32px;height:32px}.file-thumbnail{height:168px}.file-kind{width:62px;height:62px}.file-meta strong{padding-right:24px;font-size:var(--type-label-size);line-height:var(--type-label-line)}.file-meta>span{line-height:var(--type-body-line)}.file-tags em{border:1px solid var(--gray);background:var(--white)}.file-actions{margin-top:auto;padding-top:11px;border-top:1px solid var(--gray)}.file-actions a,.file-actions .link-button{font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.file-actions .trash-library-file,.file-actions .purge-library-file{margin-left:auto;color:var(--text-primary)}.file-list{gap:0}.file-list .file-card{min-height:86px;grid-template-columns:64px minmax(220px,1fr) auto;padding:14px 16px}.file-list .file-meta strong{padding-right:0}.file-list .file-actions{margin:0;padding:0;border:0}.file-empty{padding:56px 28px;background:rgba(201,202,202,.12)}.file-empty strong,.file-empty span{display:block}.file-empty strong{margin-bottom:7px;color:var(--text-primary);font-size:var(--type-h3-size);line-height:var(--type-h3-line)}.file-empty span{font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.preview-body{position:relative}.preview-body .preview-state{max-width:520px;padding:34px;text-align:center}.preview-body .preview-state strong,.preview-body .preview-state span{display:block}.preview-body .preview-state strong{margin-bottom:8px}.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.preview-footer .form-error{flex:1}.preview-download{flex:0 0 auto;color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.dialog-note{margin:0;padding:10px 12px;border-left:3px solid var(--accent);background:rgba(36,87,255,.08);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}

.file-filters{grid-template-columns:minmax(210px,1.35fr) repeat(4,minmax(125px,.7fr))}.filter-actions{grid-column:1/-1;justify-content:flex-end}.filter-actions button{min-width:120px;white-space:nowrap}
@media(max-width:1250px){.file-library-hero{grid-template-columns:1fr}.library-status-grid{max-width:680px}.file-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-actions{grid-column:1/-1}.filter-actions button{flex:1}}
@media(max-width:760px){.file-library-hero{padding:25px}.library-status-grid{grid-template-columns:1fr}.http-warning{align-items:flex-start;flex-direction:column;gap:4px}.upload-station,.library-explorer{padding:17px}.workspace-section-heading{align-items:stretch;flex-direction:column}.workspace-section-heading>button{width:100%}.file-filters{grid-template-columns:1fr 1fr}.file-toolbar{align-items:stretch;flex-direction:column}.file-view-controls{margin-left:0}.file-list .file-card{grid-template-columns:56px 1fr}.file-list .file-actions{grid-column:1/-1}.upload-queue article{grid-template-columns:1fr}.preview-footer{align-items:stretch;flex-direction:column}.preview-download{align-self:flex-end}}
@media(max-width:520px){.file-library-hero{padding:22px}.file-library-hero h2{font-size:var(--type-display-size);line-height:var(--type-display-line)}.file-filters{grid-template-columns:1fr}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.filter-actions button:last-child{grid-column:1/-1}.file-dropzone{min-height:190px;padding:24px 18px}.batch-selection{align-items:flex-start;flex-direction:column}.file-view-controls{width:100%}.file-view-controls span{margin-right:auto}.file-grid{grid-template-columns:1fr}}
.file-dropzone.disabled{cursor:not-allowed;opacity:.56}.file-dropzone.disabled:hover{border-color:var(--black);background:rgba(201,202,202,.16)}.upload-queue article.upload-success{border-left-color:var(--black)}.upload-queue article.upload-failed{border-left-color:var(--black);background:rgba(201,202,202,.18)}.upload-complete{color:var(--text-primary);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.preview-unavailable{color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}

/* M04 filter alignment and card selection */
.file-filters input,.file-filters select{height:54px;min-height:54px;padding:0 14px}
.file-card{cursor:pointer}
.file-card.selected{background:rgba(36,87,255,.08)}
.file-card .file-select{opacity:0;pointer-events:none}
.file-card.selected .file-select,.file-card .file-select:focus-within{opacity:1;pointer-events:auto;border-color:var(--accent)}
.file-actions button,.file-actions a{cursor:pointer}

/* T01 compact media library */
.media-library-page .http-warning{margin:0 0 10px;padding:9px 13px;gap:10px;border-color:var(--gray);border-left:3px solid var(--accent);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}
.media-library-page .upload-station{display:grid;grid-template-columns:minmax(190px,.45fr) minmax(420px,1fr);align-items:center;gap:18px;margin-bottom:10px;padding:15px 16px;border-radius:14px}
.compact-upload-copy h2{margin:0 0 3px;font-size:var(--type-h2-size);line-height:var(--type-h2-line);font-weight:600;letter-spacing:var(--tracking-heading)}.compact-upload-copy p{margin:0;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}
.media-library-page .file-dropzone{display:flex;justify-content:flex-start;min-height:72px;padding:11px 14px;gap:12px;border-color:var(--gray);border-radius:10px;text-align:left;transition:border-color .18s ease,background .18s ease}
.media-library-page .dropzone-mark{flex:0 0 auto;width:36px;height:36px;margin:0;border-radius:50%;font-size:var(--type-h2-size)!important;line-height:var(--type-h2-line)!important}.dropzone-copy{display:grid;gap:2px}.dropzone-copy strong{font-size:var(--type-label-size);line-height:var(--type-label-line)}.dropzone-copy span{font-size:var(--type-caption-size)!important;line-height:var(--type-caption-line)!important}
.media-library-page .upload-queue{grid-column:1/-1;margin:0}.media-library-page .storage-status{margin-bottom:10px;padding:10px 13px;border-radius:10px;font-size:var(--type-caption-size);line-height:var(--type-caption-line)}
.media-library-page .library-explorer{padding:16px;border-radius:14px}.media-library-page .explorer-heading{margin-bottom:12px;padding-bottom:12px}.media-library-page .workspace-section-heading h3{font-size:var(--type-h2-size);line-height:var(--type-h2-line)}.media-library-page .workspace-section-heading>button{padding:9px 13px}
.media-library-page .folder-section{margin-bottom:14px;padding-bottom:14px}.media-library-page .folder-grid{gap:7px}.media-library-page .folder-card{min-height:52px;padding-top:9px;padding-bottom:9px;border-radius:9px;transition:border-color .18s ease,background .18s ease}.media-library-page .folder-icon{width:30px;height:26px;border-radius:5px}
.media-library-page .file-filters{gap:7px;margin-bottom:12px;padding:12px;border-radius:10px}.media-library-page .file-filters input,.media-library-page .file-filters select{height:42px;min-height:42px;padding:0 11px}.media-library-page .filter-actions button{min-height:42px;padding:8px 12px;border-radius:8px}
.media-library-page .file-toolbar{min-height:42px;margin-bottom:10px;padding:6px 0}.media-library-page .view-button{padding:6px 9px;border-radius:7px}
.media-library-page .file-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:9px}.media-library-page .file-card{min-height:205px;padding:14px;gap:10px;border-radius:12px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.media-library-page .file-thumbnail{display:block;height:148px;border-radius:8px}.media-library-page img.file-thumbnail{object-fit:contain;background:rgba(201,202,202,.18)}.media-library-page video.file-thumbnail{object-fit:contain;background:var(--black)}.media-library-page .file-actions{padding-top:9px}.media-library-page .file-empty{padding:42px 24px;border-radius:10px}
@media(max-width:900px){.media-library-page .upload-station{grid-template-columns:1fr}.media-library-page .file-dropzone{min-height:70px}.media-library-page .file-filters{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.media-library-page .http-warning{align-items:flex-start}.media-library-page .upload-station,.media-library-page .library-explorer{padding:13px;border-radius:10px}.media-library-page .file-dropzone{min-height:76px;padding:11px}.media-library-page .file-filters{grid-template-columns:1fr 1fr}.media-library-page .file-filters .search-field{grid-column:1/-1}.media-library-page .file-grid{grid-template-columns:1fr}.media-library-page .file-thumbnail{height:180px}}

/* M04 responsive eight-column grid */
.file-grid,.media-library-page .file-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
@media(max-width:900px){.file-grid,.media-library-page .file-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.file-grid,.media-library-page .file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-library-page .file-card{padding:10px;gap:8px}.media-library-page .file-thumbnail{height:128px}.media-library-page .file-meta strong{font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.media-library-page .file-actions{gap:5px}}
.permission-admin{margin-top:28px;border-top:1px solid var(--gray);padding-top:28px}.permission-admin-head,.share-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.permission-admin-head h3,.share-head h3{margin:3px 0 6px}.permission-admin-head p,.share-head p{margin:0;color:var(--text-secondary)}.permission-toolbar{display:flex;gap:14px;align-items:end;margin:20px 0}.permission-toolbar label{min-width:220px}.permission-toolbar input,.permission-toolbar select{margin-top:6px}.mobile-review-note{display:none;background:rgba(36,87,255,.08);border-left:4px solid var(--accent);padding:10px 12px}.permission-matrix{display:grid;gap:10px}.permission-space{border:1px solid var(--gray);background:var(--white)}.permission-space summary{cursor:pointer;padding:14px 16px;list-style:none}.permission-space summary::-webkit-details-marker{display:none}.permission-space summary span{display:flex;justify-content:space-between;align-items:center;gap:12px}.permission-space summary small{color:var(--text-secondary);font-weight:400}.permission-modules{border-top:1px solid var(--gray)}.permission-modules article{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:18px;padding:13px 16px;border-bottom:1px solid var(--gray)}.permission-modules article:last-child{border-bottom:0}.permission-modules article>div:first-child{display:flex;flex-direction:column;gap:3px}.permission-modules small{color:var(--text-secondary)}.permission-chips{display:flex;flex-wrap:wrap;gap:7px}.permission-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:rgba(36,87,255,.08);color:var(--text-action);font-size:var(--type-secondary-size);line-height:var(--type-secondary-line)}.permission-chip.deny{background:rgba(0,0,0,.05);color:var(--text-primary);border:1px solid var(--black)}.permission-chip.empty{background:rgba(201,202,202,.28);color:var(--text-secondary)}.permission-chip button{border:0;background:transparent;color:inherit;padding:0 2px;font-size:var(--type-h3-size);line-height:var(--type-h3-line)}.share-head{margin-top:28px;padding-top:22px;border-top:1px solid var(--gray)}.share-grants{display:grid;gap:8px;margin-top:14px}.share-grants article{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--gray);padding:12px 14px}.share-grants article div{display:grid;gap:3px}.share-grants span,.share-grants small{color:var(--text-secondary)}.permission-impact{margin-top:14px;padding:12px;background:rgba(201,202,202,.28);border-left:4px solid var(--accent)}
.permission-exceptions{margin-top:20px}.permission-exceptions article{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 14px;border:1px solid var(--gray);border-bottom:0}.permission-exceptions article:last-child{border-bottom:1px solid var(--gray)}.permission-exceptions article div{display:grid;gap:3px}.permission-exceptions span{color:var(--text-secondary)}
@media(max-width:700px){.permission-admin-head,.share-head{display:block}.permission-admin-head>button,.revoke-policy,.revoke-share{display:none!important}.permission-toolbar{display:grid}.permission-toolbar label{min-width:0}.mobile-review-note{display:block}.permission-modules article{grid-template-columns:1fr}.permission-space summary span{align-items:flex-start;flex-direction:column}.share-grants article,.permission-exceptions article{align-items:flex-start}}

/* 账号与权限：员工中心工作台 */
.account-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 170px 190px auto auto auto;gap:9px;margin:22px 0 12px}.account-toolbar input,.account-toolbar select,.account-toolbar button{margin:0;min-width:0}.account-list-summary{margin:8px 0;color:var(--text-secondary);font-size:var(--type-body-size);line-height:var(--type-body-line)}.account-list{border:1px solid var(--gray);background:var(--white)}.account-list-head,.account-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(190px,1.35fr) 115px minmax(160px,1.1fr) 145px 62px;gap:12px;align-items:center}.account-list-head{padding:11px 14px;background:rgba(201,202,202,.22);font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-label)}.account-row{width:100%;padding:13px 14px;border:0;border-top:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary);text-align:left}.account-row:hover,.account-row:focus-visible{background:rgba(36,87,255,.06)}.account-row>span:first-child{display:grid;gap:2px}.account-row small{color:var(--text-muted);font-weight:400}.status-pill,.permission-source{display:inline-flex;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;background:rgba(36,87,255,.09);color:var(--text-action);font-style:normal;font-size:var(--type-label-size);line-height:var(--type-label-line)}.status-pill.off{background:rgba(201,202,202,.35);color:var(--text-primary)}.permission-source.none{background:rgba(201,202,202,.35);color:var(--text-secondary)}.permission-source.review{border:1px solid var(--accent)}.link-button{color:var(--text-action);font-weight:600}.account-panel-overlay{position:fixed;z-index:69;inset:0;border:0;border-radius:0;background:rgba(0,0,0,.46)}.account-manager{position:fixed;z-index:70;top:0;right:0;width:min(760px,92vw);height:100dvh;overflow-y:auto;border-left:1px solid var(--gray);background:var(--white);box-shadow:-20px 0 50px rgba(0,0,0,.18)}.account-manager[hidden],.account-panel-overlay[hidden]{display:none}.account-manager-head{position:sticky;z-index:2;top:0;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 28px;border-bottom:1px solid var(--gray);background:var(--white)}.account-manager-head h2{margin:3px 0 2px}.account-manager-head span{color:var(--text-secondary)}.account-manager section{padding:22px 28px;border-bottom:1px solid var(--gray)}.account-manager section h3{margin:0 0 12px}.account-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.account-overview>div{display:grid;gap:5px;padding:11px;background:rgba(201,202,202,.2)}.account-overview span{font-size:var(--type-label-size);line-height:var(--type-label-line);color:var(--text-secondary)}.account-overview strong{overflow-wrap:anywhere}.base-permission-card{padding:15px;border-left:4px solid var(--accent);background:rgba(36,87,255,.07)}.base-permission-card>div,.base-permission-card{display:grid;gap:7px}.base-permission-card>div{grid-template-columns:1fr auto}.base-permission-card p,.base-permission-card small{margin:0}.permission-source-summary,.sensitive-grid{display:flex;flex-wrap:wrap;gap:8px}.source-tag{padding:6px 9px;border:1px solid var(--gray);font-size:var(--type-label-size);line-height:var(--type-label-line)}.template-picker,.permission-editor-head,.draft-status,.security-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.template-picker select{margin:0;flex:1}.permission-editor-head input{width:min(260px,48%);margin:0}.employee-permission-space,.permission-module{margin-top:9px;border:1px solid var(--gray)}.employee-permission-space>summary,.permission-module>summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none}.employee-permission-space>summary::-webkit-details-marker,.permission-module>summary::-webkit-details-marker{display:none}.employee-permission-space>summary span,.permission-module>summary span{font-size:var(--type-label-size);line-height:var(--type-label-line);color:var(--text-secondary)}.employee-permission-space>div{padding:0 12px 12px}.permission-module>summary div{display:grid}.permission-module>summary small{color:var(--text-muted)}.module-actions{border-top:1px solid var(--gray)}.module-action{display:grid;grid-template-columns:1fr minmax(210px,.8fr);gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(201,202,202,.75)}.module-action:last-child{border-bottom:0}.module-action label{display:flex;gap:8px;align-items:center}.module-action select{margin:0}.sensitive-grid label{padding:8px 10px;border:1px solid var(--gray)}.draft-status{position:sticky;z-index:1;bottom:0;background:var(--white);box-shadow:0 -12px 25px rgba(0,0,0,.08)}.draft-status>div{display:grid;gap:3px}.draft-status span{font-size:var(--type-label-size);line-height:var(--type-label-line);color:var(--text-secondary)}.account-security{background:rgba(201,202,202,.16)}.security-password{display:grid;grid-template-columns:1fr auto auto auto;gap:8px}.security-password input,.security-password button{margin:0}.danger-action{border-color:var(--black)!important}.permission-change-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.permission-change-summary section{padding:12px;border:1px solid var(--gray)}.permission-change-summary h3,.permission-change-summary p{margin:0 0 7px}.create-progress{display:grid;grid-template-columns:1fr 1fr;margin:14px 0 20px}.create-progress span{padding:9px;border-bottom:2px solid var(--gray);color:var(--text-muted)}.create-progress .active{border-color:var(--accent);color:var(--text-action);font-weight:600}.password-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.credential-result{display:grid;gap:9px;padding:16px;background:rgba(36,87,255,.07)}body.account-panel-open{overflow:hidden}

.scope-controls{display:grid;gap:6px}.scope-controls select[multiple]{min-height:92px}.scope-controls small{color:var(--text-secondary)}
.password-ops-disabled .security-password{position:relative;pointer-events:none;opacity:.48}.password-ops-disabled .account-security::after{content:'密码操作需等待 HTTPS 入口启用；账号启停和删除仍按独立安全规则执行。';display:block;margin-top:12px;padding:10px;border-left:4px solid var(--accent);background:rgba(36,87,255,.07)}
.account-manager{width:min(980px,96vw);display:block;padding:0;color:var(--text-primary)}.account-manager section{color:var(--text-primary)}.http-password-notice{display:grid;gap:3px;margin-bottom:14px;padding:11px 13px;border-left:4px solid var(--accent);background:rgba(36,87,255,.07);color:var(--text-primary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.http-password-notice span{color:var(--text-secondary)}.permission-editor-head>div p{margin:3px 0 0;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.selected-permission-summary{display:grid;gap:8px;margin:14px 0;padding:12px 14px;background:rgba(201,202,202,.2)}.selected-permission-summary>div{display:flex;flex-wrap:wrap;gap:6px}.selected-permission-summary span{padding:4px 8px;border:1px solid var(--gray);background:var(--white);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.permission-selector{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:480px;border:1px solid var(--gray);background:var(--white)}.permission-selector-nav{display:block;overflow-y:auto;max-height:650px;padding:10px;background:rgba(201,202,202,.18);border-right:1px solid var(--gray)}.account-manager .permission-nav-group{display:grid;gap:4px;margin:0;padding:8px 0 12px;border:0}.permission-nav-group h4{margin:0 8px 5px;font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.permission-nav-item{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 10px;border-color:transparent;background:transparent;color:var(--text-primary);text-align:left;font-weight:500}.permission-nav-item small{font-size:var(--type-caption-size);line-height:var(--type-caption-line);white-space:nowrap}.permission-nav-item:hover{border-color:var(--gray);background:var(--white);color:var(--text-primary);filter:none;transform:none}.permission-nav-item.active{border-color:var(--accent);background:var(--accent);color:var(--text-inverse)}.permission-nav-item.active small{color:var(--text-inverse-secondary)}.permission-nav-item.unavailable{opacity:.55}.permission-selector-detail{min-width:0;padding:22px}.permission-module-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--gray)}.permission-module-title h4{margin:3px 0;font-size:var(--type-h2-size);line-height:var(--type-h2-line)}.permission-module-title>span{padding:4px 8px;background:rgba(36,87,255,.08);color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.permission-module-editor .module-actions{border-top:0}.permission-module-editor .module-action{padding:15px 0}.permission-module-editor .module-action>label{min-width:0;align-items:flex-start}.permission-module-editor .policy-toggle{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:var(--accent)}.permission-module-editor .module-action>label span{display:grid;min-width:max-content;gap:2px;font-size:var(--type-label-size);line-height:var(--type-label-line);white-space:nowrap}.permission-module-editor .module-action>label small{font-weight:400}.permission-empty{display:grid;place-items:center;align-content:center;min-height:400px;text-align:center}.permission-empty p{color:var(--text-secondary)}
.permission-transfer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch;margin-top:18px}.permission-transfer-column{min-width:0;border:1px solid var(--gray);background:var(--white)}.permission-transfer-column>div:first-child{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid var(--gray);background:rgba(201,202,202,.18);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.permission-transfer-list{display:grid;align-content:start;min-height:240px;max-height:320px;overflow-y:auto;padding:7px}.permission-transfer-list>p{margin:auto;padding:26px 10px;color:var(--text-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line);text-align:center}.permission-transfer-item{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 11px;border-color:transparent;border-bottom-color:rgba(201,202,202,.7);background:var(--white);color:var(--text-primary);text-align:left;font-weight:500}.permission-transfer-item:hover,.permission-transfer-item:focus-visible{border-color:var(--accent);background:rgba(36,87,255,.08);color:var(--text-primary);filter:none;transform:none}.permission-transfer-item.selected{border-color:rgba(36,87,255,.18);background:rgba(36,87,255,.08)}.permission-transfer-item.inherited{opacity:.62;cursor:not-allowed}.permission-transfer-item small{flex:0 0 auto;font-size:var(--type-caption-size);line-height:var(--type-caption-line);white-space:nowrap}.permission-transfer-hint{margin:8px 0 0;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.permission-scope-editor{margin-top:22px;border-top:1px solid var(--gray)}.permission-scope-editor h5{margin:16px 0 4px;font-size:var(--type-label-size);line-height:var(--type-label-line)}.permission-scope-editor .module-action{grid-template-columns:minmax(110px,.55fr) minmax(210px,1fr)}.permission-scope-empty{margin:12px 0;padding:18px;background:rgba(201,202,202,.18);color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line);text-align:center}
@media(max-width:1100px){.account-toolbar{grid-template-columns:1fr 1fr 1fr}.account-list-head,.account-row{grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr) 105px minmax(130px,1fr) 120px 55px}}
@media(max-width:700px){.account-toolbar{grid-template-columns:1fr 1fr}.account-toolbar input{grid-column:1/-1}.account-toolbar button:last-child{grid-column:1/-1}.account-list{border:0}.account-list-head{display:none}.account-row{grid-template-columns:1fr auto;gap:7px;margin-bottom:9px;border:1px solid var(--gray);padding:15px}.account-row>span{display:grid}.account-row>span:nth-child(2){grid-column:1/-1;color:var(--text-secondary)}.account-row>span:nth-child(4){grid-column:1/-1}.account-row>span:nth-child(5)::before{content:'最后登录：';color:var(--text-muted)}.account-row>span:nth-child(6){grid-row:1;grid-column:2}.account-manager{width:100%;border-left:0}.account-manager-head,.account-manager section{padding-left:17px;padding-right:17px}.account-manager .permission-nav-group{padding:8px}.account-overview{grid-template-columns:1fr 1fr}.template-picker,.permission-editor-head,.draft-status{align-items:stretch;flex-direction:column}.permission-editor-head input{width:100%}.permission-selector{display:block}.permission-selector-nav{display:flex;gap:8px;overflow-x:auto;max-height:none;border-right:0;border-bottom:1px solid var(--gray)}.permission-nav-group{min-width:190px}.permission-selector-detail{padding:16px}.permission-transfer{gap:8px}.permission-transfer-list{min-height:190px}.permission-transfer-item{align-items:flex-start;flex-direction:column;gap:3px;padding:9px 7px}.module-action,.permission-scope-editor .module-action{grid-template-columns:1fr}.security-password{grid-template-columns:1fr 1fr}.security-password input{grid-column:1/-1}.security-password button:last-child{grid-column:1/-1}.permission-change-summary{grid-template-columns:1fr}}

/* M10 设计中心：两层信息架构，纵向详情，无额外工作台或统计页 */
.design-center-page{min-width:0}.design-center-page>.http-warning{margin-bottom:18px}.design-head{align-items:end}.design-filters{display:grid;grid-template-columns:minmax(240px,1fr) 160px 190px auto auto;gap:9px;align-items:end;margin:20px 0 14px}.design-filters input,.design-filters select,.design-filters button{min-width:0;margin:0}.design-project-table{border:1px solid var(--gray);background:var(--white)}.design-project-head,.design-project-row{display:grid;grid-template-columns:minmax(210px,1.5fr) 150px minmax(120px,1fr) 120px 100px 110px;gap:12px;align-items:center}.design-project-head{padding:11px 14px;background:rgba(201,202,202,.22);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.design-project-row{width:100%;padding:15px 14px;border:0;border-top:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary);text-align:left}.design-project-row:hover,.design-project-row:focus-visible{background:rgba(36,87,255,.06);color:var(--text-primary);filter:none;transform:none}.design-status{display:inline-flex;width:max-content;padding:4px 8px;border:1px solid var(--gray);border-radius:999px;background:var(--white);color:var(--text-primary);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-style:normal}.design-status.designing,.design-status.pending_confirmation{border-color:var(--accent);color:var(--text-action)}.design-status.completed{background:var(--black);color:var(--text-inverse);border-color:var(--black)}
.design-detail{display:grid;gap:16px;min-width:0}.design-detail-head,.design-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.design-detail-head h2{margin:8px 0 9px;font-size:var(--type-display-size);line-height:var(--type-display-line)}.design-detail-head .design-back{margin-bottom:22px}.design-section{padding:24px 0;border-top:1px solid var(--gray)}.design-section-title{margin-bottom:18px}.design-section-title h3{margin:2px 0;font-size:var(--type-h2-size);line-height:var(--type-h2-line)}.design-brief{max-width:850px;font-size:var(--type-h3-size);line-height:var(--type-h3-line);line-height:var(--type-longform-line)}.design-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:20px 0;background:var(--gray)}.design-meta>div{min-width:0;padding:13px;background:var(--white)}.design-meta dt{margin-bottom:5px;color:var(--text-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.design-meta dd{margin:0;overflow-wrap:anywhere;font-weight:600}.design-todos{display:grid;gap:8px;max-width:760px}.design-todos>label{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--gray)}#design-todo-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}#design-todo-form input,#design-todo-form button{margin:0}.design-versions{display:grid;gap:9px}.design-versions>article{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--gray)}.design-versions>article>div:first-child{display:grid;grid-template-columns:auto auto auto 1fr;gap:7px 9px;align-items:center}.design-versions strong{font-size:var(--type-h2-size);line-height:var(--type-h2-line)}.design-versions em{padding:3px 6px;background:rgba(36,87,255,.08);color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-style:normal}.design-versions span,.design-versions small{grid-column:1/-1}.design-versions small{color:var(--text-secondary)}.design-version-actions,.design-flow-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.design-version-actions button,.design-version-actions a,.design-flow-actions button{margin:0}.design-version-actions span{color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.design-published{padding:7px 10px;background:var(--accent);color:var(--text-inverse)}.design-feedback{display:grid;grid-template-columns:1fr 190px auto;gap:8px;margin-bottom:24px}.design-feedback textarea,.design-feedback select,.design-feedback button{margin:0}.design-timeline{display:grid;max-width:850px}.design-timeline article{display:grid;grid-template-columns:12px 1fr;gap:12px;min-height:76px}.design-timeline article>span{position:relative;width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--accent)}.design-timeline article>span::after{content:'';position:absolute;top:9px;bottom:-62px;left:4px;width:1px;background:var(--gray)}.design-timeline article:last-child>span::after{display:none}.design-timeline p{margin:4px 0}.design-timeline small{color:var(--text-secondary)}.design-dialog{width:min(760px,calc(100% - 32px))}.design-dialog form{display:grid;gap:13px}.design-dialog select[multiple]{min-height:110px}
.design-upload-label{display:block;margin-bottom:8px;font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.design-file-input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.design-upload-dropzone{display:grid;gap:6px;width:100%;padding:22px;border:1px dashed var(--black);background:rgba(201,202,202,.14);cursor:pointer;transition:background .18s,border-color .18s}.design-upload-dropzone:hover,.design-upload-dropzone:focus-visible,.design-upload-dropzone.dragging{outline:none;border-color:var(--accent);background:rgba(36,87,255,.08)}.design-upload-dropzone strong{font-size:var(--type-secondary-size);line-height:var(--type-secondary-line)}.design-upload-dropzone span{overflow-wrap:anywhere;font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.design-upload-dropzone span.selected{color:var(--text-action);font-weight:600}.design-upload-dropzone small{color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}
@media(max-width:1050px){.design-project-head,.design-project-row{grid-template-columns:minmax(190px,1.5fr) 130px 120px 100px 95px}.design-project-head span:last-child,.design-project-row span:last-child{display:none}.design-meta{grid-template-columns:1fr 1fr}.design-filters{grid-template-columns:1fr 1fr 1fr auto auto}}
@media(max-width:700px){.design-head,.design-detail-head,.design-section-title{align-items:stretch;flex-direction:column}.design-head>button,.design-detail-head>button,.design-section-title>button{width:100%}.design-filters{grid-template-columns:1fr 1fr}.design-filters label:first-child{grid-column:1/-1}.design-project-table{border:0}.design-project-head{display:none}.design-project-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin-bottom:9px;border:1px solid var(--gray);padding:15px}.design-project-row span:first-child{grid-column:1/-1}.design-project-row span:nth-child(3)::before{content:'负责人：';color:var(--text-muted)}.design-project-row span:nth-child(4)::before{content:'截止：';color:var(--text-muted)}.design-project-row span:nth-child(6){display:block}.design-detail{position:relative;width:100%;overflow-x:hidden}.design-meta{grid-template-columns:1fr}.design-versions>article{align-items:flex-start;flex-direction:column}.design-version-actions{width:100%}.design-feedback{grid-template-columns:1fr}.design-feedback textarea{min-height:100px}#design-todo-form{grid-template-columns:1fr}.design-flow-actions{width:100%}.design-flow-actions button{flex:1 1 160px}}
@media(max-width:700px){.design-upload-dropzone{min-width:0;padding:18px}}

/* M11 品牌内容：单一列表与三段纵向详情 */
.brand-content-page,.brand-content-detail{min-width:0}.brand-content-head{align-items:end}.brand-content-filters{display:grid;grid-template-columns:minmax(240px,1fr) 170px 150px auto auto;gap:9px;align-items:end;margin:20px 0 14px}.brand-content-filters input,.brand-content-filters select,.brand-content-filters button{min-width:0;margin:0}.brand-content-table{border:1px solid var(--gray);background:var(--white)}.brand-content-table-head,.brand-content-row{display:grid;grid-template-columns:72px minmax(180px,1.4fr) 110px minmax(130px,1fr) 120px 90px 145px;gap:12px;align-items:center}.brand-content-table-head{padding:10px 14px;background:rgba(201,202,202,.22);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.brand-content-row{width:100%;padding:12px 14px;border:0;border-top:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary);text-align:left}.brand-content-row:hover,.brand-content-row:focus-visible{background:rgba(36,87,255,.06);color:var(--text-primary);filter:none;transform:none}.brand-content-thumb{display:grid;width:52px;height:38px;place-items:center;overflow:hidden;background:rgba(201,202,202,.32)}.brand-content-thumb>[data-brand-preview]{display:grid;width:100%;height:100%;place-items:center}.brand-content-thumb img{width:100%;height:100%;object-fit:cover}.brand-content-thumb i{font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-style:normal;color:var(--text-muted)}.brand-status{display:inline-flex;width:max-content;padding:4px 8px;border:1px solid var(--gray);border-radius:999px;background:var(--white);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-style:normal}.brand-status.pending_confirmation,.brand-status.ready{border-color:var(--accent);color:var(--text-action)}.brand-status.published{border-color:var(--black);background:var(--black);color:var(--text-inverse)}
.brand-content-detail{display:grid;gap:0}.brand-content-detail-head,.brand-content-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.brand-content-detail-head{padding-bottom:26px}.brand-content-detail-head h2{max-width:900px;margin:8px 0 12px;font-size:var(--type-display-size);line-height:var(--type-display-line)}.brand-content-back{margin-bottom:22px}.brand-detail-meta,.brand-flow-actions,.brand-media-entry,.brand-media-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.brand-detail-meta>span:not(.brand-status){font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-secondary)}.brand-content-section{padding:26px 0;border-top:1px solid var(--gray)}.brand-content-section-title{margin-bottom:18px}.brand-content-section-title h3{margin:2px 0;font-size:var(--type-h2-size);line-height:var(--type-h2-line)}.brand-content-section-title>span{max-width:360px;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line);text-align:right}.brand-copy-form{display:grid;gap:12px}.brand-copy-grid{display:grid;grid-template-columns:1.3fr 1.3fr .7fr .9fr;gap:12px}.brand-copy-grid input,.brand-copy-grid select,.brand-copy-grid textarea{margin:5px 0 0}.brand-copy-grid .brand-wide{grid-column:1/-1}.brand-language{grid-column:span 2}.brand-language textarea{min-height:260px;line-height:var(--type-longform-line);resize:vertical}.brand-autosave{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.brand-autosave button{margin:0}.brand-copy-read>div{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:18px 0;background:var(--gray)}.brand-copy-read article{min-width:0;padding:20px;background:var(--white)}.brand-copy-read article span{color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:600}.brand-copy-read article p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--type-longform-line)}.brand-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.brand-media-grid>article{display:grid;min-width:0;border:1px solid var(--gray);background:var(--white)}.brand-media-preview{display:grid;aspect-ratio:4/3;place-items:center;overflow:hidden;background:var(--black);color:var(--text-inverse);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.brand-media-preview img,.brand-media-preview video{width:100%;height:100%;object-fit:contain}.brand-preview-error{display:grid;gap:8px;max-width:80%;text-align:center}.brand-preview-error span{overflow-wrap:anywhere;color:var(--text-inverse-secondary)}.brand-preview-error button{margin:0;background:var(--white);color:var(--text-primary)}.brand-media-copy{display:grid;gap:5px;padding:13px}.brand-media-copy span,.brand-media-copy p{margin:0;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.brand-media-copy em{color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-style:normal}.brand-media-actions{padding:0 12px 12px}.brand-media-actions button{flex:1 1 auto;margin:0;padding:7px 8px;font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.brand-publications{display:grid}.brand-publications>article{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr);gap:8px 24px;padding:16px 0;border-bottom:1px solid var(--gray)}.brand-publications>article>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.brand-publications em{padding:3px 6px;background:rgba(36,87,255,.08);color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-style:normal}.brand-publications span,.brand-publications p{margin:0;color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.brand-publications p{grid-column:1/-1}.brand-version-line{display:flex;justify-content:space-between;gap:16px;margin-top:24px;padding:12px;background:rgba(201,202,202,.18);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.brand-content-dialog{width:min(760px,calc(100% - 32px))}.brand-content-dialog form{display:grid;gap:12px}.brand-asset-search{grid-template-columns:1fr auto!important}.brand-asset-search input,.brand-asset-search button{margin:0}.brand-asset-results{display:grid;max-height:55vh;overflow-y:auto;border:1px solid var(--gray)}.brand-asset-results>button{display:grid;grid-template-columns:55px 1fr;gap:3px 12px;padding:13px;border:0;border-bottom:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary);text-align:left}.brand-asset-results>button:hover{background:rgba(36,87,255,.06);color:var(--text-primary);filter:none}.brand-asset-results>button span{grid-row:1/3;align-self:center;color:var(--text-action);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.brand-asset-results>button small{color:var(--text-secondary)}
@media(max-width:1100px){.brand-content-table-head,.brand-content-row{grid-template-columns:60px minmax(170px,1.4fr) 100px minmax(110px,1fr) 105px 85px}.brand-content-table-head span:last-child,.brand-content-row>span:last-child{display:none}.brand-copy-grid{grid-template-columns:1fr 1fr}.brand-media-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.brand-content-detail{width:100%;overflow-x:hidden}.brand-content-head,.brand-content-detail-head,.brand-content-section-title{align-items:stretch;flex-direction:column}.brand-content-head>button,.brand-flow-actions button,.brand-content-section-title>button{width:100%}.brand-content-filters{grid-template-columns:1fr 1fr}.brand-content-filters label:first-child{grid-column:1/-1}.brand-content-table{border:0}.brand-content-table-head{display:none}.brand-content-row{grid-template-columns:58px 1fr auto;gap:6px 10px;margin-bottom:9px;border:1px solid var(--gray);padding:12px}.brand-content-row>span:nth-child(2){grid-column:2/-1}.brand-content-row>span:nth-child(3),.brand-content-row>span:nth-child(4),.brand-content-row>span:nth-child(5){font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.brand-content-row>span:nth-child(6){grid-column:3;grid-row:1}.brand-content-row>span:nth-child(7){display:none}.brand-content-section-title>span{text-align:left}.brand-copy-grid{grid-template-columns:1fr}.brand-copy-grid .brand-wide,.brand-language{grid-column:auto}.brand-copy-read>div,.brand-media-grid{grid-template-columns:1fr}.brand-language textarea{min-height:210px}.brand-media-entry{display:grid;grid-template-columns:1fr 1fr}.brand-publications>article{grid-template-columns:1fr}.brand-publications p{grid-column:auto}.brand-version-line,.brand-autosave{align-items:flex-start;flex-direction:column}.brand-content-dialog{width:calc(100% - 18px);max-height:94vh}.brand-content-dialog .form-grid{grid-template-columns:1fr}}
.brand-feedback{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid var(--gray)}#brand-feedback-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}#brand-feedback-form textarea,#brand-feedback-form button{margin:0}.brand-feedback article{padding:9px 0;border-bottom:1px solid var(--gray)}.brand-feedback article p{margin:0 0 4px}.brand-feedback article small{color:var(--text-secondary)}
@media(max-width:700px){.brand-feedback{grid-template-columns:1fr}#brand-feedback-form{grid-template-columns:1fr}}

/* T01 global typography system */
:root{--icon-line:1}
body{font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:400;letter-spacing:0;color:var(--text-primary);font-variant-numeric:proportional-nums}
.compliance-footer{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-secondary)}.compliance-footer a{color:inherit;text-decoration:none}.compliance-footer a:hover,.compliance-footer a:focus-visible{color:var(--text-action);text-decoration:underline;text-underline-offset:3px}.login-compliance{margin-top:28px;padding-top:18px;border-top:1px solid var(--gray)}.app-compliance{margin-top:64px;padding:20px 0 0;border-top:1px solid var(--gray);text-align:center}
h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote{letter-spacing:0}h1,h2,h3,h4,h5,h6,strong{font-weight:600}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}
.content>header h1,.welcome h2,.placeholder-panel h2,.design-detail-head h2,.brand-content-detail-head h2{font-size:var(--type-display-size)!important;line-height:var(--type-display-line)!important;letter-spacing:var(--tracking-heading)!important}
.section-head h2,.dialog-head h2,.account-manager-head h2,.side-panel h2{font-size:var(--type-h1-size)!important;line-height:var(--type-h1-line)!important;letter-spacing:var(--tracking-heading)!important}
h2{font-size:var(--type-h1-size);line-height:var(--type-h1-line);letter-spacing:var(--tracking-heading)}h3{font-size:var(--type-h2-size);line-height:var(--type-h2-line);letter-spacing:var(--tracking-heading)}h4,h5,h6,.pane-title strong{font-size:var(--type-h3-size);line-height:var(--type-h3-line);letter-spacing:0}
p,li,dd,.welcome p{font-size:var(--type-body-size);line-height:var(--type-body-line)}.muted,.section-head p,.workspace-section-heading p:not(.step-label){font-size:var(--type-secondary-size);line-height:var(--type-secondary-line);color:var(--text-secondary)}small,.file-meta>span,.brand-detail-meta>span:not(.brand-status),.design-meta dt{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-muted)}
a,.link-button,.text-button{color:var(--text-action)}button,.button{font-size:var(--type-button-size)!important;line-height:var(--type-button-line)!important;font-weight:600;letter-spacing:0}label{font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:500}input,textarea,select{font-size:var(--type-input-size);line-height:var(--type-input-line);font-weight:400;letter-spacing:0;color:var(--text-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}button:disabled,input:disabled,textarea:disabled,select:disabled{color:var(--text-disabled)}
table{font-variant-numeric:tabular-nums}th,td{height:48px;font-size:var(--type-table-size)!important;line-height:var(--type-table-line)!important}th{font-size:var(--type-table-head-size)!important;line-height:var(--type-table-head-line)!important;font-weight:600;color:var(--text-secondary)}
.account-row,.design-project-row,.brand-content-row,.brand-content-table-head,.design-project-head,.file-meta,.brand-version-line,.audit-rows,.history-list,.design-timeline,.brand-publications{font-variant-numeric:tabular-nums}
.status-pill,.brand-status,.design-status,.review-tag,.source-tag,.permission-source,.file-tags,.eyebrow,.step-label,.test-badge{font-size:var(--type-label-size)!important;line-height:var(--type-label-line)!important;font-weight:600;letter-spacing:0}.eyebrow,.step-label,.brand-meta,.test-badge{letter-spacing:var(--tracking-label)!important}
.design-brief,.brand-language textarea,.brand-copy-read article p{max-width:760px;font-size:var(--type-body-l-size)!important;line-height:var(--type-longform-line)!important;font-weight:400}.brand-copy-read article p{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}
.wordmark,.sidebar-brand strong,.welcome::after{font-weight:700}.wordmark{font-size:var(--type-wordmark-size)!important;line-height:var(--type-wordmark-line)!important;letter-spacing:var(--tracking-logo)!important}.sidebar-brand strong{letter-spacing:var(--tracking-heading)!important}
.icon-button,.sidebar-close,.nav-chevron,.mobile-menu-button,.account-panel-close{font-size:var(--icon-md-size)!important;line-height:var(--icon-line)!important}.dropzone-mark,.folder-icon{font-size:var(--icon-sm-size)!important;line-height:var(--icon-line)!important}
.app-sidebar,.welcome,.brand-panel,.brand-media-preview{color:var(--text-inverse)}.app-sidebar small,.app-sidebar .nav-group-copy small,.account small{color:var(--text-inverse-muted)}.app-sidebar .nav-item,.app-sidebar .nav-child{color:var(--text-inverse-secondary)}.app-sidebar .active,.app-sidebar button:hover{color:var(--text-inverse)}
@media(max-width:920px){:root{--type-display-size:28px;--type-display-line:36px;--type-h1-size:22px;--type-h1-line:32px;--type-h2-size:18px;--type-h2-line:28px}}
@media(max-width:700px){:root{--type-display-size:26px;--type-display-line:34px;--type-h1-size:20px;--type-h1-line:30px;--type-h2-size:18px;--type-h2-line:27px;--type-body-l-line:28px;--type-body-line:25px;--type-secondary-line:23px;--type-label-line:21px;--type-caption-line:19px;--type-input-size:16px;--type-input-line:25px}html,body,#app-view,.app-shell,.content,.page{max-width:100%;overflow-x:hidden}input,textarea,select{font-size:var(--type-input-size)!important;line-height:var(--type-input-line)!important}.table-wrap{max-width:100%;overflow-x:auto}.content{min-width:0}}

/* M12 供应商与采购：两个入口、单页详情、移动端卡片化 */
.procurement-page,.procurement-detail{min-width:0}.procurement-tabs{display:flex;gap:8px;margin:18px 0 24px;border-bottom:1px solid var(--gray)}.procurement-tabs button{margin:0 0 -1px;padding:10px 18px;border-radius:0}.procurement-tabs button.active{border-bottom:3px solid var(--accent);background:var(--white);color:var(--text-action)}.procurement-head{align-items:end}.procurement-filters{display:grid;grid-template-columns:minmax(240px,1fr) 170px 180px auto auto;gap:9px;align-items:end;margin:20px 0 14px}.procurement-filters input,.procurement-filters select,.procurement-filters button{min-width:0;margin:0}.procurement-table{border:1px solid var(--gray);background:var(--white)}.procurement-table-head,.procurement-row{display:grid;gap:12px;align-items:center}.supplier-columns{grid-template-columns:minmax(180px,1.2fr) minmax(130px,1fr) 120px minmax(140px,1fr) 130px 95px}.order-columns{grid-template-columns:145px minmax(150px,1fr) minmax(170px,1.2fr) 130px 120px 110px 95px}.procurement-table-head{padding:10px 14px;background:rgba(201,202,202,.22);font-size:var(--type-table-head-size);line-height:var(--type-table-head-line);font-weight:600}.procurement-row{width:100%;padding:13px 14px;border:0;border-top:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary);text-align:left}.procurement-row:hover,.procurement-row:focus-visible{background:rgba(36,87,255,.06);color:var(--text-primary);filter:none;transform:none}.procurement-row span{min-width:0;overflow-wrap:anywhere}.procurement-status{display:inline-flex;width:max-content;padding:4px 8px;border:1px solid var(--gray);border-radius:999px;background:var(--white);font-style:normal}.procurement-status.active,.procurement-status.ordered,.procurement-status.partially_received{border-color:var(--accent);color:var(--text-action)}.procurement-status.completed{border-color:var(--black);background:var(--black);color:var(--text-inverse)}.procurement-status.disabled,.procurement-status.cancelled{color:var(--text-muted);text-decoration:none}.procurement-detail{display:grid;gap:0;overflow-x:hidden}.procurement-back{width:max-content;margin:0 0 20px}.procurement-detail-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:24px}.procurement-detail-head h2{margin:7px 0 12px;font-size:var(--type-display-size);line-height:var(--type-display-line)}.procurement-detail-actions,.procurement-detail-meta,.dialog-section-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.procurement-detail-actions button{margin:0}.procurement-detail-meta span{color:var(--text-secondary);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.procurement-section{padding:24px 0;border-top:1px solid var(--gray)}.procurement-section h3{margin:0 0 16px}.procurement-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--gray)}.procurement-meta>div{display:grid;gap:5px;min-width:0;padding:13px;background:var(--white)}.procurement-meta>div.wide{grid-column:span 2}.procurement-meta span{color:var(--text-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.procurement-meta strong{overflow-wrap:anywhere}.procurement-note{max-width:760px;margin:16px 0 0;white-space:pre-wrap}.procurement-contact-list,.procurement-linked-orders,.procurement-attachments,.receipt-list,.purchase-lines{display:grid}.procurement-contact-list article,.procurement-attachments article,.receipt-list article{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--gray)}.procurement-contact-list article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,.6fr) minmax(220px,1.3fr)}.procurement-contact-list span,.procurement-attachments span,.receipt-list span{color:var(--text-secondary)}.procurement-linked-orders button{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border:0;border-bottom:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary);text-align:left}.procurement-linked-orders button:hover{background:rgba(36,87,255,.06);color:var(--text-primary);filter:none}.purchase-lines article{display:grid;grid-template-columns:minmax(220px,1.4fr) 110px 120px 130px;gap:8px 18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--gray)}.purchase-lines article>div{display:grid}.purchase-lines article>div span,.purchase-lines small{color:var(--text-secondary)}.purchase-lines small{grid-column:1/-1}.receipt-list article>div{display:grid}.receipt-list article p{flex:1;margin:0;color:var(--text-secondary)}.procurement-attachment-upload{display:grid;grid-template-columns:180px minmax(220px,1fr) auto;gap:8px;align-items:end;margin-top:16px}.procurement-attachment-upload select,.procurement-attachment-upload input,.procurement-attachment-upload button{margin:0}.procurement-timeline{display:grid}.procurement-timeline article{display:grid;grid-template-columns:12px 1fr;gap:12px;min-height:62px}.procurement-timeline article>span{position:relative;width:9px;height:9px;margin-top:7px;border-radius:50%;background:var(--accent)}.procurement-timeline article>span::after{content:'';position:absolute;top:9px;bottom:-49px;left:4px;width:1px;background:var(--gray)}.procurement-timeline article:last-child>span::after{display:none}.procurement-timeline p{margin:3px 0;color:var(--text-secondary)}.procurement-dialog{width:min(900px,calc(100% - 32px));max-height:92vh}.procurement-dialog form{display:grid;gap:14px}.procurement-dialog fieldset{margin:0;padding:14px;border:1px solid var(--gray)}.category-options{display:flex;flex-wrap:wrap;gap:8px 18px}.category-options label,.primary-check{display:flex!important;gap:7px;align-items:center}.category-options input,.primary-check input{width:auto;margin:0}.dialog-section-head{justify-content:space-between}.dialog-section-head h3{margin:0}.supplier-contact-editor,.purchase-item-editor{display:grid;gap:10px}.supplier-contact-row,.purchase-item-row{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:9px;padding:13px;border:1px solid var(--gray);background:rgba(201,202,202,.08)}.supplier-contact-row input,.purchase-item-row input{margin-bottom:0}.supplier-contact-row .remove-contact,.purchase-item-row .item-order-actions{align-self:end}.item-order-actions{display:flex;gap:6px}.item-order-actions button{flex:1;margin:0;padding:8px}.procurement-dialog .wide{grid-column:1/-1}
@media(max-width:1100px){.supplier-columns{grid-template-columns:minmax(170px,1.3fr) 140px 120px minmax(130px,1fr) 95px}.supplier-columns span:nth-child(5){display:none}.order-columns{grid-template-columns:135px minmax(140px,1fr) minmax(150px,1.1fr) 120px 105px 90px}.order-columns span:nth-child(6){display:none}.procurement-meta{grid-template-columns:1fr 1fr}.supplier-contact-row,.purchase-item-row{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.procurement-page,.procurement-detail{width:100%;max-width:100%;overflow-x:hidden}.procurement-tabs button{flex:1}.procurement-head,.procurement-detail-head{align-items:stretch;flex-direction:column}.procurement-head>button,.procurement-detail-actions button{width:100%}.procurement-filters{grid-template-columns:1fr 1fr}.procurement-filters label:first-child{grid-column:1/-1}.procurement-table{border:0}.procurement-table-head{display:none}.procurement-row.supplier-columns,.procurement-row.order-columns{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin-bottom:9px;border:1px solid var(--gray);padding:14px}.procurement-row span:first-child{grid-column:1/-1}.procurement-row span:nth-child(2),.procurement-row span:nth-child(3),.procurement-row span:nth-child(4),.procurement-row span:nth-child(5),.procurement-row span:nth-child(6){font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.procurement-row span:last-child{grid-column:2;grid-row:1}.procurement-meta{grid-template-columns:1fr}.procurement-meta>div.wide{grid-column:auto}.procurement-contact-list article,.procurement-attachments article,.receipt-list article,.procurement-linked-orders button{align-items:flex-start;flex-direction:column}.procurement-contact-list article{grid-template-columns:1fr}.purchase-lines article{grid-template-columns:1fr 1fr}.purchase-lines article>div{grid-column:1/-1}.purchase-lines article span:nth-child(4){text-align:right}.procurement-attachment-upload{grid-template-columns:1fr}.supplier-contact-row,.purchase-item-row{grid-template-columns:1fr}.procurement-dialog{width:calc(100% - 18px);max-height:95vh}.procurement-dialog .form-grid{grid-template-columns:1fr}.item-order-actions{display:grid;grid-template-columns:1fr 1fr 1fr}}

.inventory-logistics-page{min-width:0;overflow-x:hidden}.inventory-tabs{display:flex;gap:8px;margin:18px 0 24px;border-bottom:1px solid var(--gray)}.inventory-tabs button{margin:0 0 -1px;padding:10px 18px;border-radius:0}.inventory-tabs button.active{border-bottom:3px solid var(--accent);background:var(--white);color:var(--text-action)}.inventory-head{align-items:end}.inventory-actions{display:flex;gap:8px;flex-wrap:wrap}.inventory-actions button{margin:0}.inventory-filters{display:grid;grid-template-columns:minmax(240px,1fr) 190px 170px auto auto;gap:9px;align-items:end;margin:20px 0 14px}.inventory-filters input,.inventory-filters select,.inventory-filters button{min-width:0;margin:0}.inventory-table{border:1px solid var(--gray);background:var(--white)}.inventory-table-head,.inventory-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(160px,1fr) repeat(4,minmax(80px,.55fr)) 90px;gap:10px;align-items:center}.inventory-table-head{padding:10px 14px;background:rgba(201,202,202,.22);font-size:var(--type-table-head-size);font-weight:600}.inventory-row{width:100%;padding:13px 14px;border:0;border-top:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary);text-align:left}.inventory-row:hover{background:rgba(36,87,255,.06);color:var(--text-primary);filter:none}.inventory-row span{min-width:0;overflow-wrap:anywhere}.inventory-row span:first-child,.inventory-row span:nth-child(2){display:grid}.inventory-row small{color:var(--text-secondary)}.inventory-status{display:inline-flex;width:max-content;padding:4px 8px;border:1px solid var(--gray);border-radius:999px;background:var(--white);font-style:normal}.inventory-status.available,.inventory-status.in_transit,.inventory-status.pending_dispatch{border-color:var(--accent);color:var(--text-action)}.inventory-status.completed{border-color:var(--black);background:var(--black);color:var(--text-inverse)}.inventory-status.low,.inventory-status.out,.inventory-status.cancelled,.inventory-status.exception{color:var(--text-secondary)}.logistics-list{display:grid;gap:9px}.logistics-card{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) auto;gap:18px;align-items:center;width:100%;padding:15px;border:1px solid var(--gray);border-radius:0;background:var(--white);color:var(--text-primary);text-align:left}.logistics-card:hover{background:rgba(36,87,255,.06);color:var(--text-primary);filter:none}.logistics-card span{display:grid}.logistics-card small{color:var(--text-secondary)}.logistics-detail{margin-top:24px;padding-top:24px;border-top:1px solid var(--gray)}.logistics-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:18px 0 24px}.logistics-detail-head h2{margin:5px 0 10px}.logistics-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--gray)}.logistics-meta>div{padding:14px;background:var(--white)}.logistics-meta dt{color:var(--text-secondary);font-size:var(--type-caption-size)}.logistics-meta dd{margin:5px 0 0}.logistics-lines{padding:22px 0;border-bottom:1px solid var(--gray)}.logistics-lines article{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--gray)}.logistics-lines article>div{display:grid}.inventory-dialog{width:min(820px,calc(100% - 32px));max-height:92vh}.inventory-dialog form{display:grid;gap:14px}.inventory-dialog .wide{grid-column:1/-1}.change-preview{padding:13px;border-left:4px solid var(--accent);background:rgba(36,87,255,.06)}.logistics-line-row{display:grid;grid-template-columns:1fr 180px auto;gap:9px;align-items:end;padding:12px;border:1px solid var(--gray)}.logistics-line-row button{margin:0}
@media(max-width:700px){.inventory-logistics-page{width:100%;max-width:100%;overflow-x:hidden}.inventory-tabs button{flex:1}.inventory-head,.logistics-detail-head{align-items:stretch;flex-direction:column}.inventory-actions{display:grid}.inventory-filters{grid-template-columns:1fr 1fr}.inventory-filters label:first-child{grid-column:1/-1}.inventory-table{border:0}.inventory-table-head{display:none}.inventory-row{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;margin-bottom:9px;border:1px solid var(--gray);padding:14px}.inventory-row span:first-child,.inventory-row span:nth-child(2){grid-column:1/-1}.inventory-row span:nth-child(n+3){font-size:var(--type-caption-size)}.inventory-row span:last-child{grid-column:2;grid-row:1}.logistics-card{grid-template-columns:1fr auto;gap:7px 10px}.logistics-card span:nth-child(2){grid-column:1/-1}.logistics-card em{grid-column:2;grid-row:1}.logistics-meta{grid-template-columns:1fr}.logistics-lines article{align-items:flex-start;flex-direction:column}.inventory-dialog{width:calc(100% - 18px);max-height:95vh}.inventory-dialog .form-grid,.logistics-line-row{grid-template-columns:1fr}.inventory-dialog .wide{grid-column:auto}}
