:root { color-scheme: light; --ink:#17212b; --muted:#6c7782; --line:#dfe5ea; --panel:rgba(255,255,255,.82); --brand:#173e57; --accent:#e97943; --bg:#eef3f6; --radius:18px; font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:radial-gradient(circle at top left,#fff 0,var(--bg) 50%,#e4edf0 100%); min-height:100vh; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; border:0; }
.shell { max-width:1440px; margin:auto; min-height:100vh; padding:28px; }
.glass { background:var(--panel); border:1px solid rgba(255,255,255,.75); box-shadow:0 18px 55px rgba(23,62,87,.1); backdrop-filter:blur(18px); border-radius:var(--radius); }
.login { width:min(880px,calc(100vw - 40px)); min-height:620px; margin:8vh auto; padding:80px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.brand-logo { display:block; width:min(420px,100%); height:auto; margin:0 auto 42px; }
.login h1 { font-size:clamp(20px,3vw,36px); margin-bottom:16px; }
.login form { width:min(100%,620px); }
.login .field { text-align:center; }
.login input { text-align:center; font-size:18px; padding:16px 18px; }
.login .primary { display:block; width:100%; margin:16px auto 0; font-size:18px; padding:16px 24px; }
.login .muted[role="status"] { text-align:center; }
.eyebrow { color:var(--accent); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; } h1 { font-size:clamp(30px,5vw,52px); letter-spacing:-.05em; } h2 { letter-spacing:-.03em; }
.muted { color:var(--muted); }
.field { display:grid; gap:8px; margin:18px 0; } label { font-size:13px; font-weight:650; }
input,select,textarea { width:100%; padding:12px 14px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:12px; outline:none; } input:focus,select:focus,textarea:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(23,62,87,.12); }
.primary { background:var(--brand); color:#fff; padding:12px 18px; border-radius:12px; font-weight:700; } .secondary { background:#fff; color:var(--brand); border:1px solid var(--line); padding:10px 14px; border-radius:10px; } .danger { color:#a33d30; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; } .actions { display:flex; gap:10px; flex-wrap:wrap; }
.workspace { padding:26px; } .toolbar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:22px 0; } .toolbar input { flex:1 1 280px; }
.tabs { display:flex; gap:8px; margin-bottom:14px; } .tab { padding:10px 16px; border-radius:999px; color:var(--muted); background:transparent; } .tab.active { background:var(--brand); color:#fff; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:14px; background:#fff; } table { width:100%; border-collapse:collapse; min-width:840px; } th,td { padding:15px 14px; text-align:left; border-bottom:1px solid #edf0f2; white-space:nowrap; } th { font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; } tr:last-child td { border-bottom:0; } .clickable { cursor:pointer; } .clickable:hover { background:#f7fafb; }
.badge { display:inline-flex; align-items:center; gap:4px; padding:5px 9px; border-radius:999px; background:#f3f6f7; color:var(--muted); font-size:12px; } .hot { background:#fff0e9; color:#b84d23; }
.empty { padding:60px 20px; text-align:center; color:var(--muted); } .footer-nav { display:flex; justify-content:space-between; margin-top:22px; }
.modal { position:fixed; inset:0; display:grid; place-items:center; padding:20px; background:rgba(13,28,39,.32); z-index:4; } .sheet { width:min(900px,100%); max-height:90vh; overflow:auto; padding:28px; } .sheet-head { display:flex; justify-content:space-between; gap:16px; } .grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .span-2 { grid-column:span 2; }
@media (max-width:700px) { .shell { padding:14px; } .workspace { padding:18px; } .login { width:calc(100vw - 28px); min-height:560px; margin:5vh auto; padding:36px 22px; } .brand-logo { margin-bottom:28px; } .grid { grid-template-columns:1fr; } .span-2 { grid-column:auto; } .topbar { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
