:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#1f2937;background:#f4f5f8;--ink:#172033;--muted:#697386;--purple:#6556d9;--line:#e5e7eb;--panel:#fff;--shadow:0 8px 28px rgba(21,31,52,.07)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f4f5f8}a{color:inherit}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#151b2b;color:#d8dceb;padding:24px 18px;display:flex;flex-direction:column}.brand-lockup{display:flex;align-items:center;gap:11px;text-decoration:none;padding:0 7px 26px}.brand-lockup strong,.brand-lockup small{display:block}.brand-lockup small{color:#9ca6ba;margin-top:2px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#7c6ce7,#42b7e8);font-weight:800;color:white}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;border-radius:9px;color:#abb3c7;font-size:.93rem}.sidebar nav a span{font-size:1.15rem;width:18px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:#252c41;color:white}.sidebar-foot{margin-top:auto;padding:15px 11px;border-top:1px solid #30374b}.sidebar-foot p{font-size:.82rem;margin:0 0 5px;color:#d8dceb}.sidebar-foot small{color:#8892aa;line-height:1.35;display:block}.workspace{min-width:0}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:0 28px;color:var(--muted);font-size:.88rem;position:sticky;top:0;z-index:5}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#31a46c;margin-right:6px}.user-name{color:var(--ink);font-weight:600;margin-left:auto}.link-button{border:0;background:none;color:var(--purple);cursor:pointer;padding:5px}.content{padding:30px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:24px}.page-head h1{font-size:1.65rem;margin:0 0 7px;color:var(--ink);letter-spacing:-.025em}.page-head p{margin:0;color:var(--muted);max-width:760px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button,button.button{border:0;border-radius:8px;background:var(--purple);color:#fff;padding:10px 15px;font-weight:650;text-decoration:none;cursor:pointer;font-size:.9rem}.button.secondary{background:#fff;color:#374151;border:1px solid #d8dce5}.button.danger{background:#b42318}.button:disabled{opacity:.55;cursor:not-allowed}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:20px}.panel h2{font-size:1.08rem;margin:0 0 16px}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px}.stat small{display:block;color:var(--muted);margin-bottom:8px}.stat strong{font-size:1.65rem;color:var(--ink)}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:10px}.data-table td{padding:12px 10px;border-bottom:1px solid #eef0f4;vertical-align:top}.data-table tr:last-child td{border:0}.data-table a{font-weight:650;text-decoration:none;color:#3730a3}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:700;white-space:nowrap}.badge:before{content:'●';font-size:.55rem}.risk-low{background:#e9f8ef;color:#177448}.risk-review{background:#fff7da;color:#8a5d00}.risk-high{background:#feeceb;color:#a6281f}.risk-manual{background:#f2ebff;color:#7042b5}.risk-error{background:#eef0f3;color:#4b5563}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.field{display:grid;gap:6px}.field label,.field>span{font-size:.8rem;font-weight:650;color:#525d70}.field input,.field select,.field textarea,.filters input,.filters select{border:1px solid #d8dce5;background:#fff;border-radius:8px;padding:9px 10px;color:var(--ink);min-width:150px}.field textarea{min-height:95px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.drop-zone{display:grid;place-items:center;min-height:240px;border:2px dashed #b9b4ef;border-radius:14px;background:#f8f7ff;text-align:center;padding:28px;position:relative;cursor:pointer}.drop-zone:hover{border-color:var(--purple);background:#f1efff}.drop-zone input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.drop-zone .upload-icon{font-size:2.4rem;color:var(--purple)}.drop-zone strong{font-size:1.08rem;margin:10px}.drop-zone small{color:var(--muted)}.upload-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.preview{max-width:100%;max-height:300px;border-radius:10px;margin-top:15px}.notice{border-radius:9px;padding:12px 14px;margin:12px 0;background:#eef5ff;color:#24538a;font-size:.88rem}.notice.success{background:#e9f8ef;color:#177448}.notice.error{background:#feeceb;color:#98251e}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:17px}.creative-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none}.creative-card .thumb{height:190px;background:linear-gradient(135deg,#eef0f5,#e6e1fa);display:grid;place-items:center}.creative-card img{width:100%;height:100%;object-fit:contain}.creative-card .meta{padding:14px}.creative-card h3{margin:0 0 8px;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creative-card p{font-size:.78rem;color:var(--muted);margin:7px 0}.card-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.detail-grid{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(400px,.95fr);gap:22px}.image-stage{background:#202534;border-radius:12px;min-height:480px;display:grid;place-items:center;overflow:auto;position:relative}.image-wrap{position:relative;display:inline-block;line-height:0;transition:width .2s}.image-wrap img{display:block;width:100%;height:auto}.bbox{position:absolute;border:2px solid #ffcf33;background:rgba(255,207,51,.12);pointer-events:none}.zoom-row{display:flex;gap:10px;align-items:center;margin-bottom:10px}.finding{border:1px solid var(--line);border-left:4px solid #f0b429;border-radius:8px;padding:14px;margin:12px 0}.finding.high{border-left-color:#d13b32}.finding h3{margin:0 0 8px;font-size:.95rem}.finding p{font-size:.85rem;line-height:1.45;margin:6px 0}.finding .evidence{background:#f7f8fa;border-radius:6px;padding:8px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:15px}.tabs button{border:0;background:none;padding:9px 11px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--purple);border-color:var(--purple);font-weight:650}.empty{padding:35px;text-align:center;color:var(--muted)}.category-list{display:grid;gap:10px}.category-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.bar{height:7px;background:#eef0f4;border-radius:10px;overflow:hidden;margin-top:5px}.bar i{display:block;height:100%;background:var(--purple)}code{background:#eef0f4;padding:2px 5px;border-radius:4px}.sr-note{font-size:.8rem;color:var(--muted)}#blazor-error-ui{background:#b42318;bottom:0;box-shadow:0 -1px 3px rgba(0,0,0,.2);display:none;left:0;padding:.8rem 1.25rem;position:fixed;width:100%;z-index:1000;color:white}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.detail-grid,.upload-layout{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-foot{display:none}.topbar{position:relative}.content{padding:20px 14px}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.page-head{display:block}.page-head .actions{margin-top:15px}}
