:root{--color-primary: #2f6bff;--color-primary-dark: #1e4fd6;--color-primary-soft: #eaf0ff;--color-navy: #0e1e38;--color-bg: #f7f8fa;--color-surface: #ffffff;--color-text: #0f1722;--color-text-secondary: #5b6675;--color-border: #e4e8ee;--color-success: #1fa97c;--color-warning: #e8a13c;--color-danger: #d95c5c;--radius: 12px;--font: 400 14px/20px "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--sidebar-w: 224px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font:var(--font);color:var(--color-text);background:var(--color-bg)}.layout{display:flex;height:100%}.sidebar{width:var(--sidebar-w);flex:none;background:linear-gradient(180deg,#10233f 0%,var(--color-navy) 100%);color:#fff;display:flex;flex-direction:column;padding:16px 12px}.brand-dot{width:8px;height:8px;border-radius:999px;background:var(--color-primary);flex:none;box-shadow:0 0 0 3px #2f6bff38}.sidebar__brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:16px;letter-spacing:-.01em;padding:6px 10px 16px}.sidebar__nav{display:flex;flex-direction:column;gap:3px}.sidebar a{color:#ffffffa8;text-decoration:none;padding:10px 12px;font-size:14px;font-weight:500;border-radius:10px;position:relative;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}@media (hover: hover) and (pointer: fine){.sidebar a:hover{color:#fff;background:#ffffff0f}}.sidebar a:active{background:#ffffff1a}.sidebar a.active{color:#fff;background:#2f6bff2e}.sidebar a.active:before{content:"";position:absolute;left:3px;top:9px;bottom:9px;width:3px;border-radius:999px;background:var(--color-primary)}.sidebar__foot{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:8px}.sidebar__user{font-size:12px;color:#ffffff80;padding:0 12px}.sidebar__logout{text-align:left;background:#ffffff0d;color:#ffffffd1;border:none;border-radius:10px;padding:10px 12px;font:500 14px/1 Inter,sans-serif;cursor:pointer;transition:background .15s ease,transform .14s var(--ease-out)}.sidebar__logout:hover{background:#ffffff17;color:#fff}.sidebar__logout:active{transform:scale(.98)}.topbar,.scrim{display:none}.main{flex:1;overflow:auto;padding:24px}.h1{font-size:20px;font-weight:600;line-height:26px}.caption{font-size:12px;color:var(--color-text-secondary)}.card{background:var(--color-surface);border-radius:var(--radius);padding:14px;box-shadow:0 1px 4px #0f17220f}.btn{height:34px;padding:0 14px;border:none;border-radius:8px;cursor:pointer;font:500 13px/1 Inter,sans-serif;display:inline-flex;align-items:center;gap:6px;transition:transform .14s var(--ease-out),background .15s ease,opacity .15s ease;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:disabled{opacity:.5;cursor:default}.btn--secondary{background:var(--color-primary-soft);color:var(--color-primary)}.btn--ghost{background:none;color:var(--color-text-secondary)}.btn--danger{background:#d95c5c1f;color:var(--color-danger)}.input,select.input,textarea.input{height:34px;padding:0 10px;border:1px solid var(--color-border);border-radius:8px;font:var(--font);background:var(--color-surface);color:var(--color-text);width:100%}textarea.input{height:auto;padding:8px 10px;min-height:64px}.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.chip--muted{background:var(--color-bg);color:var(--color-text-secondary)}.chip--info{background:#e7f1fb;color:#2b6cb0}.chip--success{background:#e6f6f0;color:var(--color-success)}.chip--warning{background:#fdf3e3;color:#8a6116}.chip--danger{background:#fbeaea;color:var(--color-danger)}.row{display:flex;gap:10px;align-items:center}.grid{display:grid;gap:10px}.vlist{position:relative;overflow-y:auto;border-radius:var(--radius);background:var(--color-surface)}.vlist__spacer{position:relative;width:100%}.vlist__item{position:absolute;left:0;right:0;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid var(--color-border);cursor:pointer}.vlist__item:hover{background:var(--color-bg)}.diff{font-family:ui-monospace,monospace;font-size:12px;white-space:pre-wrap;border-radius:8px;padding:10px}.diff--old{background:#fbeaea}.diff--new{background:#e6f6f0}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--color-navy);color:#fff;padding:10px 16px;border-radius:10px;font-size:13px;z-index:100}.funnel-bar{height:26px;background:var(--color-primary);border-radius:6px;min-width:4px}.app-card{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;gap:12px;align-items:start}@media (max-width: 1000px){.app-card{grid-template-columns:1fr}}.chat__scroll{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;padding:4px 2px}.chat__msg{max-width:86%;padding:8px 11px;border-radius:13px;font-size:13px;line-height:1.42}.chat__msg--client{align-self:flex-start;background:var(--color-bg);border:1px solid var(--color-border);border-bottom-left-radius:4px}.chat__msg--staff{align-self:flex-end;background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.chat__msg--note{align-self:flex-end;background:#fdf3e3;border:1px solid #f0dcae;color:#6b4e12;border-bottom-right-radius:4px}.chat__meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;opacity:.72;margin-bottom:3px}.chat__msg--staff .chat__meta{opacity:.9}.chat__text{white-space:pre-wrap;word-break:break-word}.chat__composer{display:flex;gap:8px;margin-top:10px}.chat__composer .input{flex:1}.chat__composer .btn{flex:none}.chat__toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary);margin-top:8px;cursor:pointer}.ai-level{display:flex;align-items:center;gap:10px}.ai-level__dot{width:14px;height:14px;border-radius:999px;flex:none}.ai-level__dot--green{background:var(--color-success);box-shadow:0 0 0 4px #1fa97c26}.ai-level__dot--yellow{background:var(--color-warning);box-shadow:0 0 0 4px #e8a13c26}.ai-level__dot--red{background:var(--color-danger);box-shadow:0 0 0 4px #d95c5c26}.ai-level__title{font-size:15px;font-weight:600}.ai-note{font-size:13px;line-height:1.5;background:var(--color-primary-soft);color:#23324a;border-radius:10px;padding:10px 12px}.ai-flag{display:flex;gap:8px;align-items:flex-start}.ai-flag__ico{flex:none;width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}.ai-flag__ico--strength{background:#e6f6f0;color:var(--color-success)}.ai-flag__ico--yellow{background:#fdf3e3;color:#8a6116}.ai-flag__ico--red{background:#fbeaea;color:var(--color-danger)}.ai-flag__ico--neutral,.ai-flag__ico--missing{background:var(--color-bg);color:var(--color-text-secondary)}@media (max-width: 768px){.layout{flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:40;height:54px;padding:0 14px;flex:none;background:linear-gradient(180deg,#10233f 0%,var(--color-navy) 100%);color:#fff;box-shadow:0 1px #ffffff0d}.topbar__brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px}.topbar__menu{width:40px;height:40px;flex:none;border:none;cursor:pointer;background:#ffffff14;color:#fff;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;transition:transform .14s var(--ease-out),background .15s ease;-webkit-tap-highlight-color:transparent}.topbar__menu:active{transform:scale(.94);background:#ffffff24}.topbar__burger,.topbar__burger:before,.topbar__burger:after{content:"";display:block;width:18px;height:2px;border-radius:2px;background:#fff;position:relative}.topbar__burger:before{position:absolute;top:-6px}.topbar__burger:after{position:absolute;top:6px}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:80%;max-width:300px;transform:translate(-100%);transition:transform .34s var(--ease-drawer);box-shadow:0 0 44px #00000073;will-change:transform}.sidebar--open{transform:translate(0)}.scrim{display:block;position:fixed;inset:0;z-index:45;background:#080e1a8c;backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s ease}.scrim--open{opacity:1;pointer-events:auto}.main{padding:16px}.h1{font-size:18px;line-height:24px}.row{flex-wrap:wrap}.card{padding:12px}.main table{display:block;overflow-x:auto;max-width:100%}.diff{overflow-x:auto}.btn,.input,select.input,textarea.input{min-height:42px}.btn{height:42px}}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}.scrim{transition:opacity .15s ease}.btn:active,.topbar__menu:active,.sidebar__logout:active{transform:none}}
