:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#182a39;background:#f3f6f8;font-size:14px;--line:#e4e9ed;--green:#15765e;--muted:#73818e}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid var(--line);border-radius:8px;padding:9px 13px;color:inherit}button:hover{background:#eef5f2}button:disabled{opacity:.5;cursor:wait}input,select,textarea{border:1px solid #dce3e8;border-radius:8px;padding:10px;background:white;color:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #73b5a3;outline-offset:1px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#105c49}.muted,small{color:var(--muted)}[hidden]{display:none!important}h1,h2,p{margin-top:0}h2{font-size:19px}.brand{font-size:20px;letter-spacing:2px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green);font-weight:700}.pills{display:flex;gap:12px}.pills span{padding:8px 14px;border:1px solid #ffffff45;border-radius:24px}#login{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.intro{background:#153e36;color:#fff;padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}.intro h1{font-size:clamp(30px,4vw,58px);line-height:1.15;letter-spacing:-2px;margin:70px 0 22px}.intro p{color:#bad2ca;line-height:1.7}.pills{margin-top:28px}#login-form{align-self:center;width:min(410px,90%);margin:40px auto;padding:25px}#login-form h2{font-size:29px;margin:20px 0 10px}#login-form label{display:grid;gap:8px;margin:22px 0}#login-form button{width:100%;padding:13px}#login-error{color:#b33c3c;margin-top:16px}header{height:74px;display:flex;align-items:center;gap:20px;background:white;padding:0 28px;border-bottom:1px solid var(--line)}.header-caption{color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.sync{margin-left:auto;font-size:12px;color:var(--green)}#who{font-size:12px}main{display:flex;height:calc(100dvh - 74px)}.inbox{width:340px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:24px 18px;overflow:auto}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-head h2{margin:0}.section-head h2 span{font-size:12px;color:var(--muted)}#search{width:100%}.filters{display:flex;gap:7px;margin:12px 0 20px}.filters select{width:50%;font-size:12px}.conversation{width:100%;border:0;text-align:left;display:flex;gap:12px;padding:15px 10px;margin:4px 0}.conversation.selected{background:#eaf5f0}.avatar{height:40px;width:40px;flex-shrink:0;background:#edf1f6;border-radius:12px;display:grid;place-items:center;font-weight:600;color:#62758c}.conversation.selected .avatar{background:#d2e9de;color:#22694d}.conversation .info{min-width:0;flex:1}.conversation strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:600}.conversation .meta{display:flex;justify-content:space-between;font-size:11px;margin-top:8px;color:var(--muted)}.badge{font-size:11px;border-radius:5px;padding:2px 6px;background:#edf2f5;color:#5d7083}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);line-height:1.8}.empty h2{color:#2e4859;margin:16px 0 8px}.empty-icon{font-size:50px;color:#94b5a9}#chat{min-width:0;flex:1;display:flex;flex-direction:column}.chat-head{display:flex;align-items:center;gap:12px;padding:22px 30px;background:white;border-bottom:1px solid var(--line)}.chat-head h2{margin:0 0 5px}.chat-head>select{margin-left:auto}.assignment{display:flex;align-items:center;gap:15px;padding:10px 30px;background:#fbfcfd;font-size:12px;border-bottom:1px solid var(--line)}.assignment select{font-size:12px;padding:6px;margin-left:8px}#tags-view{flex:1;color:var(--green)}#history{flex:1;min-height:0;overflow:auto;padding:24px 32px}#older{display:block;margin:0 auto 20px}.message{max-width:76%;width:fit-content;background:white;border:1px solid var(--line);border-radius:12px 12px 12px 3px;padding:13px 16px;margin-bottom:16px;line-height:1.6;overflow-wrap:anywhere}.message.outgoing{margin-left:auto;background:#e3f1eb;border-color:#d6e8df;border-radius:12px 12px 3px 12px}.message.internal{background:#fff4d6;border-color:#f0e3bc;margin-left:auto;margin-right:auto}.message .author{font-size:12px;font-weight:600;color:#326b5a}.message .body{white-space:pre-wrap}.message .foot{font-size:10px;color:#71848a;margin-top:5px;text-align:right}.message .attachment{font-size:12px;color:#617a8a;margin-top:8px}.message .topic{font-size:11px;padding:3px 6px;margin-top:6px}.message .failed,.message .uncertain{color:#a64425}#compose{background:white;margin:0 24px 20px;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.compose-tools{display:flex;align-items:center;gap:18px;font-size:12px}.compose-tools select{border:0;padding:6px 0}.compose-tools input{width:105px;padding:5px}textarea{resize:vertical;min-height:70px;max-height:180px;width:100%;border:0;margin:8px 0}.compose-footer{display:flex;justify-content:space-between;align-items:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#notice{position:fixed;z-index:5;top:80px;left:50%;transform:translateX(-50%);background:#fff4d6;border:1px solid #e2c680;padding:12px 20px;border-radius:9px;max-width:90%;box-shadow:0 4px 20px #0001}#back{display:none}dialog{border:1px solid var(--line);border-radius:16px;max-width:630px;padding:32px;line-height:1.8}dialog::backdrop{background:#102c3a66}.dialog-close{float:right}dialog h2{margin-top:20px}code{font-size:12px;overflow-wrap:anywhere}#more-chats{width:100%;margin-top:12px}@media(max-width:850px){header{padding:0 16px;gap:12px}.header-caption,#who{display:none}.inbox{width:290px}.assignment{padding:10px 16px;flex-wrap:wrap}#history{padding:20px 16px}.chat-head{padding:16px}.message{max-width:90%}}@media(max-width:620px){#login{display:block}.intro{padding:30px}.intro h1{font-size:30px;margin:25px 0 16px}.intro .pills{display:none}#login-form{margin:20px auto}.sync{font-size:10px}header{height:64px}header .brand{font-size:16px}header button{font-size:12px;padding:7px}main{height:calc(100dvh - 64px)}.inbox{width:100%}#empty{display:none}body.chat-open .inbox{display:none}#chat{display:none}body.chat-open #chat{display:flex}#back{display:block}.chat-head h2{font-size:16px}#compose{margin:0 10px 10px;padding:10px}.compose-footer small{font-size:10px}.assignment{gap:8px}}


#setup,#analysis{width:min(660px,calc(100% - 24px));max-width:660px;max-height:calc(100dvh - 32px);overflow:auto}#setup h2,#analysis h2{clear:both}.setup-channel{display:flex;align-items:center;gap:16px;margin:0 0 20px}.setup-config{display:flex;gap:8px 24px;flex-wrap:wrap}.setup-config p{margin:0}.setup-good{color:#15765e}.setup-warning-text{color:#995119}.setup-url{margin:18px 0 12px}.setup-url code{display:block;background:#f3f6f8;padding:10px;border-radius:8px}.setup-warning{background:#fff4d6;border:1px solid #e2c680;border-radius:8px;padding:12px}.setup-actions{display:flex;gap:10px;flex-wrap:wrap}.setup-status{background:#f6f8fa;border:1px solid var(--line);border-radius:10px;padding:16px;margin:16px 0}.setup-status dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 12px;margin:12px 0 0}.setup-status dt{color:#61717e}.setup-status dd{margin:0;overflow-wrap:anywhere}.setup-note{font-size:12px}#telegram-action-message,#max-action-message{margin:12px 0;overflow-wrap:anywhere}#setup summary{cursor:pointer;font-weight:600;margin-bottom:12px}#setup ol{padding-left:22px}#setup li{margin-bottom:10px}.analysis-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.analysis-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.analysis-metrics>div{background:#edf5f1;border-radius:10px;padding:14px}.analysis-metrics strong,.analysis-metrics span{display:block}.analysis-metrics strong{font-size:26px;color:var(--green)}.analysis-metrics span{font-size:12px}.analysis-participants{padding-left:20px}.analysis-source{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.analysis-source summary{cursor:pointer}.analysis-text{white-space:pre-wrap;margin:12px 0 0;line-height:1.6}#analysis-progress{margin-top:16px}.assignment{flex-wrap:wrap}@media(max-width:620px){#setup,#analysis{padding:20px}.setup-actions button{width:100%}.setup-status dl{grid-template-columns:1fr;gap:2px}.setup-status dd{margin-bottom:10px}.analysis-metrics{gap:6px}.analysis-metrics>div{padding:10px}.analysis-toolbar button{width:100%}}

