:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#242820;background:#f6f5f1;font-synthesis:none;--accent:#476344;--line:#e3e4db;--muted:#777e70;--paper:#fffefa;--soft:#edf1e8;--purple:#ebe4f3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:inherit;padding:10px 13px;transition:background .15s}button:hover{background:#e8eddf}button:disabled{opacity:.45;cursor:wait}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.primary:hover{background:#385035}button.subtle{background:transparent;border:0;color:var(--muted)}button.danger{color:#a64134}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{width:100%;padding:11px;border:1px solid #d7dacf;border-radius:8px;background:#fff;color:#242820;min-width:0}textarea{resize:vertical;min-height:90px;line-height:1.5}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #87a57b;outline-offset:2px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:550}label.check{flex-direction:row;align-items:center;font-weight:400}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:32px;font-weight:550;letter-spacing:-1.1px;margin-bottom:10px}h2{font-size:24px;letter-spacing:-.5px}h3{font-size:16px;margin-bottom:8px}p{line-height:1.55}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;color:var(--muted)}.hidden{display:none!important}.wordmark{font-size:24px;font-weight:700;color:#273322;letter-spacing:-1.1px;white-space:nowrap}.wordmark span{color:#89a479;font-size:35px}.shell{display:grid;grid-template-columns:216px minmax(480px,1fr) 390px;min-height:100vh}.sidebar{background:#f0f0e9;border-right:1px solid var(--line);padding:25px 18px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}.sidebar .eyebrow{margin-top:25px}.project-picker{display:flex;gap:5px;margin-top:-13px}.project-picker select{font-size:13px;background:#f8f9f2}.project-picker button{padding:8px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{text-align:left;border:0;background:transparent;padding:12px;font-size:13px;display:flex;gap:11px}.nav-item.active{background:#e0e7d8;color:#31462a;font-weight:600}.nav-icon{width:20px;font-size:17px}.sidebar-bottom{margin-top:auto;font-size:12px;color:var(--muted)}.sidebar-bottom p{padding:14px 2px;margin:0}.pilot-tag{font-size:11px;display:flex;align-items:center;gap:7px}.dot{width:6px;height:6px;border-radius:50%;background:#769064;display:inline-block}main{padding:34px 30px;min-width:0}.page-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:26px}.page-top .eyebrow{display:block;margin-bottom:13px}.page-top p{font-size:13px;color:var(--muted);margin:0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions button{font-size:12px;padding:8px 11px}.channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px}.channel-card{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:15px;text-align:left;min-width:0}.channel-card.active{border-color:#889b7d;background:#f5f8f0}.channel-card .channel-icon{display:grid;place-items:center;background:var(--soft);width:29px;height:29px;border-radius:8px;font-size:14px;margin-bottom:14px}.channel-card strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:13px;white-space:nowrap}.channel-card small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.channel-card .channel-meta{display:flex;justify-content:space-between;gap:5px;margin-top:12px;font-size:10px;color:var(--accent)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0}.toolbar select,.toolbar input{width:auto;font-size:12px;padding:8px}.toolbar .spacer{flex:1}.count-pill,.badge{display:inline-block;border-radius:6px;font-size:10px;padding:4px 7px;background:#ecefe6;color:#576a49;font-weight:550}.badge.scheduled{background:#e4eef9;color:#436180}.badge.published{background:#e3efde;color:#4b6d3e}.badge.failed,.badge.unknown{background:#f8e5da;color:#99502e}.badge.voice_script{background:var(--purple);color:#725a8c}.date-heading{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin:25px 0 15px}.date-heading:after{content:"";height:1px;background:var(--line);flex:1}.post-row{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;margin-bottom:17px}.post-time{font-size:11px;color:var(--muted);padding-top:20px}.post-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow:hidden}.post-top{display:flex;gap:8px;align-items:center;padding:16px 18px 0;font-size:11px;color:var(--muted);flex-wrap:wrap}.post-top .spacer{flex:1}.post-content{padding:14px 18px}.post-title{font-size:14px;font-weight:600;margin:0 0 10px}.telegram-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.telegram-text a{text-decoration:underline}.telegram-text blockquote{margin:8px 0;border-left:3px solid #809672;padding:6px 12px;background:#f1f4ed}.telegram-text tg-spoiler{background:#d9dfd3}.post-media{display:flex;gap:4px;overflow:auto;max-height:280px;background:#f0f0eb}.post-media img,.post-media video{object-fit:contain;max-width:100%;max-height:280px;min-width:0;flex:1}.post-media audio{width:100%;padding:10px}.post-bottom{display:flex;align-items:center;gap:6px;padding:10px 16px;border-top:1px solid #eeefe7;flex-wrap:wrap}.post-bottom button{padding:5px 8px;font-size:11px;border:0;background:transparent}.post-bottom button:hover{background:var(--soft)}.reason{font-size:11px;color:var(--muted);margin-top:14px;border-top:1px dashed var(--line);padding-top:10px;margin-bottom:0}.tg-button{display:block;border-radius:6px;background:#e5eee8;text-align:center;margin-top:12px;padding:9px;font-size:12px;color:#427158}.dependency{font-size:11px;background:#eef1e9;padding:8px 12px;display:block}.empty{padding:35px 24px;text-align:center;border:1px dashed #cfd7c6;border-radius:15px;background:#fbfcf7}.empty-symbol{font-size:38px;color:#8b9c7d;margin-bottom:20px}.empty h2{font-size:22px}.empty p{max-width:400px;margin:10px auto 20px;color:var(--muted);font-size:13px}.chat-panel{border-left:1px solid var(--line);background:#fbfbf7;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;min-width:0}.chat-head{padding:25px 22px 16px;border-bottom:1px solid var(--line)}.chat-head-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.chat-head h3{margin:0;font-size:15px}.avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#e3e9d9;color:#567044;margin-right:8px}.chat-person{display:flex;align-items:center}.chat-tabs{display:flex;gap:5px;background:#eff0e8;border-radius:9px;padding:4px}.chat-tabs button{flex:1;font-size:12px;border:0;background:transparent;padding:8px}.chat-tabs .active{background:white;box-shadow:0 1px 3px #0000000c}.chat-role-note{font-size:11px;color:var(--muted);margin:13px 0 0}.chat-messages{flex:1;overflow-y:auto;padding:22px 18px;scroll-behavior:smooth}.message{font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:20px}.message.user{background:#e8eedf;border-radius:13px 13px 3px 13px;padding:13px 15px;margin-left:25px}.message.assistant{padding:0 5px}.message-name{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;color:var(--muted)}.chat-empty{padding:20px 4px}.chat-empty h2{font-size:23px;line-height:1.3}.chat-empty p{font-size:12px;color:var(--muted)}.prompt{display:block;text-align:left;font-size:12px;width:100%;margin:9px 0;background:white;line-height:1.5}.chat-compose{padding:15px 18px 20px;border-top:1px solid var(--line)}.chat-compose textarea{font-size:12px;background:#fff;min-height:85px;max-height:220px;resize:vertical}.chat-compose-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--muted)}.chat-compose-footer button{font-size:12px;padding:8px 14px}.job-status{margin:5px 18px 12px;padding:12px;border-radius:9px;background:#edf0e5;font-size:11px;line-height:1.5}.job-status.error{background:#f7eae1}.job-status button{font-size:10px;margin-top:8px;padding:5px}.panel{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:22px;margin-bottom:18px}.panel p{font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.stack{display:flex;flex-direction:column;gap:17px}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.material-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.material-visual{height:150px;display:flex;align-items:center;justify-content:center;background:#eceee6;color:#8e9b80;font-size:40px}.material-visual img,.material-visual video{width:100%;height:100%;object-fit:contain}.material-info{padding:14px}.material-info strong{font-size:12px;overflow-wrap:anywhere}.material-info p{font-size:11px;color:var(--muted);margin:9px 0;white-space:pre-wrap}.material-info button{font-size:11px;padding:7px}.dropzone{display:block;text-align:center;padding:28px;border:1px dashed #bfcab2;border-radius:12px;background:#f7faf1;font-size:13px;color:var(--accent);cursor:pointer;margin-bottom:20px}.dropzone input{margin:12px auto 0;font-size:12px;max-width:100%}.source-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:18px;margin-bottom:12px}.source-card p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}.source-card .actions{margin-top:12px}.source-card .actions button{font-size:10px}.notice{font-size:12px;line-height:1.55;padding:13px 15px;background:#eff3e7;border-radius:9px;margin-bottom:17px}.error{color:#9a402e}.error-box{font-size:12px;padding:12px;background:#f8e9df;border-radius:8px;margin:10px 0;white-space:pre-wrap}.request-card{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.request-card small{display:block;color:var(--muted);margin-top:6px}dialog{border:1px solid var(--line);border-radius:17px;width:min(730px,calc(100vw - 30px));max-height:90vh;padding:27px;color:inherit;background:var(--paper);box-shadow:0 20px 100px #192b2430}dialog::backdrop{background:#1f291c65;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-head h2{font-size:22px;margin:0}.dialog-head button{border:0;background:transparent;font-size:21px;padding:3px}.dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.dialog-footer button{font-size:13px}.checkbox-list{max-height:180px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:8px}.checkbox-list label{padding:5px 0;font-size:12px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:20;padding:14px 22px;border-radius:10px;background:#2d3d28;color:white;box-shadow:0 5px 30px #0002;font-size:13px;max-width:90vw}.login{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr}.login-copy{background:#e9eddf;padding:60px 12%;position:relative;overflow:hidden}.login-copy .wordmark{display:block;margin-bottom:120px}.login-copy h1{font-size:57px;line-height:1.1;letter-spacing:-2px;margin:22px 0}.login-copy p:not(.eyebrow){color:#67765b;font-size:16px}.login-orbit{position:absolute;bottom:-90px;right:0;font-size:450px;color:#d2dbc4;line-height:1;z-index:0}.login-form{align-self:center;width:340px;max-width:85%;justify-self:center;display:flex;flex-direction:column;gap:22px}.login-form h2{font-size:30px;margin:0}.login-form .error{margin:0}.login-form .primary{margin-top:6px}.result-table{width:100%;border-collapse:collapse;font-size:11px}.result-table th,.result-table td{padding:10px 6px;border-bottom:1px solid var(--line);text-align:left}.calendar-day{margin:12px 0}.calendar-line{padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--paper);display:flex;gap:15px;align-items:center;margin:7px 0;font-size:12px}.calendar-line strong{flex:1}.file-progress{font-size:12px;color:var(--accent);margin-bottom:12px}@media(min-width:1700px){main{padding:40px 5%}.shell{grid-template-columns:230px minmax(600px,1fr) 430px}.chat-messages{padding:26px}}@media(max-width:1190px){.shell{grid-template-columns:175px minmax(390px,1fr) 330px}.sidebar{padding:24px 12px}main{padding:28px 20px}.wordmark{font-size:21px}.chat-head{padding:22px 15px}.channel-grid{gap:7px}.channel-card{padding:11px}}@media(max-width:980px){.shell{grid-template-columns:170px minmax(0,1fr)}.chat-panel{grid-column:2;height:600px;position:relative;border-top:1px solid var(--line)}.sidebar{grid-row:1/3}.login-copy h1{font-size:42px}.login-copy{padding:40px 10%}}@media(max-width:620px){.shell{display:block}.sidebar{position:relative;height:auto;gap:12px;padding:14px 16px}.sidebar .wordmark{font-size:20px}.sidebar>.eyebrow,.sidebar-bottom{display:none}.project-picker{position:absolute;right:16px;top:23px;width:165px;margin:0}.sidebar nav{flex-direction:row;overflow:auto;gap:2px}.nav-item{padding:9px;font-size:11px;white-space:nowrap;gap:5px}.nav-icon{width:auto;font-size:13px}main{padding:24px 15px}.page-top{margin-bottom:18px}h1{font-size:28px}.page-top>.actions{max-width:140px;justify-content:flex-end}.channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.channel-card{padding:10px}.channel-card .channel-icon{margin-bottom:10px}.channel-card strong{font-size:11px}.channel-card small{font-size:9px}.channel-meta{display:block!important}.channel-meta span{display:block;margin:4px 0}.post-row{grid-template-columns:32px minmax(0,1fr);gap:7px}.post-time{font-size:10px}.post-top{padding:13px 13px 0}.post-content{padding:12px 13px}.form-grid{grid-template-columns:1fr}.media-grid{gap:10px}.material-visual{height:125px}.chat-panel{height:650px}.chat-head{padding:20px}.login{display:block}.login-copy{padding:30px 25px}.login-copy .wordmark{margin-bottom:40px}.login-copy h1{font-size:35px}.login-copy p:not(.eyebrow){font-size:13px}.login-orbit{font-size:260px;bottom:-90px;right:-80px}.login-form{padding:35px 0;margin:auto;max-width:85%}.login-form h2{font-size:25px}dialog{padding:20px}.toolbar{gap:6px}}

