:root{--primary:#7c3aed;--primary2:#5b21b6;--secondary:#ec4899;--cyan:#06b6d4;--ink:#141827;--dark:#17122b;--soft:#756b8d;--line:#ece5fb;--bg:#fbf8ff;--card:#ffffff;--ok:#16a34a;--warn:#f59e0b;--danger:#dc2626;--info:#0284c7;--radius:24px;--shadow:0 22px 70px rgba(48,25,80,.12)}
*{box-sizing:border-box}
html{width:100%;min-height:100%;scroll-behavior:smooth;overflow-x:hidden}
body{width:100%;min-height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
a{color:inherit;text-decoration:none}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;max-width:100%}
button{cursor:pointer}
h1,h2,h3,p{overflow-wrap:anywhere}
h1{letter-spacing:-.055em;line-height:1.02}
p{line-height:1.55}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:16px;padding:12px 18px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:900;letter-spacing:-.01em;cursor:pointer;box-shadow:0 14px 36px rgba(124,58,237,.26);transition:transform .2s,filter .2s,box-shadow .2s;white-space:nowrap;text-align:center}
.btn:hover{transform:translateY(-2px);filter:saturate(1.12);box-shadow:0 18px 46px rgba(124,58,237,.32)}
.btn.secondary{background:#fff;color:var(--primary2);border:1px solid var(--line);box-shadow:0 8px 24px rgba(48,25,80,.06)}
.btn.dark{background:#111827;color:#fff;box-shadow:0 14px 36px rgba(17,24,39,.18)}
.btn.danger{background:linear-gradient(135deg,#ef4444,#be123c)}
.btn.ok{background:linear-gradient(135deg,#22c55e,#15803d)}
.btn.small{min-height:38px;padding:8px 13px;border-radius:13px;font-size:13px}
.btn.block{width:100%}
.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;min-width:0}
.card.tight{padding:16px}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start;width:100%}
.col-12{grid-column:span 12}.col-9{grid-column:span 9}.col-8{grid-column:span 8}.col-7{grid-column:span 7}.col-6{grid-column:span 6}.col-5{grid-column:span 5}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}
.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px;align-items:end;width:100%}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field label{font-weight:900;font-size:13px;color:#44325f;letter-spacing:-.01em}
.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px 14px;outline:0;transition:.2s;color:#1f2937;box-shadow:0 2px 0 rgba(124,58,237,.02)}
.field textarea{min-height:116px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#a78bfa;box-shadow:0 0 0 4px rgba(124,58,237,.12)}
.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:20px;background:#fff}
table{width:100%;border-collapse:collapse;min-width:720px}
th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);background:#fffaff;white-space:nowrap}
tr:hover td{background:#fdf7ff}
.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:capitalize;white-space:nowrap}
.badge-ok{background:#dcfce7;color:#166534}.badge-warn{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.badge-muted{background:#f1f5f9;color:#475569}
.toast{position:relative;z-index:50;max-width:1180px;margin:14px auto 0;padding:14px 16px;border-radius:18px;border:1px solid var(--line);font-weight:900;background:#fff;box-shadow:0 14px 38px rgba(48,25,80,.1)}
.toast-ok,.toast-success{background:#ecfdf5;color:#166534}.toast-danger{background:#fef2f2;color:#991b1b}.toast-warn{background:#fffbeb;color:#92400e}.toast-info{background:#eff6ff;color:#1e40af}
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 13% 15%,rgba(236,72,153,.48),transparent 28%),radial-gradient(circle at 86% 10%,rgba(6,182,212,.42),transparent 34%),linear-gradient(135deg,#2e1065,#7c3aed 48%,#ec4899);color:#fff;border-radius:36px;padding:50px;box-shadow:var(--shadow);min-width:0}
.hero:before{content:"";position:absolute;inset:auto -90px -120px auto;width:330px;height:330px;border-radius:999px;background:rgba(255,255,255,.12);z-index:-1}
.hero h1{font-size:clamp(34px,5.4vw,72px);line-height:.96;margin:0 0 18px;letter-spacing:-.065em;max-width:1050px}
.hero p{font-size:clamp(17px,1.8vw,23px);line-height:1.45;max-width:900px;opacity:.96;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.metric{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);position:relative;overflow:hidden;min-width:0}
.metric:after{content:"";position:absolute;right:-35px;top:-35px;width:100px;height:100px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:50%;opacity:.14}
.metric strong{display:block;font-size:34px;letter-spacing:-.04em;color:#17122b}
.metric small{color:var(--soft);font-weight:900}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.empty{padding:36px;text-align:center;color:var(--soft);font-weight:900}
.notice{background:linear-gradient(135deg,#fff,#fdf4ff);border:1px solid var(--line);border-radius:24px;padding:18px}
@media(max-width:1020px){.grid,.form-grid{grid-template-columns:1fr}.col-12,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2{grid-column:span 1}.hero{padding:34px;border-radius:28px}.table-wrap table{min-width:760px}}
@media(max-width:640px){.card{padding:18px;border-radius:20px}.btn{width:100%;white-space:normal}.actions,.hero-actions{width:100%}.hero h1{font-size:36px}.hero{padding:26px}.metric strong{font-size:30px}}
