:root{--midnight-navy: #14173a;--vivid-blue: #195be0;--soft-sky-blue: #b5cfe5;--soft-white: #f9f9f9;--gradient-end: #4e83e2;--wordmark-blue: #0e2a66;--brand-gradient: linear-gradient(180deg, var(--midnight-navy) 0%, var(--vivid-blue) 62%, var(--gradient-end) 100%);--surface: #f9f9f9;--surface-raised: #ffffff;--surface-sunken: #eef1f7;--brand: var(--vivid-blue);--brand-strong: #1746ac;--brand-ink: #195be0;--brand-soft: #dee8f1;--ink: #14173a;--ink-muted: #5d6180;--ink-disabled: #9a9eb5;--on-brand: #f9f9f9;--border: #7f86a0;--line: #e2e5ee;--focus: var(--brand-ink);--success-ink: #0b7a5b;--success-soft: #dcf5ea;--warning-ink: #8a5200;--warning-soft: #fdf0d5;--danger-ink: #c8281e;--danger-soft: #fde5e3;--overlay: #14173a99;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 32px;--radius-full: 9999px;--shadow-sm: 0 1px 2px #14173a14, 0 1px 3px #14173a1f;--shadow-lg: 0 8px 16px #14173a1a, 0 16px 40px -4px #14173a33;--focus-ring: 0 0 0 2px #f9f9f9, 0 0 0 4px #195be0;--z-dropdown: 200;--z-modal: 1100;--z-toast: 1200;--font: "TT Hoves Pro", "TT Hoves", "Onest", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font);font-size:14.5px;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{color:var(--wordmark-blue)}button{font-family:inherit;cursor:pointer}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}input,textarea,select{font-family:inherit;font-size:14px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#788cb44d;border-radius:20px;border:2px solid transparent;background-clip:content-box}.shell{display:flex;min-height:100vh}.sidebar{width:236px;flex-shrink:0;background:var(--brand-gradient);color:var(--on-brand);display:flex;flex-direction:column;padding:22px 16px;gap:22px;position:sticky;top:0;height:100vh}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:0 8px}.sidebar .brand img{height:21px}.sidebar nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar .nav-group{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#fff6;padding:14px 10px 6px}.sidebar a.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#ffffffc7;font-size:14px;font-weight:500;transition:background .15s,color .15s}.sidebar a.nav-item:hover{background:#ffffff14;color:var(--on-brand)}.sidebar a.nav-item.active{background:var(--brand);color:var(--on-brand);font-weight:600}.sidebar a.nav-item .badge{margin-left:auto;font-size:11.5px;font-weight:700;background:#ffffff29;padding:1px 7px;border-radius:20px}.sidebar a.nav-item.active .badge{background:#14173a24}.sidebar .spacer{flex:1}.sidebar .side-foot{font-size:12px;color:#ffffff73;padding:0 10px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:62px;flex-shrink:0;background:var(--surface-raised);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:20}.topbar h1{margin:0;font-size:17px;font-weight:700}.topbar .grow{flex:1}.topbar .who{font-size:13px;color:var(--ink-muted);text-align:right;line-height:1.35}.topbar .who strong{display:block;color:var(--ink);font-size:13.5px}.page{padding:24px;display:flex;flex-direction:column;gap:20px}.burger{display:none}@media (max-width: 900px){.sidebar{position:fixed;z-index:60;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .22s ease}.sidebar.open{transform:none}.burger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--surface-raised)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1b3d66;z-index:50}.page{padding:16px}}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px}.card.pad0{padding:0;overflow:hidden}.card-head{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--surface-sunken)}.card-head h2{margin:0;font-size:15px;font-weight:700}.card-head .grow{flex:1}.card-body{padding:18px}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1100px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 780px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:minmax(0,1fr)}}.kpi{display:flex;flex-direction:column;gap:6px}.kpi .label{font-size:12.5px;color:var(--ink-muted)}.kpi .value{font-size:26px;font-weight:800;letter-spacing:-.02em}.kpi .hint{font-size:12px;color:var(--ink-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:8px;padding:9px 15px;font-size:14px;font-weight:600;background:var(--brand);color:var(--on-brand);transition:filter .15s,background .15s}.btn:hover{filter:brightness(1.06)}.btn:disabled{opacity:.55;cursor:default;filter:none}.btn.yellow{background:var(--brand);color:var(--on-brand)}.btn.ghost{background:var(--surface-raised);border-color:var(--line);color:var(--ink)}.btn.ghost:hover{background:var(--surface-sunken)}.btn.danger{background:var(--surface-raised);border-color:#e5484d66;color:var(--danger-ink)}.btn.danger:hover{background:#e5484d12}.btn.sm{padding:6px 11px;font-size:13px;border-radius:8px}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:12.5px;font-weight:600;color:var(--ink-muted)}.field .help{font-size:12px;color:var(--ink-muted)}.input,.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;outline:none;background:var(--surface-raised);color:var(--ink)}.input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand)}.field textarea{resize:vertical;line-height:1.5}.switch{width:42px;height:24px;border-radius:20px;background:var(--soft-sky-blue);padding:3px;display:inline-flex;align-items:center;transition:background .18s;flex-shrink:0;border:none}.switch>span{width:18px;height:18px;border-radius:50%;background:var(--surface-raised);transition:transform .18s;box-shadow:0 1px 3px #0003}.switch.on{background:var(--success-ink)}.switch.on>span{transform:translate(18px)}.switch-row{display:flex;align-items:center;gap:12px}.switch-row .txt strong{display:block;font-size:14px}.switch-row .txt span{font-size:12.5px;color:var(--ink-muted)}.seg{display:inline-flex;background:var(--surface-sunken);border-radius:8px;padding:3px;gap:3px}.seg button{border:none;background:transparent;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink-muted)}.seg button.on{background:var(--surface-raised);color:var(--ink);box-shadow:0 1px 3px #0e2a661f}.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:20px;padding:4px 11px;font-size:12.5px;background:var(--surface-raised);color:var(--ink-muted)}.chip.on{background:#195be017;border-color:#195be04d;color:var(--brand);font-weight:600}.pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600}.pill.green{background:#12b76a1f;color:#0b7a47}.pill.grey{background:#14173a12;color:var(--ink-muted)}.pill.blue{background:#195be01a;color:var(--brand)}.pill.amber{background:var(--warning-soft);color:var(--warning-ink)}.pill.red{background:var(--danger-soft);color:var(--danger-ink)}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-weight:700;padding:10px 14px;border-bottom:1px solid var(--line)}.table td{padding:12px 14px;border-bottom:1px solid var(--surface-sunken);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--surface-sunken)}.table-wrap{overflow-x:auto}.meta{font-size:12.5px;color:var(--ink-muted)}button.link{border:0;background:none;padding:0;font:inherit;color:var(--brand);cursor:pointer;text-align:left}button.link:hover{text-decoration:underline}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;padding:16px 18px}.kpi{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--surface-raised);min-width:0}.kpi .label{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-weight:700}.kpi .value{font-size:22px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.kpi .sub{font-size:12px;color:var(--ink-muted);margin-top:2px}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--border)}.filters .input[type=date]{width:auto}.sub-head{display:flex;align-items:center;gap:10px;padding:15px 18px 5px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-weight:700}.input.sm{padding:6px 10px;font-size:13px;border-radius:8px;text-transform:none;letter-spacing:normal;font-weight:500}.empty{padding:40px 20px;text-align:center;color:var(--ink-muted);font-size:13.5px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--on-brand);padding:11px 18px;border-radius:12px;font-size:13.5px;z-index:200;box-shadow:var(--shadow-lg)}.toast.err{background:var(--danger-ink)}.alert{border-radius:8px;padding:11px 14px;font-size:13.5px;line-height:1.5;background:var(--danger-soft);border:1px solid var(--danger-ink);color:var(--danger-ink)}.alert.info{background:var(--brand-soft);border-color:var(--brand);color:var(--wordmark-blue)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1b3d73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:120}.modal{background:var(--surface-raised);border-radius:12px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px #0a1b3d47}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(25,91,224,.25);border-top-color:var(--brand);animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;align-items:center;gap:10px;padding:30px;color:var(--ink-muted)}.inbox{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.inbox{grid-template-columns:minmax(0,1fr)}}.chat-list{max-height:calc(100vh - 190px);overflow-y:auto}.chat-row{display:flex;gap:11px;align-items:center;width:100%;padding:11px 14px;border:none;background:none;text-align:left;border-bottom:1px solid var(--surface-sunken)}.chat-row:hover{background:var(--surface-sunken)}.chat-row.on{background:#195be012}.chat-row .who{min-width:0;flex:1}.chat-row .who strong{display:block;font-size:13.5px}.chat-row .who span{display:block;font-size:12.5px;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-row .time{font-size:11.5px;color:var(--ink-muted);flex-shrink:0}.avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--on-brand);font-size:12.5px;font-weight:700;object-fit:cover}.thread{height:calc(100vh - 300px);min-height:320px;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:9px}.bubble{max-width:74%;padding:9px 13px;border-radius:12px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-start;background:var(--surface-sunken);border-bottom-left-radius:4px}.bubble.bot{align-self:flex-end;background:var(--brand);color:var(--on-brand);border-bottom-right-radius:4px}.bubble .t{display:block;font-size:10.5px;opacity:.65;margin-top:4px}.composer{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--surface-sunken)}.item-card{display:flex;gap:13px;align-items:flex-start;padding:14px;border-bottom:1px solid var(--surface-sunken)}.item-card:last-child{border-bottom:none}.item-card .thumb{width:54px;height:54px;border-radius:8px;object-fit:cover;background:var(--surface-sunken);flex-shrink:0}.item-card .info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.item-card .info strong{font-size:14px}.item-card .info .meta{font-size:12.5px;color:var(--ink-muted)}.item-card .actions{display:flex;gap:6px;flex-shrink:0}.tags{display:flex;flex-wrap:wrap;gap:5px}.setup-shell{max-width:940px;margin:0 auto;padding:28px 20px 60px;display:flex;flex-direction:column;gap:26px}.stepper{display:flex;align-items:center;justify-content:center}.stepper .dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:#b5cfe573;color:var(--ink-muted)}.stepper .dot.active{background:var(--brand);color:var(--on-brand)}.stepper .dot.done{background:var(--ink);color:var(--on-brand)}.stepper .lbl{font-size:13.5px;margin-left:8px;color:var(--ink-muted)}.stepper .lbl.active{font-weight:600;color:var(--ink)}.stepper .line{width:40px;height:2px;background:var(--line);margin:0 14px}@media (max-width: 640px){.stepper .lbl{display:none}.stepper .line{width:18px;margin:0 8px}}.login-shell{min-height:100vh;display:flex;background:var(--surface)}.login-art{flex:1;display:none;padding:56px;color:var(--on-brand);flex-direction:column;justify-content:center;gap:18px;background:var(--brand-gradient)}@media (min-width: 980px){.login-art{display:flex}}.login-art h2{font-size:34px;line-height:1.18;margin:0;max-width:460px;letter-spacing:-.02em}.login-art p{color:#ffffffad;font-size:15px;max-width:430px;line-height:1.6}.login-art .points{display:flex;flex-direction:column;gap:10px;margin-top:8px}.login-art .points span{color:#fffc;font-size:14px;display:flex;gap:9px}.login-pane{width:100%;max-width:520px;display:flex;align-items:center;justify-content:center;padding:32px}.login-box{width:100%;max-width:380px;display:flex;flex-direction:column;gap:17px}.login-box h1{color:var(--ink);margin:0;font-size:28px;line-height:34px;font-weight:500;letter-spacing:-.01em}.login-box p.sub{color:var(--ink-muted);margin:0;font-size:14px}.login-box label{color:var(--ink)}.login-box .foot{font-size:13px;color:var(--ink-muted);text-align:center}.lang{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-full);background:#14173a0f}.lang-item{border:0;background:none;padding:4px 9px;border-radius:var(--radius-full);cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:.03em;color:var(--ink-muted)}.lang-item:hover{color:var(--ink)}.lang-item.on{background:var(--surface-raised);color:var(--brand);box-shadow:0 1px 3px #14173a1f}@keyframes enter-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes enter-fade{0%{opacity:0}to{opacity:1}}.page{animation:enter-up .25s cubic-bezier(.16,1,.3,1) both}.card{animation:enter-up .2s cubic-bezier(.16,1,.3,1) both}@media (prefers-reduced-motion: reduce){.page,.card{animation:enter-fade .15s linear both}}