.chat-jump{display:none}@media(max-width:980px){.chat-jump{display:block;position:fixed;right:16px;bottom:16px;z-index:5;background:#476344;color:white;box-shadow:0 4px 20px #0002;font-size:12px}.chat-compose{padding-bottom:65px}}

.day-picker{display:flex;gap:10px;align-items:flex-end;margin:22px 0 10px;padding:14px;background:#edf1e7;border-radius:12px}.day-picker label{flex:1;max-width:310px;font-size:11px;color:#66745b}.day-picker button{padding:10px 15px}.visual-request{border-left:3px solid #bc994c;background:#f8f2e3}.visual-request button{font-size:11px;margin-top:9px}.panel>form+.actions{margin:16px 0}.telegram-text details summary{cursor:pointer;color:#68745e;font-size:12px}

/* Native Telegram inline button colours; exact shades follow the Telegram client. */
.tg-button-danger {
  background: #b53646;
  color: #fff;
}
.tg-button-primary {
  background: #246cb0;
  color: #fff;
}
.tg-button-success {
  background: #23764d;
  color: #fff;
}

.post-translation {
  margin-top: 16px;
}
.translation-body {
  margin-top: 10px;
  padding: 14px;
  border: 1px solid #cbdcd0;
  border-radius: 8px;
  background: #f1f6f2;
  overflow-wrap: anywhere;
}
.translation-body p, .translation-body li {
  white-space: pre-wrap;
}
.translation-body ol {
  padding-left: 24px;
}

/* Keep chat controls mounted and scrolling local to the conversation. */
.chat-messages {
  min-height: 0;
  scroll-behavior: auto;
  overflow-anchor: none;
  overscroll-behavior: contain;
}
.chat-compose, .chat-head, #chat-status { flex-shrink: 0; }
.chat-tabs { margin-top: 12px; }
#chat-status:empty { display: none; }
.context-chip, .attachment-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 9px;
  margin-bottom: 6px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--soft);
  font-size: 11px;
  overflow-wrap: anywhere;
}
.context-chip button, .attachment-chip button { padding: 2px 7px; }
#chat-attachments { max-height: 110px; overflow: auto; }
#chat-hint { margin-top: 9px; font-size: 10px; }
.message-context { color: var(--accent); margin-bottom: 7px; }
.message-files a { display: block; margin-top: 7px; }
.link-receipt { padding: 8px; margin-top: 8px; border: 1px solid var(--line); border-radius: 6px; }
.link-receipt small { display: block; }
.publication-types { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.publication-types button { padding: 24px 18px; text-align: left; }
.publication-types strong, .publication-types small { display: block; }
.publication-types small { margin-top: 10px; color: var(--muted); line-height: 1.5; }
.post-notes { margin-top: 14px; font-size: 11px; color: var(--muted); }
summary { cursor: pointer; line-height: 1.5; }
.request-card[open] summary { margin-bottom: 13px; }
.request-card p, .knowledge-summary { white-space: pre-wrap; overflow-wrap: anywhere; }
.request-card .actions { margin-top: 14px; }
.document-file { display: block; font-size: 13px; padding: 18px; overflow-wrap: anywhere; }
#post-form details > label, #post-form details > .form-grid { margin-top: 12px; }