.network-report{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.5;max-height:300px;overflow:auto}
.group-open{display:block;width:fit-content;font-size:12px;color:var(--green);margin-top:4px;text-underline-offset:3px}#group-link-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto}#group-link-dialog h2{clear:both}#group-link-fetch{margin-top:16px}#group-link-message{margin:12px 0 0;overflow-wrap:anywhere}
.reply-preview{display:flex;gap:12px;align-items:flex-start;background:#edf5f1;border-left:3px solid var(--green);padding:8px 10px;border-radius:6px;margin-top:8px;font-size:12px}.reply-preview>div{flex:1;min-width:0}.reply-preview p,.message-quote p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.reply-preview button{padding:2px 8px}.reply-action{display:block;font-size:11px;padding:3px 8px;margin-top:8px}.message-quote{border-left:3px solid #91b9a9;padding:6px 10px;margin:6px 0 10px;background:#ffffff80;font-size:12px;white-space:normal}

#chat-name-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto}#chat-name-dialog h2{clear:both}.chat-name-label{display:grid;gap:6px;margin-bottom:8px}.chat-name-label input{width:100%}#chat-name-current,#chat-name-provider-title,#chat-name-message{overflow-wrap:anywhere}.chat-head>div{min-width:0}.chat-head h2{overflow-wrap:anywhere}

#users-dialog{width:min(920px,calc(100% - 24px));max-width:920px;max-height:calc(100dvh - 32px);overflow:auto}#users-dialog h2{clear:both}.users-roles{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.users-roles p{background:#edf5f1;border-radius:10px;padding:12px}.users-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.users-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}#users-search{width:100%;margin-bottom:12px}#users-list{max-height:440px;overflow:auto}.user-card{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px;overflow-wrap:anywhere}.user-card p{margin:4px 0;font-size:12px}.user-card button{margin-top:6px}#user-form{background:#f6f8fa;border:1px solid var(--line);border-radius:12px;padding:16px}#user-form h3{margin:0 0 14px}#user-form label{display:grid;gap:4px;margin:12px 0 6px}#user-form input,#user-form select{width:100%;min-width:0}#user-form .user-active{display:flex;gap:8px;align-items:center}#user-active{width:auto!important}#user-save{width:100%;margin-top:12px}#users-message{margin:16px 0 0;overflow-wrap:anywhere}#user-show-password{font-size:12px;padding:5px 8px}@media(max-width:700px){#users-dialog{padding:20px}.users-layout{grid-template-columns:1fr}#users-list{max-height:220px}}@media(max-width:620px){header{gap:8px}.sync{display:none}.users-roles{grid-template-columns:1fr;gap:0}}@media(max-width:420px){header .brand{display:none}}

#mail-form{padding:16px;border:1px solid var(--line);border-radius:12px;background:#f6f8fa;margin:16px 0}.mail-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mail-fields label{display:grid;gap:4px;min-width:0}.mail-fields input,.mail-fields select{width:100%;min-width:0}.mail-envelope{font-size:12px;color:#526d7c;white-space:pre-wrap;border-bottom:1px solid var(--line);padding-bottom:8px}.mail-address,#mail-message{overflow-wrap:anywhere}#mail-list .setup-status p{margin:6px 0;font-size:13px}#mail-list .setup-actions{margin-top:12px}#mail-list button{font-size:12px}@media(max-width:620px){.mail-fields{grid-template-columns:1fr}}

.inbox-counters{border:1px solid var(--line);border-radius:12px;background:#f8fafb;padding:12px;margin:0 0 16px}.counter-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.counter-toolbar select{flex:1;min-width:0;padding:6px 8px;font-size:12px}.counter-toolbar button{padding:6px 9px;font-size:12px}.counter-statuses{display:grid;grid-template-columns:1fr 1fr;gap:7px}.counter-status{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:9px 11px;text-align:left}.counter-status span{font-size:12px}.counter-status strong{font-size:22px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.counter-status[data-status="new"] strong{color:#15765e}.counter-status[data-status="active"] strong{color:#275c90}.counter-status[data-status="waiting"] strong{color:#90620e}.counter-status[data-status="closed"] strong{color:#63717e}.counter-status[aria-pressed="true"]{background:#eaf5f0;border-color:#5d9d87}.counter-status:disabled{cursor:default}#counter-progress{font-size:11px;line-height:1.5;margin:9px 0 0}
#summary-dialog{width:min(820px,calc(100% - 24px));max-width:820px;max-height:calc(100dvh - 32px);overflow:auto}#summary-dialog h2{clear:both}.summary-metric-label{display:flex;align-items:center;gap:12px;margin-bottom:16px}.summary-metric-label select{min-width:0;max-width:100%}#summary-description,#summary-progress,.summary-help{font-size:12px;line-height:1.6}.summary-scroll{overflow-x:auto;margin:16px 0}#summary-table{border-collapse:collapse;width:100%;min-width:560px;font-size:13px;font-variant-numeric:tabular-nums}#summary-table th,#summary-table td{border-bottom:1px solid var(--line);padding:8px 5px;text-align:right}#summary-table th:first-child{text-align:left}#summary-table thead th{font-size:12px;white-space:nowrap}#summary-table tbody tr:first-child{background:#edf5f1}.summary-count{width:100%;text-align:right;border-color:transparent;background:transparent;padding:7px 9px}.summary-count[aria-pressed="true"]{border-color:#5d9d87;background:#e3f1eb}.summary-count:disabled{cursor:default}@media(max-width:620px){#summary-dialog{padding:20px}.summary-metric-label{align-items:flex-start;flex-direction:column;gap:5px}.summary-metric-label select{width:100%}}

.counter-status[data-status="read"] strong{color:#6459a1}.counter-statuses .counter-status:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}
.message.is-important,.marked-message.is-important{border:2px solid #bc8d26;background:#fff8e6}.message-marks{font-size:11px;font-weight:600;color:#866017;margin-top:8px}.message-mark-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.message-mark-actions button{font-size:11px;padding:3px 7px}.message-mark-actions button[aria-pressed="true"]{background:#fff0c6;border-color:#bc8d26}#marked-dialog{width:min(740px,calc(100% - 24px));max-width:740px;max-height:calc(100dvh - 32px);overflow:auto}#marked-dialog h2{clear:both}#marked-chat{overflow-wrap:anywhere}#marked-filter{max-width:100%}#marked-dialog .marked-message{border:1px solid var(--line);border-radius:10px;padding:14px;margin:14px 0;overflow-wrap:anywhere}#marked-dialog .marked-message.is-important{border:2px solid #bc8d26}.marked-message .body{white-space:pre-wrap}.marked-message p{font-size:12px;margin:6px 0}#marked-more{width:100%}@media(max-width:620px){#marked-dialog{padding:20px}}

.telegram-image{display:block;max-width:100%;max-height:360px;object-fit:contain;border-radius:8px;margin:8px 0}.image-open{display:inline-block;margin:4px 0}.forward-origin{border-left:3px solid #148575;padding:8px 12px;margin:8px 0}.attachment button{display:block;margin-top:8px}

.sidebar-tabs{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid #dce5e8}.sidebar-tabs button{flex:1}.sidebar-tabs [aria-selected=true]{background:#e6f3ee;color:#117761;border-color:#117761}#pinned-sidebar{padding:0 16px 16px}#pinned-sidebar input,#pinned-sidebar select{width:100%;margin-bottom:10px}.pinned-card{border:1px solid #dce5e8;border-radius:10px;padding:10px;margin:10px 0}.pinned-open{display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;width:100%;border:0;background:transparent;white-space:normal;overflow-wrap:anywhere}.pinned-open p{margin:0}.focused-message{outline:2px solid #168575}#latest-messages{position:sticky;top:0;z-index:1;background:#fff}

.conversation-date{display:block;font-size:11px;color:var(--muted);margin-top:6px}.counter-explanation{font-size:11px;line-height:1.45;margin:8px 0 12px}

/* Workspace contrast and generous conversation navigation. */
:root{color:#172c3e;background:#dfe7ee;--line:#acbbc8;--muted:#516579;--green:#126e59;font-size:15px}
button,input,select,textarea{border-color:#a8b8c7}button{font-weight:500}button:hover{background:#e3eee9;border-color:#6f8c82}button:focus-visible{outline:3px solid #22896d;outline-offset:2px}
header{height:68px;background:#20384b;color:#f7fafc;border-bottom:2px solid #112638;box-shadow:0 2px 8px #10253626;padding:0 24px;gap:16px}header .header-caption{color:#c2d0db;border-color:#637b8d}header .sync{color:#b3ead8}header button{background:#304c62;color:#fff;border-color:#6b8294}header button:hover{background:#405f76}header #who{color:#dce7ef}
main{height:calc(100dvh - 68px);background:#dfe7ee}.inbox{width:clamp(390px,29vw,510px);padding:0 16px 18px;background:#edf2f6;border-right:2px solid #8fa4b5;box-shadow:3px 0 10px #22384b0d;scrollbar-color:#859cad #e4ebf1;scrollbar-gutter:stable}
.sidebar-tabs{position:sticky;top:0;z-index:2;margin:0 -16px 16px;padding:14px 16px;background:#dce6ee;border-bottom:1px solid #98aebe;gap:8px}.sidebar-tabs button{min-height:42px;background:#f8fafc;border-color:#9bafbf;font-size:15px;font-weight:650}.sidebar-tabs [aria-selected=true]{background:#176f5b;color:#fff;border-color:#0d5746;box-shadow:0 2px 4px #173e3526}
.section-head{margin-bottom:14px}.section-head h2{font-size:21px}.section-head h2 span{font-size:13px}.inbox-counters{background:#f8fafc;border-color:#a7b9c8;padding:12px;margin-bottom:14px;box-shadow:0 2px 4px #1b35400a}.counter-toolbar select,.counter-toolbar button{font-size:13px;padding:8px 10px}.counter-explanation{font-size:12px;margin:6px 0 10px;color:#455d70}.counter-statuses{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.counter-status{padding:7px 9px;background:#fff;border-color:#a8bac7;gap:2px}.counter-status span{font-size:11px}.counter-status strong{font-size:21px}.counter-statuses .counter-status:last-child:nth-child(odd){grid-column:auto;flex-direction:column;align-items:flex-start;justify-content:flex-start}.counter-status[aria-pressed=true]{background:#dbeee6;border-color:#438d73;box-shadow:inset 0 0 0 1px #438d73}#counter-progress{font-size:11px}
#search,#pinned-search{min-height:43px;border-color:#8fa6b8;background:#fff}.filters{margin:10px 0 14px;gap:8px}.filters select{font-size:13px;border-color:#9db1c1;padding:9px 7px}.conversation{background:#fff;border:1px solid #b3c2cd;border-left:4px solid #b3c2cd;border-radius:10px;padding:13px 12px;margin:0 0 9px;gap:12px;box-shadow:0 1px 3px #1b344511;min-height:100px}.conversation:hover{background:#f5faf8;border-color:#7c9e92}.conversation.selected{background:#dceee6;border-color:#4b8e76;border-left-color:#126e59;box-shadow:0 2px 6px #126e591a}.avatar{height:45px;width:45px;background:#e2eaf1;color:#3e5b73}.conversation.selected .avatar{background:#b9dbce;color:#13533e}.conversation strong{font-size:14px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;overflow:hidden}.conversation .meta{font-size:12px;margin-top:7px;gap:8px;align-items:center}.badge{font-size:11px;background:#e5edf3;color:#38546d;border:1px solid #beccd6}.conversation.selected .badge{background:#c8e3d6;color:#235c43;border-color:#83b69f}.conversation-date{font-size:12px;color:#4d6476;margin-top:5px;font-variant-numeric:tabular-nums}
#chat{background:#dfe7ee}.chat-head{padding:17px 26px;background:#f8fafc;border-bottom:1px solid #9aafbf}.chat-head h2{font-size:21px}.chat-head #chat-meta{font-size:13px;color:#526c80}.assignment{padding:10px 26px;background:#e9eff4;border-bottom:1px solid #a1b5c5;gap:10px;font-size:13px}.assignment button,.assignment select{border-color:#a6b7c5;background:#fff}.assignment label{font-weight:550}#history{padding:24px 28px;scrollbar-color:#8b9ead #dfe7ee}.message{border-color:#a5b9c8;box-shadow:0 2px 5px #243c4d12;padding:13px 16px;margin-bottom:18px;max-width:min(80%,900px);font-size:15px}.message.outgoing{background:#d5eade;border-color:#82b198}.message.internal{background:#fff0c8;border-color:#cfae52}.message .author{font-size:13px;color:#245944}.message .foot{font-size:11px;color:#526a79;margin-top:9px}.message .attachment{color:#405e74}.message.is-important{border-color:#ae801c;background:#fff5dc}.message-mark-actions button,.reply-action{font-size:12px;padding:5px 9px;border-color:#9eb3c2;background:#f8fbfd}.message-mark-actions button:hover,.reply-action:hover{background:#e3eee9}.reply-action{font-weight:650}.message-quote{background:#eaf1f5;border-left-color:#639884}.forward-origin{background:#eef4f7}.message .body{line-height:1.65}
#compose{margin:0 22px 18px;padding:14px 16px;background:#f8fafc;border:1px solid #829bad;border-top:3px solid #23765f;box-shadow:0 -3px 12px #203b4d12;border-radius:12px}.compose-tools{font-size:13px;gap:15px}.compose-tools select{background:#edf3f6;border:1px solid #b1c2ce;padding:7px 9px}.compose-tools input{padding:7px;background:white}#body{border:1px solid #b5c5d0;background:white;padding:11px;min-height:78px;font-size:15px}#body::placeholder{color:#60778a}.compose-footer small{font-size:12px;color:#4b6275}#send{padding:10px 18px;font-weight:650}.empty{color:#526c7c}.empty h2{color:#243f52}
#pinned-sidebar{padding:0}.pinned-card{background:#fff;border-color:#a7bac8;box-shadow:0 2px 5px #1b354012;padding:12px}.pinned-open{color:#19384b}.pinned-open strong{font-size:15px}.pinned-open .muted{font-size:12px}.pinned-card>button:last-child{margin-top:8px;font-size:12px}dialog{border-color:#8ea5b7;box-shadow:0 18px 70px #10253644}dialog::backdrop{background:#122a3d80}.setup-status,.user-card,#mail-form,#user-form{border-color:#a9bbc9}.focused-message{outline:3px solid #168575;outline-offset:3px}
@media(min-width:1600px){.conversation strong{font-size:15px}.counter-status span{font-size:12px}.inbox{padding-left:18px;padding-right:18px}}
@media(min-width:621px) and (max-width:1050px){.inbox{width:350px;padding-left:12px;padding-right:12px}.sidebar-tabs{margin-left:-12px;margin-right:-12px;padding:12px}.chat-head{padding:15px 18px}.assignment{padding:10px 18px}#history{padding:18px}.message{max-width:95%}#compose{margin:0 12px 12px}.header-caption{display:none}header{gap:10px;padding:0 16px}}
@media(max-width:620px){header{height:64px;padding:0 10px;gap:7px}main{height:calc(100dvh - 64px)}.inbox{width:100%;border-right:0;padding:0 14px 16px}.sidebar-tabs{margin-left:-14px;margin-right:-14px;padding:12px 14px}.conversation{min-height:98px}.chat-head{padding:13px 14px}.chat-head h2{font-size:17px}.assignment{padding:9px 12px;gap:7px}#history{padding:18px 12px}.message{max-width:94%;padding:11px 13px}#compose{margin:0 8px 8px;padding:10px}.compose-tools{gap:9px;font-size:12px}.compose-footer small{font-size:11px;max-width:65%}#body{min-height:65px}#send{padding:9px 12px}}

.sidebar-tabs{display:grid;grid-template-columns:1fr 1fr}.sidebar-tabs button{min-width:0}.mail-open .filters select:not([hidden]){width:100%}.section-head #list-title{font-size:21px;color:inherit}#tasks-sidebar label,#task-form label{display:grid;gap:6px;margin-bottom:14px}#tasks-sidebar input,#tasks-sidebar select{width:100%;min-width:0}#tasks-sidebar p{font-size:13px;line-height:1.5}#task-board{min-width:0;flex:1;display:flex;flex-direction:column;background:#dfe7ee}.task-board-head{padding:22px 24px 12px;border-bottom:1px solid #a4b8c8;background:#f0f5f8}.task-board-head h2{margin-bottom:8px}.task-board-head p{font-size:13px;margin:0}.task-columns{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:14px;padding:20px;overflow:auto;flex:1;min-height:0;align-items:start}.task-column{border:1px solid #a8bbca;border-radius:12px;padding:12px;background:#edf3f7;min-height:200px}.task-column h3{margin:0 0 14px;font-size:15px;border-top:4px solid #7e98ae;padding-top:12px}.task-column[data-status=active] h3{border-color:#2481b3}.task-column[data-status=waiting] h3{border-color:#c69336}.task-column[data-status=done] h3{border-color:#238663}.task-card{background:white;border:1px solid #a2b8c8;border-radius:10px;padding:13px;margin:10px 0;box-shadow:0 2px 5px #203b4c12;overflow-wrap:anywhere}.task-card-title{display:block;line-height:1.45;margin-bottom:8px}.task-card>.muted{display:block;font-size:12px;line-height:1.4}.task-card-person{font-size:13px;font-weight:600;margin:10px 0}.task-overdue{color:#aa3224;font-size:12px;font-weight:650}.task-card-description{font-size:13px;white-space:pre-wrap}.task-card select{width:100%;font-size:12px;padding:7px}.task-card-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.task-card-actions button{font-size:12px;padding:6px 8px}#task-editor{width:min(700px,calc(100% - 24px));max-width:700px;max-height:calc(100dvh - 24px);overflow:auto}#task-editor-title{clear:both}.task-source-preview{padding:12px;background:#edf3f7;border-left:3px solid #238268;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:150px;overflow:auto}#task-form input,#task-form select,#task-form textarea{width:100%;min-width:0}#task-description{border:1px solid #a7bac8;margin:0}.task-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-editor-actions{display:flex;justify-content:flex-end;gap:10px}.tasks-open #chat{display:none!important}.tasks-open #empty{display:none!important}@media(max-width:620px){body.tasks-open main{flex-direction:column}body.tasks-open .inbox{display:block!important;width:100%;max-height:43dvh;flex-shrink:0;border-bottom:2px solid #9fb3c2}body.tasks-open #task-board{display:flex;min-height:0}.task-board-head{padding:12px}.task-board-head p{display:none}.task-columns{grid-template-columns:repeat(4,240px);padding:12px;gap:10px}#task-editor{padding:18px}.task-editor-grid{grid-template-columns:1fr}.task-board-head h2{font-size:17px}}

.sidebar-tabs{grid-template-columns:1fr 1fr}.sidebar-tabs #tab-pinned{grid-column:1/-1}#tab-tasks{font-weight:700;background:#126e59;border-color:#87c7b3}#tab-tasks[aria-pressed=true]{background:#d9f1e7;color:#134e3e;border-color:#8ac9b1}@media(max-width:620px){header #tab-tasks{padding:7px 9px}header #help,header #manage-users{font-size:11px;padding:7px}}
#connections-settings{margin:18px 0 24px;padding:14px;background:#edf3f7;border:1px solid #9fb5c5;border-radius:10px}#connections-settings>p{font-size:12px}.connection-card{border:1px solid #afc0cd;background:#fff;border-radius:9px;padding:12px;margin:10px 0;overflow-wrap:anywhere}.connection-card p{font-size:12px;margin:5px 0}.connection-card button{display:block;margin-top:10px}.connection-card strong{display:block}

.product-switch{min-width:180px;max-width:370px;flex:1}.product-switch select{width:100%;font-weight:700;border:1px solid #6f91b4;background:#eff7ff;color:#143a61}.author[href]{display:block;color:#067789;text-decoration:underline;text-underline-offset:3px}.connection-card select{max-width:100%}
.protocol-suggestions{margin:12px 0;padding:14px 16px;border:1px solid #cfe0ea;border-radius:12px;background:#f7fbfd}.protocol-suggestions h3{margin:0 0 4px}.protocol-suggestions label{display:block;margin:8px 0}.protocol-suggestions label select{display:block;width:100%;margin-top:4px}
.protocol-suggestion-list{padding-left:22px}.protocol-suggestion{margin:10px 0}.protocol-suggestion-head{display:grid;grid-template-columns:auto 1fr 170px;gap:8px;align-items:center}.protocol-suggestion-head input[type=checkbox]{width:18px;height:18px;margin:0}.protocol-suggestion-head input{min-width:0}.protocol-suggestion p{margin:4px 0 0}.protocol-suggestion-rejected{opacity:.6}
@media(max-width:640px){.protocol-suggestion-head{grid-template-columns:auto 1fr}.protocol-suggestion-head input[type=date]{grid-column:2}}
.protocol-suggestion-head input[list]{grid-column:2/4}.protocol-suggestion-head .field-error{border-color:#c0392b;background:#fff5f4}
@media(max-width:640px){.protocol-suggestion-head input[list]{grid-column:2}}
.protocol-manage{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #d9e6ef}.protocol-manage p{flex-basis:100%;margin:0;font-size:12px}.protocol-manage button.danger{color:#a3281b;border-color:#ffb6a7;background:#fff0ed}
.protocol-health{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin:4px 0;font-size:13px}.protocol-health-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;color:#fff;background:#8a9aa8}.protocol-health.ok .protocol-health-dot{background:#238663}.protocol-health.bad .protocol-health-dot{background:#c0392b}.protocol-health.wait .protocol-health-dot{background:#c69336}.protocol-health>span:last-child{color:#4b6070}.protocol-health-devices{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 6px 26px}.protocol-chip{font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid #c3d5e4;background:#f3f8fc}.protocol-chip.ok{border-color:#9fd3bd;background:#eaf7f1}.protocol-chip.bad{border-color:#f0c2b8;background:#fff3f0}
.protocol-suggestion-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px}.protocol-suggestion-picker button{font-size:13px;padding:6px 12px}.protocol-suggestion-picker .muted{font-size:13px}
.button-link{display:inline-block;padding:8px 14px;border:1px solid #9fc1da;border-radius:8px;background:#fff;color:#1f6fa8;font-weight:600;text-decoration:none;margin-left:6px}
.protocol-row-wrap{display:flex;align-items:stretch;gap:6px;margin-bottom:10px}.protocol-row-wrap>.protocol-row{margin-bottom:0}.protocol-row-wrap>.protocol-row{flex:1;min-width:0}.protocol-row-delete{flex:none;width:44px;padding:0;font-size:16px;border-radius:10px;background:#fff;border:1px solid #d8e3ec;color:#a3281b;cursor:pointer}.protocol-row-delete:hover{background:#fff0ed;border-color:#ffb6a7}
.protocol-downloads{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 14px}.protocol-downloads button{font-size:13px;padding:8px 12px}
.protocol-row-redo{color:#1f6fa8}.protocol-row-redo:hover{background:#eef6fc;border-color:#9fc1da}
.task-project-row{display:flex;gap:6px;align-items:stretch;margin:4px 0}.task-project-row .task-project-chip{flex:1;min-width:0}.task-project-add{flex:none;width:40px;padding:0;border-radius:8px;border:1px solid #dbe5ec;background:#fff;color:#1f6fa8;font-size:16px;cursor:pointer}.task-project-add:hover{background:#eef6fc}
.meeting-start{background:#fff0f2;border:1px solid #ffb3c0;color:#b4123a;font-weight:700}.meeting-start:hover{background:#ffe3e8}
.meeting-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;flex-wrap:wrap;gap:10px;max-width:calc(100% - 24px);padding:10px 14px;border-radius:16px;background:#0f172a;color:#eaf1ff;box-shadow:0 12px 40px #0f172a66}
.meeting-bar strong{font-variant-numeric:tabular-nums;font-size:18px;min-width:56px}.meeting-state{font-size:13px;color:#b9c6e0;max-width:420px}
.meeting-dot{width:12px;height:12px;border-radius:50%;background:#ff3b5c;box-shadow:0 0 10px #ff3b5c;animation:meetingBlink 1.2s ease-in-out infinite}
.meeting-bar[data-state=paused] .meeting-dot,.meeting-bar[data-state=sending] .meeting-dot{animation:none;background:#ffc65a;box-shadow:none}.meeting-bar[data-state=failed] .meeting-dot{animation:none;background:#ff8a9c}
.meeting-meter{width:90px;height:6px;border-radius:3px;background:#ffffff1f;overflow:hidden}.meeting-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,#5ad1ff,#7c6bff);transition:width .2s}
.meeting-bar button{min-height:36px;padding:6px 12px;border-radius:10px;font-size:13px;font-weight:700;border:1px solid #ffffff2a;background:#ffffff14;color:#eaf1ff}.meeting-bar button.primary{background:#ff3b5c;border-color:#ff3b5c;color:#fff}
@keyframes meetingBlink{50%{opacity:.35}}
#meeting-help{max-width:560px}#meeting-help ul{padding-left:20px;line-height:1.55}
@media(min-width:760px){.meeting-bar{flex-wrap:nowrap;white-space:nowrap}.meeting-state{white-space:normal}}
/* 2.51 — заставка вместо экрана входа при сохранённом входе и при смене проекта */
#boot-splash{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f3b4d,#2c3e66 60%,#3b3a6e)}
html.booting #boot-splash{display:flex}
html.booting #login{display:none!important}
.boot-card{display:grid;justify-items:center;gap:14px;color:#e8f1f6;font-size:15px;font-weight:600}
.boot-card p{margin:0}
.boot-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #ffffff40;border-top-color:#fff;animation:boot-spin .8s linear infinite}
@keyframes boot-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.boot-spinner{animation-duration:2.4s}}
#user-form .user-delete{width:100%;margin-top:10px;border:1px solid #d9a49e;color:#a3281b;background:#fff2f0}#user-form .user-delete:focus-visible{outline:3px solid #a3281b;outline-offset:2px}#user-form .user-delete:disabled{opacity:.55}
.protocol-jobs{display:grid;gap:6px;margin:8px 0 4px;font-size:13px}.protocol-job{display:grid;gap:3px;padding:7px 10px;border-radius:8px;border:1px solid #e3cf9e;background:#fffaf0}.protocol-job.bad{border-color:#f0c2b8;background:#fff3f0}.protocol-job-title{font-weight:600}.protocol-job progress{width:100%;height:6px}.protocol-job .link-button{justify-self:start;border:0;background:none;padding:0;color:#1769aa;text-decoration:underline;cursor:pointer;font:inherit}

.user-messengers label#user-channel-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px;font-weight:600}.user-messengers #user-channel{width:auto}.user-messenger{border-top:1px solid var(--line);padding:10px 0 2px}.user-messenger summary{cursor:pointer;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.user-messenger summary span{font-size:13px}.user-messenger summary::-webkit-details-marker{display:none}.user-messenger summary::after{content:"▸";margin-left:auto;color:#61717e}.user-messenger[open] summary::after{content:"▾"}.user-messenger[open] summary{margin-bottom:8px}.user-messenger .setup-actions button{font-size:13px;padding:6px 10px}@media(max-width:620px){.user-messenger .setup-actions button{width:auto}}
.protocol-drop{display:grid;gap:2px;justify-items:center;margin:10px 0 0;padding:16px 12px;border:2px dashed #9cbad3;border-radius:12px;background:#f6fafd;color:#24577d;text-align:center;cursor:pointer;transition:background .15s,border-color .15s}.protocol-drop span{font-size:13px;color:#5d7487}.protocol-drop:hover,.protocol-drop:focus-visible{background:#eaf3fb;border-color:#2e86c1;outline:none}.protocol-drop.over{background:#e3f4ea;border-color:#238663;color:#17603f}.protocol-drop.busy{cursor:progress;border-style:solid}
.user-access{margin:6px 0 10px}.user-access textarea{width:100%;font:inherit;font-size:13px}
.pult-update{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:1000;display:flex;gap:12px;align-items:center;padding:10px 14px;background:#1f3b52;color:#fff;border-radius:12px;box-shadow:0 8px 28px #0005;font-size:14px}.pult-update button{white-space:nowrap}
.protocol-view-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 6px}.protocol-view-head .link-button{border:0;background:none;padding:4px 0;color:#1769aa;font:inherit;font-size:14px;cursor:pointer}
.protocol-view{background:#fff;border:1px solid #d7e3ed;border-radius:12px;padding:14px 18px;font-size:15px;line-height:1.6;color:#1d2b36;overflow-wrap:anywhere;user-select:text}
.protocol-view h3{margin:18px 0 6px;font-size:15px;letter-spacing:.02em;color:#1f3864;text-transform:uppercase}.protocol-view h3:first-child{margin-top:0}
.protocol-view p{margin:0 0 8px}.protocol-view ul,.protocol-view ol{margin:0 0 10px;padding-left:22px}.protocol-view li{margin:3px 0}.protocol-view li.sub{margin-left:18px;list-style:circle}.protocol-view strong{color:#0f2537}
@media (max-width:640px){.protocol-view{font-size:16px;padding:12px 14px;border-radius:10px}.protocol-view h3{font-size:15px}}

/* Личный вид метрик и постоянные ссылки на исходные листы доступны всем ролям. */
.metrics-view-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0;font-size:12px;color:var(--tx,#182a39)}
.metrics-view-controls>strong{font-size:13px}
#metrics-board .metrics-view-controls button{min-height:36px;padding:7px 11px;border:1px solid var(--bd2,#cbdce8);background:var(--surf,#fff);color:var(--tx,#182a39);font-size:12px;white-space:normal}
.metrics-layout-editor{display:flex;flex-wrap:wrap;gap:12px 24px;margin:10px 0 14px;padding:12px 14px;border:1px solid var(--bd2,#cbdce8);border-radius:10px;background:var(--surf,#fff);min-width:0;font-size:12px;color:var(--tx,#182a39)}
.metrics-layout-group{flex:1 1 260px;min-width:0}.metrics-layout-group h4{margin:0 0 6px;font-size:13px}
.metrics-layout-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.metrics-layout-row{display:flex;align-items:center;gap:6px;min-width:0}.metrics-layout-row label{flex:1;min-width:0;overflow-wrap:anywhere;display:flex;align-items:center;gap:6px}
#metrics-board .metrics-layout-move{min-width:32px;min-height:30px;padding:2px 8px;border:1px solid var(--bd2,#cbdce8);background:var(--surf,#fff);color:var(--tx,#182a39)}
.metrics-layout-extra .metrics-layout-row{justify-content:space-between}.metrics-layout-extra .metrics-layout-row>span{min-width:0;overflow-wrap:anywhere}
.metrics-tile,#metrics-body section.metrics-card{position:relative}
.metrics-drag-handle{border:0;background:transparent;color:var(--mu,#597387);cursor:grab;touch-action:none;font-size:15px;line-height:1;padding:4px 6px;border-radius:6px;min-height:0}.metrics-drag-handle::before{content:'⠿'}
.metrics-card-tools{position:absolute;top:6px;right:6px;display:flex;gap:2px;opacity:.4}section.metrics-card>.metrics-card-tools{top:12px;right:10px}
.metrics-tile:hover>.metrics-card-tools,section.metrics-card:hover>.metrics-card-tools,.metrics-card-tools:focus-within{opacity:1}
.metrics-subsection{position:relative}summary>.metrics-card-tools,.metrics-subsection>h3>.metrics-card-tools,.metrics-subsection>h4>.metrics-card-tools{position:static;display:inline-flex;margin-left:8px;vertical-align:middle;opacity:.4}
summary:hover>.metrics-card-tools,.metrics-subsection>h3:hover>.metrics-card-tools,.metrics-subsection>h4:hover>.metrics-card-tools{opacity:1}
.metrics-body.metrics-flow{display:flex;flex-wrap:wrap;align-items:flex-start}.metrics-body.metrics-flow>*{flex:1 1 100%;min-width:0}
.metrics-body.metrics-flow>.metrics-sized{flex:0 1 var(--metrics-width,100%)}.metrics-sized .metrics-chart{min-width:0!important;width:100%;height:auto}
#metrics-body section.metrics-resizable{overflow:auto;min-height:120px;min-width:240px}.metrics-resize-grip{position:absolute;z-index:4;touch-action:none;user-select:none}.metrics-resize-x{top:0;right:0;width:10px;height:100%}.metrics-resize-y{left:0;bottom:0;height:10px;width:100%}.metrics-resize-xy{right:0;bottom:0;width:18px;height:18px;background:linear-gradient(135deg,transparent 45%,#9fb3c2 45% 52%,transparent 52% 64%,#9fb3c2 64% 71%,transparent 71%);border-bottom-right-radius:12px;opacity:.7}.metrics-resize-x:hover,.metrics-resize-y:hover{background:rgba(32,120,200,.12)}.metrics-resize-xy:hover{opacity:1}body.metrics-resize-active,body.metrics-resize-active *{user-select:none!important}#metrics-body section.metrics-resizing{flex:0 0 auto!important;max-width:100%}
@media(max-width:760px){.metrics-body.metrics-flow>.metrics-sized{flex-basis:100%}#metrics-body .metrics-resize-grip{display:none}}
.metrics-width-handle{border:0;background:transparent;color:var(--mu,#597387);cursor:pointer;font-size:13px;line-height:1;padding:4px 6px;border-radius:6px;min-height:0}.metrics-width-handle::before{content:'⇔'}
.metrics-zoom{display:inline-flex;align-items:center;gap:4px}.metrics-zoom-value{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}
#metrics-body section.metrics-card>h3{padding-right:84px}.metrics-tile>.metrics-tile-label{padding-right:44px}
.metrics-drag-tip{color:var(--mu,#597387)}
.metrics-import-badge{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;background:#eaf1fb;color:#2b5d8f;font-size:11px;font-weight:600;vertical-align:middle}.metrics-tile>.metrics-import-badge{margin:6px 0 0;align-self:flex-start}
.metrics-view-name{display:inline-flex;gap:6px;align-items:center}.metrics-view-name input{min-height:36px;padding:4px 10px;border:1px solid var(--bd2,#cbdce8);border-radius:8px;min-width:220px}
.metrics-layout-actions{display:flex;flex-wrap:wrap;gap:8px}.metrics-view-status:empty{display:none}
.metrics-print-head{display:none}
@media print{body.metrics-printing #metrics-board,body.metrics-printing #metrics-board *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body.metrics-printing *{visibility:hidden!important}body.metrics-printing #metrics-board,body.metrics-printing #metrics-board *{visibility:visible!important}
 body.metrics-printing #metrics-board{position:static;width:100%}}
/* Вид отчёта: при печати и при сборке PDF-файла (класс ставится на время, в копии страницы). */
 body.metrics-printing .metrics-card-tools,body.metrics-printing .metrics-view-controls,body.metrics-printing .metrics-layout-editor,body.metrics-printing #metrics-board .metrics-actions,body.metrics-printing .help-trigger,body.metrics-printing .metrics-values-toggles{display:none!important}
body.metrics-printing .metrics-resize-grip{display:none}body.metrics-printing #metrics-body .metrics-print-skip,body.metrics-printing #metrics-board .metrics-head,body.metrics-printing #metrics-body select{display:none!important}body.metrics-printing #metrics-body .metrics-chart-scroll,body.metrics-printing #metrics-body .metrics-tile,body.metrics-printing #metrics-body tr{break-inside:avoid}body.metrics-printing #metrics-body h3,body.metrics-printing #metrics-body h4{break-after:avoid}body.metrics-printing #metrics-body section.metrics-card{break-inside:auto;resize:none;overflow:visible;height:auto!important;max-height:none!important;box-shadow:none}
/* PDF: всё по ширине страницы — графики сжимаются, таблицы без прокрутки и мельче. */
body.metrics-printing #metrics-body .metrics-chart-scroll,body.metrics-printing #metrics-body .metrics-table-scroll{overflow:visible!important;max-width:100%!important}
body.metrics-printing #metrics-body .metrics-chart{min-width:0!important;width:100%!important;height:auto!important}
body.metrics-printing #metrics-body .metrics-analytics-table,body.metrics-printing #metrics-body .metrics-table{min-width:0!important;width:100%!important;table-layout:auto;font-size:9px}body.metrics-printing #metrics-body table.metrics-month-columns{font-size:8px}
body.metrics-printing #metrics-body .metrics-table th,body.metrics-printing #metrics-body .metrics-table td{padding:3px 4px!important}body.metrics-printing #metrics-body .metrics-table th{white-space:normal!important;overflow-wrap:normal;hyphens:auto}body.metrics-printing #metrics-body .metrics-table td{white-space:normal}body.metrics-printing #metrics-body .metrics-table td.metrics-print-num{white-space:nowrap}
body.metrics-printing #metrics-body section.metrics-card{width:auto!important;flex-basis:100%!important;max-width:100%!important}
body.metrics-printing #metrics-body .metrics-sales-months-head label,body.metrics-printing #metrics-body .metrics-contracts-filter{display:none!important}
body.metrics-printing .metrics-print-head{display:flex!important;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:16px}
body.metrics-printing .metrics-chart-scroll{overflow:visible}
body.metrics-printing #metrics-body .metrics-repair-grid{grid-template-columns:1fr}body.metrics-printing #metrics-body .metrics-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.metrics-hide-handle{border:0;background:transparent;color:var(--mu,#597387);cursor:pointer;font-size:13px;line-height:1;padding:4px 6px;border-radius:6px;min-height:0}.metrics-hide-handle::before{content:'✕'}
.metrics-hide-handle:hover{background:#fde8e8;color:#b3261e}.metrics-layout-removed{display:inline-flex;align-items:center;gap:6px;color:var(--tx,#182a39)}
.metrics-drag-handle:hover{background:var(--bd,#e3edf4);color:var(--tx,#182a39)}.metrics-dragging{outline:2px dashed #2674c9;outline-offset:2px;background:#eef5fc!important;box-shadow:none!important}.metrics-dragging>*{opacity:.25}
.metrics-drag-ghost{position:fixed;z-index:1000;pointer-events:none;opacity:.85;transform:rotate(1.5deg);box-shadow:0 14px 34px #12304a40!important;max-height:260px;overflow:hidden;background:#fff;border-radius:12px}
.metrics-drag-hint{position:fixed;z-index:1001;left:50%;top:12px;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:8px 14px;border-radius:999px;background:#163650;color:#fff;font-size:13px;box-shadow:0 6px 18px #12304a40;pointer-events:none}
body.metrics-drag-active,body.metrics-drag-active *{cursor:grabbing!important;user-select:none}
.metrics-catalog-editor .metrics-layout-row input[type=text]{flex:1;min-width:0;min-height:32px;padding:4px 8px;border:1px solid var(--bd2,#cbdce8);border-radius:6px}
#metrics-board .metrics-catalog-button{min-height:36px;padding:7px 11px;border:1px solid var(--bd2,#cbdce8);background:var(--surf,#fff);color:var(--tx,#182a39);font-size:12px}
.metrics-layout-editor>p{flex-basis:100%;margin:0}.metrics-contracts-filter{display:flex;flex-wrap:wrap;gap:8px 16px}
#metrics-board .metrics-view-controls button:hover{background:var(--hov,#eef3f6)}
#metrics-view-status{overflow-wrap:anywhere;min-width:0}
#metrics-board .metrics-card-toggle{min-height:36px;background:transparent;color:var(--tx,#182a39)}
#metrics-board .metrics-card-toggle:hover{color:var(--yg-link,#2f7fe0)}
.metrics-source-links{display:inline-flex;flex-wrap:wrap;gap:4px 12px;max-width:100%;vertical-align:middle}
.metrics-source-links a{overflow-wrap:anywhere}
@media(max-width:760px){.metrics-view-controls{gap:7px}.metrics-view-controls>strong,#metrics-view-status{flex-basis:100%}#metrics-board .metrics-view-controls button{min-height:40px}}

/* Реестр ремонтов: один срез Excel, подписи и значения видимы без наведения. */
#metrics-board .metrics-actions:has(#metrics-repair-import:not([hidden])){flex-wrap:wrap}
#metrics-source.metrics-repair-live-source{line-height:1.5;overflow-wrap:anywhere}
.metrics-repair-source-row{display:block}
.metrics-repair-import-note{flex-basis:100%;font-size:11px;line-height:1.4;color:var(--mu,#597387)}
#metrics-board:has(.metrics-repair-view) .metrics-actions button{background:var(--surf,#fff);color:var(--tx,#182a39);border-color:var(--bd2,#cbdce8)}
#metrics-board:has(.metrics-repair-view) .metrics-actions button:hover{background:var(--hov,#eef3f6)}
#metrics-body.metrics-repair-view{color:var(--tx,#182a39)}
#metrics-body.metrics-repair-view .metrics-card-toggle{background:transparent;color:var(--tx,#182a39)}
.metrics-repair-intro h3{font-size:19px;margin:0 0 5px}
.metrics-repair-intro p{font-size:13px;line-height:1.5;margin:0;color:var(--mu,#597387)}
.metrics-repair-warning{padding:9px 12px;border:1px solid var(--bd2,#cbdce8);border-radius:10px;background:var(--hov,#eaf3fa);font-size:12px;line-height:1.5;color:var(--mu,#456477)}
.metrics-repair-warning p{margin:0}
#metrics-body .metrics-repair-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
.metrics-repair-view .metrics-tile,.metrics-repair-view .metrics-repair-card{background:var(--surf,#fff);border-color:var(--bd,#d8e4ec)}
.metrics-repair-view .metrics-tile-value{color:var(--tx,#182a39)}
.metrics-repair-view .metrics-tile-label,.metrics-repair-view .metrics-tile-note,.metrics-repair-card .muted{color:var(--mu,#597387)}
.metrics-repair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.metrics-repair-status-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.metrics-repair-deadline-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.metrics-repair-status-tiles .metrics-tile,.metrics-repair-deadline-tiles .metrics-tile{padding:11px 12px;box-shadow:none}
.metrics-repair-status-tiles .metrics-tile-label{min-height:2.8em;line-height:1.4}
.metrics-repair-deadline-tiles .metrics-tile-value{font-size:21px}
.metrics-repair-card p{font-size:12px;line-height:1.5}
.metrics-repair-bars{list-style:none;padding:0;margin:12px 0 16px;display:grid;gap:12px}
.metrics-repair-bar-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(80px,1.6fr) auto;gap:5px 12px;align-items:center;font-size:13px}
.metrics-repair-bar-label{min-width:0;overflow-wrap:anywhere}
.metrics-repair-bar-value{grid-column:3;grid-row:1;color:var(--tx,#243d50);font-variant-numeric:tabular-nums;font-size:14px;min-width:2ch;text-align:right}
.metrics-repair-bar-track{grid-column:2;grid-row:1;display:block;height:10px;background:var(--hov,#eef3f6);border-radius:5px;overflow:hidden}
.metrics-repair-bar-track>span{display:block;height:100%;background:var(--ac,#2674c9);border-radius:5px}
.metrics-repair-filter{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin:12px 0;font-size:12px;color:var(--mu,#597387)}
.metrics-repair-filter input,.metrics-repair-filter select{min-height:40px;min-width:0;max-width:100%;font-size:13px;padding:7px 10px;background:var(--surf,#fff);color:var(--tx,#182a39);border-color:var(--bd2,#cbdce8)}
.metrics-repair-card .metrics-table-scroll{margin-top:14px}
.metrics-repair-card .metrics-analytics-table tbody th{white-space:normal;min-width:120px}
.metrics-repair-card .metrics-analytics-table th{color:var(--mu,#597387);border-color:var(--bd,#d8e4ec)}
.metrics-repair-card .metrics-analytics-table thead th{background:var(--hov,#f3f7fa)}
.metrics-repair-card .metrics-analytics-table td{border-color:var(--bd,#eef3f6)}
.metrics-repair-card .metrics-analytics-table tbody tr:hover{background:var(--hov,#f5f9fc)}
.metrics-repair-quality{border-top:1px solid var(--bd,#d8e4ec);padding:4px 0;overflow-wrap:anywhere}
.metrics-repair-quality summary,.metrics-repair-card .metrics-source-details>summary{cursor:pointer;min-height:40px;padding:10px 0;font-size:13px;font-weight:600}
.metrics-repair-quality p{margin:4px 0 8px}
.metrics-repair-card .metrics-chart-range select{background:var(--surf,#fff);color:var(--tx,#182a39);border-color:var(--bd2,#cbdce8)}
.metrics-repair-card .metrics-axis{fill:var(--mu,#597387)}
.metrics-repair-card .metrics-grid{stroke:var(--bd,#e8eef3)}
@media(max-width:1050px){#metrics-body .metrics-repair-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-repair-grid{grid-template-columns:1fr}}
@media(max-width:760px){
 #metrics-repair-import{min-height:40px}
 .metrics-repair-filter{align-items:stretch;flex-direction:column}
 .metrics-repair-filter input,.metrics-repair-filter select{width:100%}
 .metrics-repair-bar-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 8px}
 .metrics-repair-bar-value{grid-column:2;grid-row:1}
 .metrics-repair-bar-track{grid-column:1/-1;grid-row:2}
 .metrics-repair-view .metrics-tile-value{font-size:22px}
 .metrics-repair-status-tiles,.metrics-repair-deadline-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .metrics-repair-card .metrics-card-toggle{min-height:36px}
 .metrics-repair-card .metrics-chart-range label{flex-wrap:wrap}
}
@media(max-width:380px){#metrics-body .metrics-repair-tiles{grid-template-columns:1fr}.metrics-repair-status-tiles .metrics-tile{padding:10px}}
.protocol-window-buttons{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;gap:8px;margin:-4px 0 4px;float:right}.protocol-window-buttons .dialog-close{float:none;margin:0}
.protocol-chip.idle{border-color:#d5dde3;background:#f4f6f8;color:#6b7a86}
.protocol-view-actions{display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:flex-end}
#protocol-suggestions{scroll-margin-top:64px}
/* 2.74.2: on a wide screen the protocol is on the left, the AI tasks with assignees on the right. */
@media(min-width:1100px){.protocol-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
 .protocol-col-text,.protocol-col-tasks{position:sticky;top:0;max-height:calc(100dvh - 90px);overflow:auto;padding-right:4px}
 .protocol-col-text{display:flex;flex-direction:column;height:calc(100dvh - 90px);overflow:hidden}.protocol-col-text .protocol-view{flex:1;min-height:0;overflow:auto}.protocol-col-text #protocol-result-wrap{flex:1;display:flex;flex-direction:column}.protocol-col-text #protocol-result{flex:1}
 .protocol-col-tasks .protocol-suggestions{margin-top:0}#protocol-to-tasks{display:none}}
#protocol-ai-state:empty{display:none}
/* AI tasks: one line per task — title, 📍, calendar and assignee buttons. */
.protocol-suggestion-scope{display:flex;gap:8px;margin:4px 0 8px}.protocol-suggestion-scope select{flex:1;min-width:0}
.protocol-suggestion-head{display:flex;align-items:center;gap:6px}.protocol-suggestion-head>input:not([type=checkbox]):not(.protocol-due-input){flex:1;min-width:0}
.protocol-suggestion-head>input[type=checkbox]{flex:none;width:18px}
#protocol-form .protocol-suggestion-head>input[type=checkbox]{width:18px;flex:none}#protocol-form .protocol-suggestion-head>input:not([type=checkbox]):not(.protocol-due-input){flex:1;width:auto}
.protocol-suggestion-head>.protocol-due-input{position:absolute;width:1px!important;height:1px;min-width:0;padding:0;border:0;opacity:0;pointer-events:none}.protocol-suggestion-head{position:relative}
.protocol-chip-button{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 10px;border:1px solid #c9d8e4;border-radius:999px;background:#fff;color:#1d4f73;font-size:13px;white-space:nowrap;cursor:pointer}.protocol-chip-button:hover{background:#eef5fb}
.protocol-find{padding:4px 8px}.protocol-who{max-width:170px;padding:3px 10px 3px 3px}.protocol-who .task-person-avatar{width:28px;height:28px;flex:none}.protocol-who-name{overflow:hidden;text-overflow:ellipsis}
.protocol-who-empty{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px dashed #9cb4c6;color:#5b7a91;font-weight:700}
.protocol-who-input{margin:6px 0 0 28px;width:calc(100% - 28px)}.protocol-suggestion-meta{margin:2px 0 0 28px;font-size:12px}
.protocol-view .protocol-mark{background:#fff3b0;box-shadow:0 0 0 4px #fff3b0;border-radius:3px;transition:background .3s}
@media(max-width:640px){.protocol-who-name{display:none}.protocol-who{padding:3px}.protocol-suggestion-scope{flex-direction:column}}
.protocol-job-actions{display:flex;gap:14px}.protocol-job-actions .link-button{border:0;background:none;padding:0;color:#1769aa;text-decoration:underline;cursor:pointer;font:inherit}.protocol-job-actions .protocol-job-delete{color:#b0392b}


/* Functional controls retained with the previous themes. */

.task-complete-toggle svg{pointer-events:none;flex:none}
.task-complete-toggle.cancelled{color:var(--muted);border-color:var(--line);background:transparent}
.task-focus-mode .task-column-folded{flex:0 0 132px;min-width:0;width:132px;opacity:.8}
.task-closed-toggle{width:100%;min-height:var(--control-height,36px)}
.metrics-save-status{font-size:12px;min-height:var(--control-height,36px)}
.metrics-source-summary>summary{cursor:pointer;min-height:var(--control-height,36px);padding:8px 0}
@media(max-width:760px){.metrics-view-controls{gap:var(--control-gap,8px)}.metrics-view-controls>strong{display:none}.metrics-view-controls .metrics-zoom{display:none}.metrics-source-summary:not([open]){font-size:12px}.metrics-card-tools button{min-width:40px;min-height:40px}.task-focus-mode .task-column-folded{width:100%;flex-basis:auto}}

/* Contextual explanations: keyboard, mouse and touch share one popover. */
.help-source{display:none}
.help-trigger{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;margin:0 4px;border-radius:50%;border:1px solid var(--bd2,#9cb4c6);background:var(--surf,#fff);color:var(--ac,#1769aa);font-size:13px;font-weight:700;line-height:1;cursor:help;flex:none}
.help-trigger:focus-visible{outline:2px solid var(--ac,#1769aa);outline-offset:2px}
.help-popover{position:fixed;inset:auto;margin:0;padding:16px;box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;z-index:10000;border:1px solid var(--bd2,#9cb4c6);border-radius:12px;background:var(--surf,#fff);color:var(--tx,#17243b);box-shadow:0 8px 32px #0003;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.help-popover p{margin:0 0 12px}.help-popover a{color:var(--ac,#1769aa)}.help-popover .help-close{display:block;margin-left:auto;min-height:36px}
@media(pointer:coarse){.help-trigger{width:40px;height:40px;min-width:40px;min-height:40px;margin:2px 4px}}
.help-trigger.help-chip{align-self:flex-start;justify-content:flex-start;width:auto;min-width:0;height:26px;min-height:26px;padding:0 10px 0 4px;gap:6px;border-radius:999px;font-size:12px;font-weight:600;color:var(--tx2,#35607c);margin:2px 6px 2px 0;vertical-align:baseline}.help-trigger.help-chip::before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--hov,#eaf4fb);color:var(--ac,#1769aa);font-weight:700}
@media(pointer:coarse){.help-trigger.help-chip{width:auto;min-width:0;height:36px;min-height:36px}}
label .help-trigger{margin:0 4px;width:20px;height:20px;min-width:20px;min-height:20px;font-size:11px}
.help-line{display:inline-flex;align-items:center;gap:2px}
.users-roles:has(.help-chip){display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}.users-roles .help-chip{margin:0}

.task-origin{margin:6px 0 10px;font-size:13px;color:#3f5568;font-weight:600}
.metrics-sales-pick{margin:6px 0 12px}.metrics-sales-pick>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;border:1px solid #94bdd8;border-radius:18px;background:#e9f4fc;color:#176293;font-weight:600;font-size:13px;padding:6px 14px}.metrics-sales-pick>summary::-webkit-details-marker{display:none}.metrics-sales-pick>summary::before{content:'⚙'}.metrics-sales-pick[open]>summary{background:#d7ebf9}.metrics-sales-pick-count{font-weight:400;color:#3f6a88}.metrics-sales-pick>.metrics-sales-picker{margin-top:8px;padding:10px 12px;border:1px solid #d8e4ec;border-radius:10px;background:#f7fafc}
.metrics-sales-picker-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.metrics-sales-picker-actions button{font-size:12px;padding:5px 10px}.metrics-sales-picker-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 14px}.metrics-sales-person{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;margin:0;padding:4px 0;font-size:13px}.metrics-sales-person .muted{grid-column:2;font-size:11px}
body.metrics-printing .metrics-sales-pick{display:none}
table.metrics-month-columns tr>:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 #d8e4ec}table.metrics-month-columns thead tr>:first-child{background:#f3f7fa}table.metrics-month-columns .metrics-current-row>:first-child{background:#eaf3fa}body.metrics-printing table.metrics-month-columns tr>:first-child{position:static;box-shadow:none}

/* Печатный отчёт занимает только высоту содержимого, без пустых экранов остальных разделов. */
body.metrics-printing .metrics-print-outside{display:none!important}
body.metrics-printing .metrics-print-root{position:static!important;display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
body.metrics-printing #metrics-body{display:block!important;height:auto!important;min-height:0!important}
body.metrics-printing #metrics-body section.metrics-card{min-height:0!important;margin-bottom:10px}
@media print{html:has(body.metrics-printing),body.metrics-printing{height:auto!important;min-height:0!important;overflow:visible!important}}

/* Protocol assignments: readable titles and separate touch controls. */
.protocol-suggestion-head>.protocol-suggestion-title{flex:1;min-width:0;width:100%;resize:vertical;min-height:64px;padding:10px;font:inherit;line-height:1.4;border:1px solid #c9d8e4;border-radius:10px;background:#fff;color:inherit}
.protocol-suggestion-details{margin:8px 0 0 28px}
.protocol-suggestion-details>summary{cursor:pointer;font-size:13px;color:#52738a;padding:6px 0}
.protocol-suggestion-details .protocol-suggestion-meta{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){
 #protocol-editor .protocol-window-buttons{position:static;float:none;clear:both;margin:0 0 12px}
 #protocol-editor .protocol-suggestions{padding:12px}
 #protocol-editor .protocol-suggestion-list{padding-left:0;list-style:none;counter-reset:protocol-assignment}
 #protocol-editor .protocol-suggestion{counter-increment:protocol-assignment;padding:12px;margin:12px 0;border:1px solid #cfe0ea;border-radius:12px;background:#fff;min-width:0}
 #protocol-editor .protocol-suggestion::before{content:'Поручение ' counter(protocol-assignment);display:block;font-size:12px;color:#52738a;margin-bottom:8px}
 #protocol-editor .protocol-suggestion-head{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start}
 #protocol-form .protocol-suggestion-head>input[type=checkbox]{grid-column:1;grid-row:1;width:24px;height:24px;margin-top:10px}
 #protocol-editor .protocol-suggestion-title{grid-column:2/-1;grid-row:1;min-height:96px;font-size:16px;box-sizing:border-box}
 #protocol-editor .protocol-who{grid-column:1/3;grid-row:2;max-width:none;min-width:0;width:100%;min-height:44px;padding:6px 8px;justify-content:flex-start}
 #protocol-editor .protocol-who-name{display:block;white-space:normal;overflow-wrap:anywhere;text-align:left}
 #protocol-editor .protocol-due{grid-column:3;grid-row:2;min-height:44px}
 #protocol-editor .protocol-find{grid-column:1/-1;grid-row:3;justify-self:start;min-height:44px}
 #protocol-editor .protocol-find::after{content:'В протоколе';margin-left:4px}
 #protocol-editor .protocol-who-input{margin:10px 0 0;width:100%;box-sizing:border-box;min-height:44px;font-size:16px}
 #protocol-editor .protocol-suggestion-details{margin:8px 0 0}
 #protocol-editor .protocol-suggestion-details>summary{min-height:44px;display:flex;align-items:center;font-size:14px}
 #protocol-editor .protocol-suggestion-details>summary::before{content:'▸';margin-right:8px}
 #protocol-editor .protocol-suggestion-details[open]>summary::before{content:'▾'}
 #protocol-editor .protocol-suggestion-picker button{min-height:44px}
 #protocol-editor .protocol-suggestion-actions{flex-direction:column;align-items:stretch}
 #protocol-editor .protocol-suggestion-actions button{min-height:48px;width:100%;white-space:normal}
}

/* Values switches are scoped to one metric card; axes, legends and table data remain visible. */
.metrics-card-values{margin:6px 0 12px;font-size:12px}
.metrics-labels-disabled .metrics-value-label,.metrics-labels-disabled .metrics-repair-bar-value,
.metrics-labels-disabled .rm-point-label,.metrics-labels-disabled .rm-total-label,.metrics-labels-disabled .rm-segment-value{display:none!important}
.metrics-labels-enabled .rm-point-label{font-size:11px}

/* Массовое назначение только отмеченных поручений протокола. */
.protocol-bulk-assignee{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:12px 0;padding:12px;border:1px solid #cfe0ea;border-radius:12px;background:#fff}
.protocol-bulk-assignee>label,.protocol-bulk-assignee>p{grid-column:1/-1;margin:0}
.protocol-bulk-assignee>label{font-weight:600}
.protocol-bulk-assignee>select{min-width:0;width:100%}
.protocol-bulk-assignee>p:empty{display:none}
@media(max-width:760px){#protocol-editor .protocol-bulk-assignee{grid-template-columns:minmax(0,1fr)}#protocol-editor .protocol-bulk-assignee>select,#protocol-editor .protocol-bulk-assignee>button{min-height:44px;width:100%;font-size:16px;white-space:normal}}

/* Employee first: search, explicit person choice, then available projects. */
#task-transfer-form{display:grid;gap:12px;min-width:0}
#task-transfer-form>label{display:grid;gap:8px;min-width:0}
#task-transfer-form input,#task-transfer-form select{width:100%;min-width:0}
#task-transfer-form p{margin:0}
#task-transfer-matches{display:grid;gap:6px;max-height:240px;overflow-y:auto}
#task-transfer-matches .task-transfer-match{display:grid;gap:4px;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;min-height:44px}
#task-transfer-matches .task-transfer-match strong{font-weight:600}
@media(max-width:600px){#task-transfer-form input,#task-transfer-form select{font-size:16px;min-height:44px}#task-transfer-form .setup-actions{display:flex;flex-wrap:wrap}#task-transfer-form .setup-actions button{flex:1;min-height:44px}}

/* Распределение протокола: сотрудник и поиск, затем проект каждой задачи. */
#protocol-editor .protocol-assignment-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px}
#protocol-editor .protocol-assignment-person{grid-row:span 2;min-width:0}
#protocol-editor .protocol-assignment-label{display:flex;flex-direction:column;gap:6px;margin:0 0 8px;font-size:13px;font-weight:600;min-width:0}
#protocol-editor .protocol-assignment-label select,#protocol-editor .protocol-assignment-label input{width:100%;min-width:0;box-sizing:border-box;min-height:44px;font-size:16px}
#protocol-editor .protocol-person-matches{display:grid;gap:6px;margin:8px 0;max-height:240px;overflow:auto}
#protocol-editor .protocol-person-match{text-align:left;min-height:44px;white-space:normal;overflow-wrap:anywhere}
#protocol-editor .protocol-assignment-error{color:#a74421;font-size:13px;margin:8px 0}
#protocol-editor .protocol-assignment-error:empty{display:none}
#protocol-editor .protocol-assignment-common{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid #cfe0ea;border-radius:12px;margin:12px 0}
#protocol-editor .protocol-assignment-common>strong{grid-column:1/-1}
@media(max-width:760px){#protocol-editor .protocol-assignment-fields,#protocol-editor .protocol-assignment-common{grid-template-columns:minmax(0,1fr)}#protocol-editor .protocol-assignment-person{grid-row:auto}#protocol-editor .protocol-assignment-common button{min-height:44px}}

.protocol-row .protocol-uploaded-at{display:block;margin-top:7px;font-size:13px;font-weight:650;color:inherit;opacity:.85}
.protocol-uploads{margin:12px 0;padding:14px;border:1px solid #62a6ca;border-radius:12px;background:var(--surf,#f0f8ff);color:var(--tx,inherit)}
.protocol-upload-activity{display:grid;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line,#b5cfdf);overflow-wrap:anywhere;min-width:0}
.protocol-upload-activity>span:first-child{font-weight:600}.protocol-upload-activity progress{width:100%;min-width:0;height:8px;accent-color:#248cc8}
.protocol-upload-activity.paused progress{accent-color:#9b843e}.protocol-upload-activity small{font-size:12px}

/* Employee messenger setup: visible actions for a new or saved account. */
.user-messengers .user-messenger-create{width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere}
.user-messengers .user-messengers-hint,.user-messenger>p{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.user-messenger .setup-actions{flex-wrap:wrap}
.user-messenger .setup-actions button{min-height:40px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.metrics-funnel-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 14px}.metrics-funnel-kpi-item{padding:10px 12px;border:1px solid var(--bd,#d8e4ec);border-radius:10px;background:var(--surf,#fff)}.metrics-funnel-kpi-item span{display:block;font-size:12px;color:var(--mu,#597387)}.metrics-funnel-kpi-item strong{display:block;font-size:22px;color:var(--tx,#182a39);margin-top:2px}
@media(max-width:760px){.metrics-funnel-kpi{grid-template-columns:1fr}}
.metrics-step-handle{border:0;background:transparent;color:var(--mu,#597387);cursor:pointer;font-size:14px;line-height:1;padding:4px 5px;border-radius:6px;min-height:0}.metrics-step-handle:hover:not([disabled]){background:var(--bd,#e3edf4);color:var(--tx,#182a39)}.metrics-step-handle[disabled]{opacity:.3;cursor:default}
body.metrics-printing .metrics-step-handle{display:none}
.metrics-tile-trend{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:6px;font-size:12px;line-height:1.4;cursor:help}.metrics-trend{font-weight:600;white-space:nowrap}.metrics-trend-up{color:#1e7a46}.metrics-trend-down{color:#b3261e}.metrics-trend-flat{color:var(--mu,#597387)}.metrics-trend-month{color:var(--mu,#597387);white-space:nowrap}
.metrics-line-end{font-size:12px;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.metrics-chart-legend-toggle .metrics-legend-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:transparent;color:inherit;font:inherit;padding:2px 7px;border-radius:999px;cursor:pointer;min-height:0}.metrics-chart-legend-toggle .metrics-legend-toggle:hover{border-color:var(--bd,#d8e4ec)}.metrics-chart-legend-toggle .metrics-legend-toggle[aria-pressed=false]{opacity:.45;text-decoration:line-through}.metrics-legend-bulk{display:inline-flex;gap:6px;margin-right:6px}.metrics-legend-bulk button{padding:2px 10px;font-size:12px;min-height:0}.metrics-chart-empty{padding:30px 10px;text-align:center}
.protocol-group{margin:18px 0 6px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#4b6578}.protocol-group:first-of-type{margin-top:8px}
.protocol-suggestion-done{display:flex;align-items:center;justify-content:space-between;gap:8px}.protocol-suggestion-done .protocol-find{flex:none}
.protocol-row-author{color:#1d2b36;font-weight:700}
.protocol-delete-task{color:#b0392b;padding:4px 8px}.protocol-delete-task:hover{background:#fff1ef;border-color:#f0c2b8}
.protocol-priority{flex:none;width:auto;min-height:36px;padding:4px 8px;border-radius:999px;border:1px solid #c9d8e4;background:#fff;font-size:13px}
.protocol-priority[data-level="5"]{border-color:#e9a59c;background:#fff1ef;color:#a3271b}.protocol-priority[data-level="4"]{border-color:#efc58e;background:#fff7ec;color:#9a5a08}

/* Потенциал по РОПам: целевая доля сверху, итоги, затем таблицы. */
.metrics-rop-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;margin:10px 0 12px}
.metrics-rop-target{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px 14px;margin:0;padding:12px 14px;border:1px solid var(--bd2,#cbdce8);border-radius:8px;background:var(--surf2,#f5f8fb)}
.metrics-rop-target-label{font-size:13px;color:var(--mu,#597387)}
.metrics-rop-target-value{font-size:22px;font-weight:700;color:var(--tx,#182a39);min-width:72px;font-variant-numeric:tabular-nums}
.metrics-rop-target input[type=range]{width:100%;min-width:160px;accent-color:var(--ac,#2674c9)}
.metrics-rop-presets{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}.metrics-rop-presets button{min-height:30px;padding:4px 10px;font-size:12px}.metrics-rop-presets button[aria-pressed=true]{border-color:var(--ac,#2674c9);color:var(--ac,#2674c9);font-weight:600}
.metrics-rop-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.metrics-rop-summary-item{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--bd2,#cbdce8);border-radius:8px}.metrics-rop-summary-item strong{font-size:18px;font-variant-numeric:tabular-nums;color:var(--tx,#182a39)}.metrics-rop-summary-item span{font-size:12px;color:var(--mu,#597387)}
section[data-metrics-section=contracts-rop-potential] h4{margin:14px 0 6px;font-size:13px}
tr.metrics-rop-done th,tr.metrics-rop-done td{color:var(--mu,#597387)}
@media (max-width:640px){.metrics-rop-target{grid-template-columns:auto 1fr}.metrics-rop-target input[type=range]{grid-column:1/-1}}
/* 2.83.43: «План месяца» отдела ремонтов */
.metrics-goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0}
.metrics-goal{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--bd,#d8e4ec);border-radius:10px;background:var(--surf,#fff);color:var(--tx,#1d2b36)}
.metrics-goal-label{font-size:13px;color:var(--mu,#597387)}.metrics-goal-value{font-size:20px;line-height:1.2}
.metrics-goal-bar{position:relative;height:10px;margin:6px 0 4px;border-radius:999px;background:#e6edf3;overflow:visible}
.metrics-goal-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--ac,#2f7fe0)}
.metrics-goal-behind .metrics-goal-fill{background:#d9822b}.metrics-goal-done .metrics-goal-fill{background:#1e7a46}
.metrics-goal-mark{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--tx,#1d2b36);cursor:help}
.metrics-goal-line{font-size:12px;line-height:1.45}.metrics-goal-status{font-weight:600}
.metrics-goal-ahead .metrics-goal-status,.metrics-goal-done .metrics-goal-status{color:#1e7a46}.metrics-goal-behind .metrics-goal-status{color:#b3261e}
.metrics-goal-edit{margin:4px 0 0}.metrics-goal-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin:10px 0}.metrics-goal-form input{width:120px}
:root[data-theme] .metrics-goal-ahead .metrics-goal-status,:root[data-theme] .metrics-goal-done .metrics-goal-status{color:#2e9a5c!important}:root[data-theme] .metrics-goal-behind .metrics-goal-status{color:#e0645a!important}
.metrics-repair-tabs{display:flex;gap:4px;margin:0 0 12px;border-bottom:1px solid var(--bd,#d8e4ec)}
.metrics-repair-tab{border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:none!important;padding:8px 14px!important;color:var(--mu,#597387)!important;font-weight:600;box-shadow:none!important}
.metrics-repair-tab.active,:root[data-theme] .metrics-repair-tab.active{color:var(--ac,#2f7fe0)!important;border-bottom-color:var(--ac,#2f7fe0)!important}
:root[data-theme] .metrics-repair-tab{background:none!important;border:0!important;border-bottom:3px solid transparent!important;color:var(--mu,#597387)!important}
/* 2.83.45: цель в карточке показателя */
.metrics-goal-inline-edit{align-self:flex-start;margin-top:6px;padding:2px 10px!important;font-size:12px!important;min-height:0!important}
.metrics-goal-unset{border-style:dashed;justify-content:flex-start}.metrics-goal-form-one{margin:6px 0 0;gap:6px}.metrics-goal-form-one input{width:90px}.metrics-goal-form-one button{padding:4px 10px!important;min-height:0!important}
/* 2.83.47: план по менеджерам */
.metrics-goal-managers-table td strong{display:block}.metrics-goal-cell-note{display:block;font-size:12px;line-height:1.35}
.metrics-goal-cell-done .metrics-goal-cell-note,.metrics-goal-cell-ahead .metrics-goal-cell-note{color:#1e7a46}.metrics-goal-cell-behind .metrics-goal-cell-note{color:#b3261e}
:root[data-theme] .metrics-goal-cell-done .metrics-goal-cell-note,:root[data-theme] .metrics-goal-cell-ahead .metrics-goal-cell-note{color:#2e9a5c!important}:root[data-theme] .metrics-goal-cell-behind .metrics-goal-cell-note{color:#e0645a!important}
.metrics-goal-managers-total>*{font-weight:600}.metrics-goal-managers-form{margin:10px 0}.metrics-goal-managers-form input{width:90px}.metrics-goal-managers-form>button{margin-right:8px}
.metrics-goal-controls{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0 0}
/* 2.83.48: «Скачать приложение» — choice between the phone and the computer. */
#download-app .download-choices{display:flex;flex-direction:column;gap:10px;margin:14px 0}
#download-app .download-choices .button-link{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;text-align:left;font-weight:600}
#download-app .download-choices .button-link span{font-weight:400;font-size:.88em;opacity:.8}
/* 2.83.56: компактная строка кнопок «Протоколов» — пять кнопок в одну строку на экране от 1366 px; на телефоне
   кнопки остаются крупными под палец. Строка — flex с зазором:
   пробелы между строчными кнопками больше не съедают ширину. Темы задают кнопкам отступы через !important, поэтому размер
   повторён для :root[data-theme]. */
#protocol-board .task-board-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#protocol-board .task-board-head>h2,#protocol-board .task-board-head>#protocol-drop{flex:0 0 100%}
#protocol-board .task-board-head>button,#protocol-board .task-board-head>a.button-link,:root[data-theme] #protocol-board .task-board-head>button,:root[data-theme] #protocol-board .task-board-head>a.button-link{margin:0!important}
@media (min-width:761px){
#protocol-board .task-board-head>button,#protocol-board .task-board-head>a.button-link{font-size:13px;padding:6px 10px;min-height:0;line-height:1.3;border-radius:8px;margin:0}
:root[data-theme] #protocol-board .task-board-head>button,:root[data-theme] #protocol-board .task-board-head>a.button-link{font-size:13px!important;padding:6px 10px!important;min-height:0!important;line-height:1.3!important;margin:0!important}
}
.metrics-compare-periods{flex-basis:100%;margin:6px 0 0;font-size:13px;line-height:1.45}
/* 2.83.77: окно показателя — что делает «Сохранить», обновление из Google */
.metrics-editor-source{margin:4px 0 12px}.metrics-editor-note{margin:0 0 8px;font-size:13px;line-height:1.45}.metrics-editor-result{display:block;margin-top:6px;font-size:13px;line-height:1.4}
