:root{color-scheme:light;--canvas:#f8f7f4;--surface:#fff;--surface-subtle:#f4f2ed;--ink:#292a27;--muted:#73726a;--border:#e5e2db;--border-strong:#cbc7bd;--primary:#a74930;--primary-hover:#863620;--primary-soft:#f6e8e1;--danger:#a33339;--danger-soft:#fcebee;--amber:#845d21;--amber-soft:#f9edcf;--success:#3f6752;--radius:10px;--shadow-dialog:0 24px 100px #191d2340;--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;--mono:ui-monospace,"SFMono-Regular",Menlo,monospace}
*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;color:var(--ink);font:14px/1.6 var(--font);background:var(--canvas)}h1,h2,h3,p{margin:0}button,input,select,textarea{color:inherit;font:inherit}button,select,input[type=file],summary,a{cursor:pointer}button:disabled,input:disabled,select:disabled{opacity:.55;cursor:not-allowed}a{color:inherit}button{transition:background-color 180ms,color 180ms,border-color 180ms}svg{width:18px;height:18px;stroke-width:1.7;flex-shrink:0}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 16px;background:var(--ink);color:white;transform:translateY(-150%)}.skip-link:focus{transform:none}
.workspace-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.workspace-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:34px 20px 24px;background:#252923;color:#eeeae1}.brand-block{display:flex;gap:12px;align-items:center;text-decoration:none;padding:0 4px}.brand-mark{display:grid;place-items:center;width:38px;height:42px;border:1px solid #77786d;border-radius:10px;color:#e6b493}.brand-mark svg{width:24px;height:24px}.brand-block strong{font:600 21px/1.2 Georgia,serif;letter-spacing:-.5px}.brand-dot{color:#dc9a78}.brand-block small{display:block;margin-top:5px;color:#babdb3;font-size:11px;letter-spacing:2px}.sidebar-caption{display:block;margin:48px 14px 14px;color:#b6b9ad;font-size:11px;letter-spacing:1.5px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;min-height:48px;margin-bottom:6px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:#c4c8bb;text-align:left}.nav-item:hover{background:#343a30;color:white}.nav-item.active{background:#3b4437;color:#fff}.nav-item.active::after{content:"";width:5px;height:5px;margin-left:auto;border-radius:50%;background:#e0ad8c}.admin-navigation .sidebar-caption{margin-top:28px}.sidebar-note{margin:auto 10px 36px;padding-top:52px;color:#d6d8ce}.sidebar-note svg{width:28px;height:28px;color:#a3ad97;margin-bottom:14px}.sidebar-note p{font-size:13px}.sidebar-note>span{display:block;margin-top:8px;color:#aab19f;font-size:11px;letter-spacing:2px}.sidebar-footer{border-top:1px solid #454b3f;padding:18px 10px 0}.health-status{display:flex;align-items:center;gap:8px;color:#c3c8b8;font-size:12px}.health-status>span{width:6px;height:6px;border-radius:50%;background:#c4a269}.health-status.ready>span{background:#9eb997}.health-status.error>span{background:#e59788}.edition-label{display:block;margin-top:12px;color:#aab19f;font-size:8px;letter-spacing:1.2px}.workspace-main{min-width:0;padding:0 48px 30px}.topbar{display:flex;min-height:96px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.breadcrumb{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px}.breadcrumb>span{color:#b6b3aa}.breadcrumb strong{color:var(--ink);font-weight:500}.topbar-actions,.collection-actions,.view-switch{display:flex;align-items:center;gap:10px}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;border:1px solid transparent;border-radius:8px;font-weight:550;text-decoration:none;white-space:nowrap}.button{padding:0 16px}.button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.button.primary:hover{background:var(--primary-hover)}.button.secondary,.icon-button{color:var(--ink);border-color:var(--border);background:var(--surface)}.button.secondary:hover,.icon-button:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.icon-button{width:44px;height:44px;flex-shrink:0;padding:0}.view-section{max-width:1480px;margin:0 auto}.library-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:50px 0 44px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--primary)}.library-intro h1{font-size:36px;font-weight:550;line-height:1.45;letter-spacing:-1.5px;margin-top:12px}.library-intro h1 span{font-family:Georgia,"Songti SC",serif;font-weight:400;margin-left:5px}.intro-description{margin-top:14px;color:var(--muted);font-size:13px}.library-emblem{display:flex;align-items:center;gap:24px;margin-right:20px;color:#797b6d}.library-emblem svg{width:72px;height:72px;stroke-width:.65;transform:rotate(-10deg)}.library-emblem span{font:italic 17px/1.5 Georgia,serif}.collection-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.collection-heading>div:first-child{display:flex;align-items:center;gap:14px}.collection-heading h2{font-size:18px;font-weight:600}.collection-heading #report-count{font-size:12px;color:var(--muted)}.collection-actions{gap:16px}.collection-actions>.icon-button{border:0;background:transparent}.view-switch{gap:2px;padding:3px;border:1px solid var(--border);border-radius:9px;background:#eeece6}.view-switch .icon-button{border:0;background:transparent}.view-switch .icon-button.active{background:white;box-shadow:0 1px 4px #24281f12}.view-switch .icon-button svg{width:17px;height:17px}.search-row{display:flex;gap:10px}.search-field{position:relative;display:block;flex:1;min-width:0}.search-field svg{position:absolute;left:16px;top:14px;color:var(--muted)}input,select,textarea{min-width:0;max-width:100%;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface)}textarea{resize:vertical;min-height:90px}.search-field input{border-color:var(--border);padding-left:44px;height:46px}.search-field input::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.advanced-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:16px;padding:20px;margin-top:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.advanced-filters label,.form-field{display:flex;min-width:0;flex-direction:column;gap:7px}.field-label,.form-field>span{font-weight:550;font-size:12px;color:#595b51}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px}.category-chip{min-height:44px;padding:0 16px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:12px}.category-chip:hover{background:#ece9e1}.category-chip.active{background:var(--ink);color:white}.reports-collection{min-height:320px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.report-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:box-shadow 180ms,border-color 180ms}.report-card:hover{border-color:#c7c1b4;box-shadow:0 7px 24px #35301f0c}.card-cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:24px;overflow:hidden;background:#ebeadd;color:#3d493a;text-decoration:none}.card-cover::after{content:"";position:absolute;right:-20px;bottom:-44px;width:154px;height:154px;border:1px solid currentColor;border-radius:50%;opacity:.15;box-shadow:0 0 0 18px #ffffff20,0 0 0 38px #ffffff20}.cover-1{background:#f1e1d7;color:#834b36}.cover-2{background:#dde7e8;color:#3a5b63}.cover-3{background:#e5e1ed;color:#665579}.cover-4{background:#eae5d8;color:#746039}.cover-5{background:#e0e7dc;color:#496046}.cover-label{position:relative;z-index:1;font-size:9px;letter-spacing:2px;text-transform:uppercase}.cover-title{position:relative;z-index:1;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font:500 24px/1.4 Georgia,"Songti SC",serif;letter-spacing:-.4px;margin:20px 0}.cover-bottom{display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);letter-spacing:1px}.cover-bottom svg{width:18px;height:18px}.card-body{padding:20px}.card-meta{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px;color:var(--muted);font-size:11px}.card-title{display:block;min-height:44px;font-size:15px;font-weight:600;text-decoration:none;overflow-wrap:anywhere}.card-title:hover{color:var(--primary)}.card-description{color:var(--muted);font-size:12px;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.card-footer time{font-size:11px;color:var(--muted)}.card-footer .icon-button{border:0;color:var(--muted)}.library-footer{display:flex;justify-content:space-between;gap:20px;padding:36px 0 4px;margin-top:32px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;letter-spacing:1px}.library-footer>span:first-child{font:12px Georgia,serif;letter-spacing:2px}
.table-shell{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.data-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table th,.data-table td{padding:15px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;overflow-wrap:anywhere}.data-table th{font-size:11px;color:var(--muted);font-weight:500;background:var(--surface-subtle)}.data-table tbody tr:last-child td{border:0}.data-table tbody tr:hover{background:#faf9f6}.reports-table th:first-child{width:27%}.reports-table th:last-child{width:115px}.primary-cell strong,.primary-cell span,.truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-cell span,.cell-support{color:var(--muted);font-size:11px}.primary-cell strong{font-weight:550}.mono{font-family:var(--mono);font-size:12px}.tag-list{display:flex;flex-wrap:wrap;gap:5px}.tag,.kind-badge,.status-badge{display:inline-flex;max-width:100%;padding:3px 8px;border-radius:5px;background:var(--surface-subtle);color:#66665a;font-size:11px;overflow-wrap:anywhere}.tag{background:#edf1ed;color:#536454}.status-badge.active,.status-badge.published{background:#edf3ec;color:var(--success)}.status-badge.archived,.status-badge.disabled{background:var(--amber-soft);color:var(--amber)}.status-badge.revoked{background:var(--danger-soft);color:var(--danger)}.row-actions{display:flex;justify-content:flex-end;gap:8px}.empty-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:330px;text-align:center;color:var(--muted);padding:32px 20px}.empty-state h3{font-size:22px;color:var(--ink);font-weight:500}.empty-state>p:not(.eyebrow){max-width:420px;font-size:13px;overflow-wrap:anywhere}.empty-state .button{margin-top:8px}.empty-illustration{display:grid;place-items:center;width:88px;height:88px;border-radius:24px;background:#ecece2;margin-bottom:4px;transform:rotate(-6deg);color:#7b836c}.empty-illustration svg{width:42px;height:42px;stroke-width:1.1}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 700ms linear infinite}.pagination{display:flex;align-items:center;justify-content:space-between;padding-top:24px;color:var(--muted);font-size:12px}.pagination>div{display:flex;gap:8px}.section-heading{padding-top:44px}.section-heading h2{font-size:26px;font-weight:500}.section-heading p{color:var(--muted);font-size:12px;margin-top:6px}.dialog-header,.dialog-actions,.detail-toolbar,.inline-form,.token-result{display:flex;align-items:center}.dialog-header p{color:var(--muted);font-size:12px;margin-top:6px}.file-drop{padding:24px;text-align:center;align-items:center;border:1px dashed var(--border-strong);border-radius:12px;background:var(--surface-subtle)}.file-drop>svg{height:30px;width:30px;color:var(--primary)}.file-drop input{background:white}.form-field small{color:var(--muted);font-size:11px}.upload-advanced{grid-column:1/-1;border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.upload-advanced summary{min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:12px}.upload-advanced summary::before{content:"+";margin-right:10px}.upload-advanced[open] summary::before{content:"−"}.version-info span{display:block;overflow-wrap:anywhere}.dialog{color:var(--ink)}.dialog-header h2{font-size:22px!important;font-weight:500}.dialog .button{font-size:13px}.form-error{overflow-wrap:anywhere}.version-info{overflow:hidden}.dialog input,.dialog select,.dialog textarea{font-size:16px}.dialog-actions .button{min-height:44px}

.dialog {
    width: min(720px, calc(100vw - 32px));
    max-height: min(840px, calc(100vh - 32px));
    padding: 0;
    overflow: auto;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow-dialog);
}

.dialog.narrow {
    width: min(460px, calc(100vw - 32px));
}

.detail-dialog {
    width: min(880px, calc(100vw - 32px));
}

.dialog::backdrop {
    background: rgb(17 29 26 / 42%);
    backdrop-filter: blur(2px);
}

.dialog > form,
.dialog > .dialog-header,
.dialog > .detail-toolbar,
.dialog > .detail-metadata,
.dialog > h3,
.dialog > .version-list,
.dialog > .inline-form,
.dialog > .token-result,
.dialog > .token-table-shell {
    margin-right: 20px;
    margin-left: 20px;
}

.dialog > form {
    margin-top: 20px;
    margin-bottom: 20px;
}

.dialog > form > .dialog-header {
    margin: 0 0 20px;
}

.dialog-header {
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border);
}

