:root {
  --ink: #152434;
  --muted: #68798a;
  --line: #dfe7ee;
  --paper: #ffffff;
  --canvas: #f3f6f8;
  --navy: #10293f;
  --blue: #096eb4;
  --cyan: #08a6bb;
  --orange: #ee8a19;
  --red: #cf4f4f;
  --green: #168368;
  --shadow: 0 16px 40px rgba(25, 56, 77, .09);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.shell { min-height: 100vh; display: grid; grid-template-columns: 244px 1fr; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 244px; background: var(--navy); color: white; padding: 28px 18px; display: flex; flex-direction: column; z-index: 10; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 9px 32px; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg, var(--cyan), var(--blue)); font-weight: 800; font-size: 21px; }
.brand strong, .brand span { display: block; }.brand strong { letter-spacing: .04em; }.brand span { opacity: .62; font-size: 12px; margin-top: 3px; }
nav { display: grid; gap: 5px; }
.nav-item { border: 0; color: rgba(255,255,255,.7); background: transparent; border-radius: 10px; padding: 12px 13px; text-align: left; display: flex; align-items: center; gap: 12px; transition: .18s ease; }
.nav-item span { width: 23px; font-size: 19px; text-align: center; }.nav-item b { margin-left: auto; font-size: 11px; border-radius: 10px; padding: 2px 7px; background: rgba(255,255,255,.12); }
.nav-item:hover, .nav-item.active { background: rgba(255,255,255,.1); color: white; }.nav-item.active { box-shadow: inset 3px 0 var(--cyan); }
.sidebar-note { margin-top: auto; display: flex; gap: 10px; align-items: center; border-top: 1px solid rgba(255,255,255,.12); padding: 20px 9px 0; }
.sidebar-note strong, .sidebar-note small { display:block; }.sidebar-note small { color:rgba(255,255,255,.5); margin-top:3px; }.pulse { width: 9px; height: 9px; border-radius: 50%; background:#4cddb1; box-shadow:0 0 0 5px rgba(76,221,177,.12); }
.main { grid-column: 2; min-width: 0; padding: 0 38px 48px; }
.topbar { min-height: 104px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); margin-bottom:30px; }
.eyebrow, .section-label { margin:0 0 6px; font-size:11px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:var(--blue); }
h1,h2,h3,p { margin-top:0; } h1 { margin-bottom:0; font-size:29px; letter-spacing:-.02em; } h2 { margin-bottom:8px; font-size:21px; letter-spacing:-.015em; } h3 { font-size:16px; }
.top-actions { display:flex; align-items:center; gap:12px; }.user-switch { display:flex; flex-direction:column; gap:3px; color:var(--muted); font-size:10px; text-transform:uppercase; font-weight:700; letter-spacing:.06em; }.user-switch select { min-width:210px; }
select,input,textarea { width:100%; border:1px solid #cdd8e1; background:white; color:var(--ink); border-radius:9px; padding:10px 12px; outline:none; transition:.15s; }
select:focus,input:focus,textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(9,110,180,.1); } textarea { resize:vertical; }
.primary,.secondary,.ghost { border-radius:9px; padding:10px 16px; font-weight:700; border:1px solid transparent; }
.primary { color:white; background:var(--blue); box-shadow:0 7px 16px rgba(9,110,180,.18); }.primary:hover { background:#075f9d; }.secondary { background:white; border-color:#cbd7e0; color:var(--ink); }.ghost { background:transparent; color:var(--muted); }.danger { color:var(--red); }
.view { display:none; animation:rise .25s ease; }.view.active { display:block; } @keyframes rise { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }
.welcome { padding:28px 31px; background:linear-gradient(110deg,#eef8fb,#fff 62%); border:1px solid #d6e9ef; border-radius:16px; display:flex; justify-content:space-between; gap:24px; align-items:center; }
.welcome h2 { font-size:25px; margin-bottom:8px; }.welcome p { margin:0; color:var(--muted); max-width:760px; line-height:1.5; }.today { min-width:150px; text-align:right; }.today small,.today strong { display:block; }.today small { color:var(--muted); margin-bottom:5px; }.today strong { font-size:18px; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin:18px 0; }.metric { background:white; border:1px solid var(--line); border-radius:13px; padding:19px 20px; position:relative; overflow:hidden; }.metric::after { content:""; position:absolute; width:70px;height:70px;border-radius:50%;right:-30px;top:-30px;background:var(--metric,#dbeef7);opacity:.7; }.metric small { color:var(--muted); display:block; margin-bottom:8px; }.metric strong { font-size:29px; }.metric span { display:block; font-size:11px; color:var(--muted); margin-top:3px; }
.metric-1 { --metric:#d9eef8; }.metric-2 { --metric:#ffead0; }.metric-3 { --metric:#f8dede; }.metric-4 { --metric:#ddf1ea; }
.grid-2 { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }.panel,.table-card { background:white; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }.panel { padding:22px; }.panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:12px; }.text-button { border:0;background:transparent;color:var(--blue);padding:5px;font-weight:700;font-size:13px; }
.stack { display:grid; gap:9px; }.list-item { width:100%; border:1px solid var(--line); border-radius:10px; padding:13px 14px; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; background:#fff; color:var(--ink); text-align:left; }.list-item:hover { border-color:#b6ccd9; }.status-dot { width:8px;height:8px;border-radius:50%;background:var(--blue); }.status-dot.red{background:var(--red)}.status-dot.orange{background:var(--orange)}.status-dot.green{background:var(--green)}
.list-item strong,.list-item small { display:block; }.list-item strong { font-size:14px; margin-bottom:4px; }.list-item small { color:var(--muted); line-height:1.35; }.item-date { text-align:right; font-size:12px; font-weight:700; color:var(--muted); }.empty { border:1px dashed #cdd9e2; color:var(--muted); border-radius:10px;padding:24px;text-align:center; }
.toolbar { display:flex; gap:12px; margin-bottom:16px; align-items:center; }.search { background:white; border:1px solid #cdd8e1; display:flex;align-items:center;border-radius:9px;flex:1;padding-left:12px; }.search input { border:0;box-shadow:none!important; }.toolbar select { width:190px; }.ideas-toolbar { justify-content:space-between; }.ideas-toolbar h2 { margin:0; }
.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:-5px 0 14px}.filters label{min-width:170px;font-size:11px;font-weight:800;color:var(--muted)}.filters select{margin-top:5px;background:white}.idea-card.overdue{border-color:#e6a4a4;box-shadow:0 0 0 2px rgba(173,56,56,.08)}
.table-card { overflow:auto; box-shadow:none; } table { border-collapse:collapse;width:100%; } th { text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#f8fafb;padding:13px 16px;border-bottom:1px solid var(--line); } td { padding:15px 16px;border-bottom:1px solid #edf1f4;vertical-align:top;font-size:13px; } tbody tr:hover { background:#fbfdfe; } td strong { display:block;font-size:14px;margin-bottom:5px; } td small { color:var(--muted);max-width:460px;display:block;line-height:1.35; }.row-action { border:0;background:transparent;color:var(--blue);font-weight:700; }
.badge { display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:15px;background:#eaf4fa;color:#176696;font-size:11px;font-weight:800;white-space:nowrap; }.badge.high{background:#fff0df;color:#a85c0b}.badge.overdue{background:#fdeaea;color:#ad3838}.badge.done{background:#e5f5ef;color:#17725a}.badge.muted{background:#edf1f4;color:#62707c}
.explain-banner { display:flex;gap:16px;border:1px solid #f0d4a9;background:#fff8ec;padding:20px 22px;border-radius:13px;margin-bottom:18px; }.explain-icon { flex:0 0 38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--orange);color:white;font-size:22px;font-weight:900; }.explain-banner p { margin:5px 0 0;color:#6c604f;line-height:1.5; }
.risk-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px; }.risk-card { background:white;border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:12px;padding:19px; }.risk-card.overdue { border-left-color:var(--red); }.risk-card-head { display:flex;justify-content:space-between;gap:12px; }.risk-card h3 { margin:7px 0 4px; }.risk-card p { color:var(--muted);line-height:1.45;font-size:13px; }.evidence { background:#f5f8fa;border-radius:8px;padding:10px 12px;color:#425565!important; }.risk-actions { display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:13px;margin-top:14px; }.risk-actions span { font-size:12px;color:var(--muted); }
.idea-columns { display:grid;grid-template-columns:repeat(2,1fr);gap:15px;align-items:start; }.idea-column { background:#eaf0f4;border-radius:13px;padding:12px;min-height:420px; }.column-title { display:flex;justify-content:space-between;align-items:center;padding:5px 4px 13px;font-size:13px;font-weight:800; }.column-title b { background:white;border-radius:12px;padding:3px 8px;font-size:11px; }.idea-stack { display:grid;gap:10px; }.idea-card { background:white;border:1px solid #dce5eb;border-radius:10px;padding:15px;box-shadow:0 4px 12px rgba(23,52,72,.04); }.idea-card .type { color:var(--blue);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900; }.idea-card h3 { margin:8px 0 7px; }.idea-card p { font-size:12px;color:var(--muted);line-height:1.45; }.idea-meta { border-top:1px solid var(--line);padding-top:10px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted); }
.idea-open { width:100%; text-align:right; margin-top:12px; padding:4px 0; }
.rules-intro { max-width:780px;margin-bottom:24px; }.rules-intro h2 { font-size:29px; }.rules-intro p { color:var(--muted);line-height:1.55;font-size:15px; }.rules-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px; }.rules-grid article { background:white;border:1px solid var(--line);padding:20px;border-radius:12px; }.rule-no { display:block;color:var(--cyan);font-weight:900;font-size:12px;margin-bottom:20px; }.rules-grid p { margin:0;color:var(--muted);font-size:13px;line-height:1.5; }.rules-list { display:grid;grid-template-columns:repeat(5,1fr);gap:10px; }.rule-item { border:1px solid var(--line);border-radius:9px;padding:14px;background:#fbfdfe; }.rule-item b { display:block;font-size:12px;margin-bottom:7px; }.rule-item span { color:var(--muted);font-size:11px;line-height:1.4;display:block; }
.modal { position:fixed;inset:0;background:rgba(7,24,38,.56);display:none;align-items:center;justify-content:center;padding:24px;z-index:30;backdrop-filter:blur(3px); }.modal.open { display:flex; }.modal-card { position:relative;background:white;border-radius:16px;width:min(590px,100%);max-height:92vh;overflow:auto;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.25); }.modal-card.wide { width:min(820px,100%); }.modal-close { position:absolute;right:15px;top:13px;border:0;background:#edf2f5;border-radius:50%;width:32px;height:32px;font-size:21px;color:var(--muted); }.modal-head p { color:var(--muted);font-size:13px; }.draft-box { background:#f3f8fb;border:1px solid #d8e7ef;border-radius:11px;padding:15px;margin:18px 0; }.draft-box label,.form-grid label { display:grid;gap:6px;color:#3b4c5c;font-weight:700;font-size:12px; }.draft-box .secondary { margin-top:9px; }.hint { margin:9px 0 0;color:var(--orange);font-size:12px; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px; }.span-2 { grid-column:span 2; }.form-actions { display:flex;justify-content:flex-end;gap:8px;margin-top:7px; }.checkbox { display:flex!important;align-items:center;gap:9px!important;align-self:end;padding-bottom:10px; }.checkbox input { width:17px;height:17px; }.privacy { background:#fff8e9;border-radius:8px;padding:10px 12px;color:#74664f;font-size:11px;margin:0; }.section-gap { margin-top:22px; }.section-gap-small { margin-top:15px; }.toast { position:fixed;right:24px;bottom:24px;background:var(--navy);color:white;padding:13px 18px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;z-index:50;max-width:390px; }.toast.error { background:#a83d3d; }.toast.show { opacity:1;transform:none; }
.detail-head { padding-right:35px; }.detail-head h2 { font-size:24px; }.detail-meta { display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px; }.detail-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.detail-field { border-top:1px solid var(--line);padding-top:11px; }.detail-field small,.detail-field strong { display:block; }.detail-field small { color:var(--muted);margin-bottom:5px; }.detail-field.full { grid-column:span 2; }.complete-box,.response-box { background:#f6f9fb;border-radius:10px;padding:15px;margin-top:18px; }.complete-box h3,.response-box h3 { margin-bottom:11px; }.inline-form { display:flex;gap:8px;flex-wrap:wrap; }.inline-form input,.inline-form select { flex:1;min-width:130px; }.history { border-left:2px solid #dce7ee;margin:15px 0 0 5px;padding-left:17px; }.history-item { position:relative;margin:0 0 14px; }.history-item::before { content:"";position:absolute;left:-22px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--blue); }.history-item b,.history-item small { display:block; }.history-item small { color:var(--muted);margin-top:3px; }
.documents-block { border-top:1px solid var(--line); margin-top:20px; padding-top:17px; }.document-row { border:1px solid var(--line); border-radius:8px; padding:10px 12px; margin-bottom:8px; }.document-row a { color:var(--blue); font-weight:700; text-decoration:none; }.document-row small { display:block;color:var(--muted);margin-top:4px; }.document-form { margin-top:10px; }.document-form input,.document-form select { min-width:145px; }.compact-check { padding:8px!important; white-space:nowrap; }
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.rules-grid{grid-template-columns:repeat(2,1fr)}.rules-list{grid-template-columns:repeat(2,1fr)}.idea-columns{grid-template-columns:1fr}.risk-grid{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{position:static;width:auto;height:auto;padding:14px}.brand{padding:0 5px 12px}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.nav-item{min-width:0;min-height:44px;padding:8px;gap:6px;font-size:13px;overflow-wrap:anywhere}.nav-item span{flex:none;width:19px}.nav-item b{padding:2px 5px}.sidebar-note{display:none}.main{padding:0 14px 30px}.topbar{align-items:flex-start;flex-direction:column;padding:20px 0}.top-actions{width:100%;flex-wrap:wrap}.user-switch{flex:1}.user-switch select{min-width:0}.metrics{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar select{width:100%}.filters{display:grid;grid-template-columns:1fr;margin-top:0}.filters label{min-width:0}.form-grid{grid-template-columns:1fr}.span-2,.detail-field.full{grid-column:span 1}.rules-grid,.rules-list{grid-template-columns:1fr}.welcome{align-items:flex-start;flex-direction:column}.today{text-align:left}.table-card{font-size:12px}}
.form-error { background:#fff1ef; border:1px solid #cc6d61; color:#89251b; border-radius:8px; padding:12px; line-height:1.5; width:100%; }
.form-error[hidden] { display:none; }
[aria-invalid="true"] { border-color:#bc392d; }
button:disabled { opacity:.6; cursor:wait; }
.template-picker { display:grid; gap:7px; margin-bottom:16px; }
.draft-box summary { cursor:pointer; font-weight:600; color:#075a8d; }
.draft-box[open] summary { margin-bottom:14px; }
#draftHint:empty { display:none; }
.form-grid label small { font-weight:normal; line-height:1.4; color:#596d7b; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #159ec0; outline-offset:3px; }
[hidden] { display:none !important; }
.login-screen { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card { max-width:440px; width:100%; background:white; border:1px solid #dce7ee; border-radius:18px; padding:32px; box-shadow:0 12px 40px #142c4010; }
.login-card h1 { margin:12px 0; }.login-card p { line-height:1.6; color:#596d7b; }
.login-card form { display:grid; gap:18px; margin:24px 0; }.login-card label { display:grid; gap:7px; }
.demo-notice { margin:0 0 16px; color:#596d7b; font-size:12px; }
.session-notice { position:fixed; top:12px; left:5%; right:5%; z-index:100; background:#fff4da; color:#59441f; border:1px solid #d6b35e; border-radius:10px; padding:16px; }
.session-notice a { color:#064e84; text-decoration:underline; }
.absence-card { padding:20px; }
.absence-card p, .history-item p { overflow-wrap:anywhere; line-height:1.5; }
.complete-box summary { cursor:pointer; font-weight:700; }
.complete-box[open] summary { margin-bottom:14px; }
.notification-read { opacity:.72; }
.detail-field { min-width:0; overflow-wrap:anywhere; }
.assistant-entry { display:grid; grid-template-columns:minmax(220px,1fr) minmax(300px,1.5fr) auto; gap:16px; align-items:center; background:#eaf6fb; border:1px solid #c9e2ed; border-radius:15px; padding:22px; margin:18px 0; }
.assistant-entry h2,.assistant-entry p { margin-bottom:5px; }.assistant-entry textarea { min-height:70px; }
.assistant-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }.voice-button { background:#fff; border:1px solid #9fc7d8; color:#075a8d; border-radius:9px; padding:10px 14px; font-weight:700; }
.assistant-entry>.privacy { grid-column:1/-1; margin:0; }.assistant-questions { background:#eef8f4; border:1px solid #b9dfd1; border-radius:11px; padding:16px; margin:14px 0; }.assistant-questions p { font-weight:700; }.assistant-questions>div { display:flex; gap:9px; }.assistant-questions input,.assistant-questions select { flex:1; }
@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.modal-card{max-width:100%}}
@media(max-width:950px){.assistant-entry{grid-template-columns:1fr}.assistant-entry>.privacy{grid-column:1}.assistant-actions>*{flex:1}}
.assistant-entry{grid-template-columns:1fr;align-items:stretch}.assistant-entry>.privacy{grid-column:1}
.conversation-log{display:flex;flex-direction:column;gap:10px;min-height:140px;max-height:360px;overflow-y:auto;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}
.conversation-bubble{max-width:min(88%,700px);padding:10px 13px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}
.conversation-bubble.user{align-self:flex-end;background:#dff0fa}.conversation-bubble.assistant{align-self:flex-start;background:#f0f4f6}
.conversation-options{align-self:flex-start;display:flex;flex-wrap:wrap;gap:8px}.conversation-options button{min-height:40px}
.conversation-compose{display:flex;gap:10px;align-items:stretch}.conversation-compose textarea{flex:1;min-width:0;resize:vertical}.conversation-compose .assistant-actions{flex:none}
.telegram-setup{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.telegram-setup span{overflow-wrap:anywhere;font-size:13px}
@media(max-width:760px){.conversation-compose{flex-direction:column}.conversation-compose .assistant-actions>*{flex:1}.conversation-log{max-height:300px}}
