:root{font-family:'Segoe UI','Microsoft YaHei',sans-serif;font-size:14px;color:#26364b;background:#f4f6fa;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button,input,textarea,select{border-radius:7px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #86aff2;outline-offset:2px}button{padding:9px 14px;border:1px solid #d8e0ed;background:#fff;color:#294365}button:hover{background:#edf3fc}button:disabled{opacity:.5;cursor:wait}.primary{background:#2859a5;color:#fff;border-color:#2859a5}.primary:hover{background:#1d478a}.danger{color:#ad3535}.ghost{border-color:transparent;background:transparent}.link{padding:0;border:0;background:none;color:#2859a5;text-align:left}a{color:#2859a5;text-decoration:none}input,textarea,select{border:1px solid #d5ddec;background:#fff;color:#25374e;padding:9px 10px;width:100%;min-width:0}textarea{min-height:95px;resize:vertical}label{display:block;color:#546277;font-size:13px}label>input,label>textarea,label>select{display:block;margin-top:6px}input[type=checkbox]{width:auto}h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.5px}h2{font-size:18px;font-weight:600;margin:0 0 15px}h3{font-size:15px;margin:0 0 8px}p{line-height:1.75;margin:8px 0}.muted{color:#738198;font-size:13px}.small{font-size:12px}.app-shell{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:100vh}.sidebar{background:#162a43;color:#d7e2f1;display:flex;flex-direction:column;padding:26px 14px;gap:24px}.brand{font-size:16px;display:flex;gap:10px;align-items:center;color:#fff;font-weight:600;padding:0 9px}.mark{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:#3d6bac;display:grid;place-items:center}.side-caption{font-size:11px;letter-spacing:2px;color:#8296b2;margin:0 12px 9px}.nav{display:flex;flex-direction:column;gap:4px}.nav button{background:transparent;border:0;color:#c0cfe2;text-align:left;display:flex;align-items:center;gap:11px;padding:12px}.nav button.active{background:#294568;color:white}.nav-icon{font-size:18px;width:20px;text-align:center}.profile{margin-top:auto;border-top:1px solid #34475e;padding-top:17px}.profile .muted{color:#a9bad0}.profile button{color:#c5d5ea;background:transparent;border-color:#3f5573;margin-top:10px;font-size:12px}.main-area{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 30px;border-bottom:1px solid #e1e7ef;background:#fff;gap:12px;flex-wrap:wrap}.connection{font-size:12px;color:#407552}.connection.offline{color:#ac3d33}.workspace{padding:30px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:23px;flex-wrap:wrap}.page-head p{margin-bottom:0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.search{display:flex;gap:9px;margin-bottom:20px}.search input{max-width:520px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:18px}.tile{background:#fff;border:1px solid #dfe6ef;border-radius:11px;overflow:hidden;min-width:0}.tile-click{padding:0;text-align:left;width:100%;border:0;border-radius:0;display:block;color:inherit;background:#fff}.tile-click:hover{background:#f8faff}.picture{width:100%;height:177px;object-fit:contain;background:#fff;display:block}.placeholder{height:177px;background:#edf2f9;color:#7c8fa9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.placeholder .big-icon{font-size:36px;color:#8b9bb1}.tile-body{padding:16px}.tile-body h3{overflow-wrap:anywhere}.tile-actions{padding:0 14px 14px;display:flex;gap:7px;flex-wrap:wrap}.tile-actions button{padding:6px 9px;font-size:12px}.tag{display:inline-block;padding:3px 8px;border-radius:5px;color:#42638d;background:#edf3fc;font-size:12px}.tag.pending{background:#fff4dc;color:#946822}.tag.rejected{background:#ffeded;color:#a34242}.tag.approved{background:#e7f4ed;color:#2e7352}.panel{border:1px solid #e0e6ef;background:#fff;border-radius:10px;padding:21px;margin-top:20px;min-width:0}.empty{padding:50px 15px;text-align:center;color:#8090a6}.empty p{max-width:480px;margin:10px auto}.crumbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;align-items:center;font-size:13px;color:#8490a1}.notice{padding:12px 15px;background:#eaf1fc;border-radius:7px;color:#496386;font-size:13px;margin:15px 0}.notice.warning{background:#fff2df;color:#86602f}.tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #dce3ef;margin:22px 0 18px;padding-bottom:12px}.tabs button{border:0;background:transparent;color:#6b7c91}.tabs button.active{background:#e1ebfa;color:#2658a4}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px;border-bottom:1px solid #e5eaf1;text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;min-width:100px}th{background:#f4f7fb;color:#65758c;font-weight:500}td .row{white-space:normal}.prose{white-space:pre-wrap;line-height:1.9;overflow-wrap:anywhere}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin:24px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fields .full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;flex-wrap:wrap}.auth{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(at 20% 20%,#dfe9f8,#f4f6fa 65%)}.auth-box{background:white;border:1px solid #dce3ee;border-radius:16px;padding:38px;width:min(440px,100%);box-shadow:0 18px 50px #1939630c}.auth-box .brand{color:#1f3655;padding:0;margin-bottom:25px}.auth-box .mark{color:#fff}.auth-box label{margin-top:16px}.auth-box button[type=submit]{width:100%;margin-top:24px}.auth-box h1{font-size:22px}.error{color:#b2443e;white-space:pre-wrap;font-size:13px;margin-top:12px}.loading{padding:100px;text-align:center;color:#6b7e99}dialog{border:1px solid #d2dcea;border-radius:13px;padding:26px;width:min(760px,94vw);max-height:90vh;color:#26364b}dialog::backdrop{background:#162a4380}dialog.wide{width:min(1150px,96vw)}dialog .dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}dialog h2{margin:0}dialog .close{padding:3px 9px;font-size:20px;border:0}.editor-table textarea{min-width:130px;min-height:65px;font-size:13px}.editor-table input{min-width:120px}.editor-table td,.editor-table th{padding:5px}.editor-table .remove{min-width:30px;padding:5px}.section-label{margin:22px 0 9px;font-weight:500;font-size:14px}.image-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:260px;overflow:auto}.image-pick{padding:8px;border:1px solid #e1e7f0;border-radius:7px}.image-pick img{width:100%;height:74px;object-fit:contain}.image-pick input{margin:0 5px 0 0}.full-image{max-width:100%;max-height:65vh;object-fit:contain;display:block;margin:auto;background:#fff}.audit-item{padding:16px 0;border-bottom:1px solid #e1e8f1}.audit-item summary{cursor:pointer}.audit-json{max-height:300px;overflow:auto;white-space:pre-wrap;background:#f5f7fb;padding:12px;font-size:12px;overflow-wrap:anywhere}.steps{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.step{padding:7px 10px;border-radius:6px;background:#f0f3f8;color:#8895a7;font-size:12px}.step.current{background:#dceafb;color:#255693}.progress-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.storage{width:100%;height:12px;accent-color:#3066ad}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.break{overflow-wrap:anywhere}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#263c58;color:#fff;padding:12px 20px;border-radius:9px;z-index:20;max-width:90%;display:none;box-shadow:0 8px 20px #0002}#toast.show{display:block}.offline-banner{padding:10px 20px;background:#fff0df;color:#8a5730;border-bottom:1px solid #efdcc4}.hidden{display:none!important}.cover-preview{height:130px;width:100%;object-fit:contain}.checkbox-line{display:flex;gap:8px;align-items:center}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary-box{padding:18px;background:#fff;border:1px solid #e1e8ef;border-radius:9px}.summary-box strong{font-size:23px;font-weight:500;display:block;margin-top:5px}
@media(max-width:900px){.app-shell{grid-template-columns:165px minmax(0,1fr)}.workspace{padding:22px}.brand{font-size:15px}.sidebar{padding:22px 10px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:640px){.app-shell{display:block}.sidebar{padding:15px;gap:13px}.nav{flex-direction:row;flex-wrap:wrap}.nav button{padding:8px}.side-caption,.profile{display:none}.topbar{padding:12px 17px}.workspace{padding:18px}.fields{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.picture,.placeholder{height:130px}.tile-body{padding:12px}h1{font-size:22px}.panel{padding:15px}dialog{padding:18px}.auth-box{padding:24px}}
@media(max-width:380px){.cards{grid-template-columns:1fr}}