.dialog > .dialog-header {
    margin-top: 20px;
}

.dialog-header h2 {
    font-size: 17px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.form-field {
    margin-bottom: 14px;
}

.form-grid .form-field {
    margin-bottom: 0;
}

.form-field.full {
    grid-column: 1 / -1;
}

.form-error {
    padding: 9px 10px;
    margin-top: 14px;
    border: 1px solid #e7bfc2;
    border-radius: var(--radius);
    background: var(--danger-soft);
    color: var(--danger);
    font-size: 12px;
}

.dialog-actions {
    justify-content: flex-end;
    gap: 8px;
    padding-top: 18px;
    margin-top: 18px;
    border-top: 1px solid var(--border);
}

.upload-progress {
    height: 4px;
    margin-top: 14px;
    overflow: hidden;
    border-radius: 2px;
    background: var(--border);
}

.upload-progress span {
    display: block;
    width: 42%;
    height: 100%;
    background: var(--primary);
    animation: upload-progress 1.3s ease-in-out infinite alternate;
}

.inline-form {
    gap: 8px;
    margin-top: 16px;
    margin-bottom: 14px;
}

.inline-form input {
    flex: 1;
}

.token-result {
    gap: 8px;
    padding: 10px;
    margin-bottom: 14px;
    border: 1px solid #ebcf92;
    border-radius: var(--radius);
    background: var(--amber-soft);
}

.token-result code {
    min-width: 0;
    flex: 1;
    overflow-wrap: anywhere;
    font-family: var(--mono);
    font-size: 12px;
}

.token-table-shell {
    margin-bottom: 20px;
}

.detail-toolbar {
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.detail-version-picker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-right: auto;
    color: var(--muted);
    font-size: 12px;
    font-weight: 650;
}

.detail-version-picker select {
    min-width: 120px;
    min-height: 44px;
}

.detail-metadata {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--border);
}

