
:root{--bg:#0e1116;--panel:#161b22;--panel2:#1d2530;--line:rgba(255,255,255,.08);--text:#f5f7fb;--muted:#98a2b3;--gold:#f4c045;--gold2:#ffd978;--ok:#3ddc97;--warn:#ffcf65;--bad:#ff6b6b;--radius:22px}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at top,#1a2230 0%,var(--bg) 60%);color:var(--text)} button,input,select{font:inherit} a{color:inherit}
button{border:0;border-radius:16px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111;font-weight:900;padding:14px 18px;cursor:pointer} button.secondary{background:#242d39;color:var(--text);border:1px solid var(--line)} button.full{width:100%} button:disabled{opacity:.5;cursor:not-allowed}
.app-shell{display:grid;grid-template-columns:320px 1fr;min-height:100vh}.sidebar{padding:24px;background:rgba(11,14,20,.72);backdrop-filter:blur(12px);border-right:1px solid var(--line)} .main-grid{padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card,.panel,.auth-card{background:rgba(22,27,34,.92);border:1px solid var(--line);border-radius:28px;box-shadow:0 16px 42px rgba(0,0,0,.25)} .card{padding:22px}.panel{padding:18px}.panel.compact{margin-top:16px}.panel.center{text-align:center}
.brand{font-weight:900;letter-spacing:.04em}.brand span{color:var(--gold)}.brand.big{font-size:1.8rem}.muted{color:var(--muted);line-height:1.55}.tiny{color:var(--muted);font-size:.84rem;line-height:1.5}.panel-title{text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.big-value,.session-code{font-size:1.6rem;font-weight:900}
.card-header h1,.card-header h2,.card-header h3{margin:0 0 8px}.between{display:flex;justify-content:space-between;align-items:center;gap:14px}.span-2{grid-column:span 2}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.capture-grid,.result-grid,.client-info-grid,.client-actions{display:grid;grid-template-columns:1.25fr .85fr;gap:18px}.client-info-grid,.client-actions{grid-template-columns:1fr 1fr}
.camera-box,.result-box,.client-result-wrap{background:var(--panel2);border:1px solid var(--line);border-radius:24px;min-height:340px;overflow:hidden;display:flex;align-items:center;justify-content:center} video,img{display:block;width:100%;height:100%;object-fit:cover}
.control-box,.result-actions,.button-row,.button-col,.form-grid,.link-box,.list{display:grid;gap:12px}.button-row{grid-template-columns:repeat(3,1fr)} .style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.style-card{padding:0;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:18px;overflow:hidden}.style-card img{height:140px}.style-card span{display:block;padding:12px;font-weight:800}.style-card.selected{outline:2px solid var(--gold);transform:translateY(-2px)}
.upload-wrap{display:block;border:1px dashed rgba(255,255,255,.2);border-radius:16px;padding:18px;text-align:center;color:var(--muted);cursor:pointer}.upload-wrap input{display:none}.field{display:grid;gap:8px}.field span{font-size:.9rem;color:var(--muted)} .field input,.field select,.link-box input{min-height:50px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:0 14px;width:100%}.check{display:flex;align-items:center;gap:10px;color:var(--text)}
.badge{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;min-height:42px;border-radius:999px;font-weight:900}.badge.idle{background:rgba(91,167,255,.18);color:#99c7ff}.badge.ok{background:rgba(61,220,151,.18);color:#8bf0c1}.badge.reject{background:rgba(255,107,107,.18);color:#ff9b9b}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);padding:28px}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.tab{background:#242d39;color:var(--text);border:1px solid var(--line)}.tab.active{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111}.inline-links{display:flex;justify-content:space-between;gap:14px;margin-top:14px;font-size:.92rem;color:var(--muted)}
.client-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px}.client-app{width:min(980px,100%);display:grid;gap:18px}.client-topbar{display:flex;justify-content:space-between;align-items:center;gap:14px}.client-message{text-align:center;color:var(--muted)}
.table-wrap{overflow:auto} table{width:100%;border-collapse:collapse} th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:.94rem} th{color:var(--muted)}
@media print{.sidebar,.button-row,.button-col,.link-box,.client-actions,.upload-wrap,#logoutBtn,#openClientBtn,#newSessionBtn{display:none!important}.app-shell{display:block}.main-grid{display:block;padding:0}.card{background:#fff;color:#111;box-shadow:none;border:0}body{background:#fff;color:#111}}
@media (max-width:980px){.app-shell,.capture-grid,.result-grid,.client-info-grid,.client-actions,.grid4{grid-template-columns:1fr}.main-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.button-row{grid-template-columns:1fr}}