.detail-metadata > div {
    min-width: 0;
    padding: 10px;
    background: var(--surface-subtle);
}

.detail-metadata dt {
    color: var(--muted);
    font-size: 11px;
}

.detail-metadata dd {
    margin: 3px 0 0;
    overflow: hidden;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dialog > h3 {
    margin-top: 20px;
    font-size: 14px;
}

.version-list {
    margin-top: 10px;
    margin-bottom: 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.version-row {
    display: grid;
    min-height: 54px;
    align-items: center;
    gap: 10px;
    grid-template-columns: 70px minmax(0, 1fr) 140px auto;
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
}

.version-row:last-child {
    border-bottom: 0;
}

.version-row .version-number {
    font-family: var(--mono);
    font-weight: 700;
}

.version-row .version-info {
    min-width: 0;
    color: var(--muted);
    font-size: 12px;
}

.version-row .version-info strong {
    display: block;
    overflow: hidden;
    color: var(--ink);
    font-family: var(--mono);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.toast-region {
    position: fixed;
    z-index: 80;
    right: 18px;
    bottom: 18px;
    display: flex;
    width: min(360px, calc(100vw - 36px));
    flex-direction: column;
    gap: 8px;
}

.toast {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius);
    background: #20302c;
    box-shadow: 0 10px 28px rgb(20 34 30 / 22%);
    color: white;
}

.toast.error {
    border-color: #d98e94;
    background: #7f3035;
}

.toast p {
    flex: 1;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

@keyframes upload-progress {
    from { transform: translateX(-20%); }
    to { transform: translateX(150%); }
}

@media(min-width:1600px){.workspace-main{padding-inline:64px}.report-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1180px){.workspace-shell{grid-template-columns:206px minmax(0,1fr)}.workspace-sidebar{padding-inline:16px}.workspace-main{padding-inline:30px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-emblem{display:none}.advanced-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-table th:nth-child(3),.reports-table td:nth-child(3){display:none}}
@media(max-width:760px){.workspace-shell{display:block}.workspace-sidebar{position:static;height:auto;padding:20px 20px 12px}.brand-block strong{font-size:22px}.workspace-sidebar>.sidebar-caption,.sidebar-note,.sidebar-footer{display:none}.workspace-nav{display:flex;overflow-x:auto;gap:8px;margin-top:20px}.nav-item{min-width:100px;width:auto;flex-shrink:0;margin:0;justify-content:center;padding:0 12px}.nav-item.active::after{display:none}.admin-navigation{display:contents}.admin-navigation .sidebar-caption{display:none}.workspace-main{padding:0 20px 24px}.topbar{min-height:82px;gap:8px}.breadcrumb{font-size:11px;gap:8px}.topbar-actions{gap:8px}.topbar-actions .button{padding-inline:12px;font-size:12px}.topbar-actions #button-admin{width:44px;padding:0}.topbar-actions #button-admin span{display:none}.library-intro{padding:34px 0}.library-intro h1{font-size:29px;letter-spacing:-1px}.intro-description{font-size:12px;max-width:300px;line-height:1.8}.collection-heading{gap:10px;margin-bottom:16px}.collection-heading>div:first-child{align-items:flex-start;flex-direction:column;gap:2px}.collection-actions{gap:4px}.report-grid{gap:18px}.advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:14px}.search-row{flex-wrap:wrap;gap:8px}.search-field{flex-basis:100%}.search-row>.button{flex:1}.category-tabs{gap:4px;margin:16px 0 20px}.category-chip{padding-inline:12px}.library-footer{font-size:9px;gap:12px}.table-shell{width:100%;max-width:100%;overflow-x:auto}.data-table{min-width:640px}.reports-table{min-width:580px}.form-grid,.detail-metadata{grid-template-columns:1fr}.version-row{grid-template-columns:40px minmax(0,1fr) auto}.version-row>time{display:none}.dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 32px);border-radius:14px}.dialog>form,.dialog>.dialog-header,.dialog>.detail-toolbar,.dialog>.detail-metadata,.dialog>h3,.dialog>.version-list,.dialog>.inline-form,.dialog>.token-result,.dialog>.token-table-shell{margin-left:18px;margin-right:18px}.dialog .token-table-shell{width:auto}.detail-toolbar>*{max-width:100%}.detail-version-picker{flex-wrap:wrap}.inline-form{align-items:stretch;flex-direction:column}.empty-state{min-height:340px;padding-inline:8px}.empty-state h3{font-size:21px}.section-heading h2{font-size:22px}}
@media(max-width:520px){.report-grid{grid-template-columns:minmax(0,1fr)}.card-cover{min-height:186px}.card-body{padding:18px 20px}.card-title{min-height:auto}.card-description{min-height:auto}.topbar .breadcrumb>span,.topbar .breadcrumb>strong{display:none}.library-intro h1{font-size:28px}.collection-heading #report-count{font-size:11px}.search-row>.button{font-size:12px}.category-chip{font-size:12px}.dialog-actions{flex-wrap:wrap}.form-grid{gap:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
