/* KONIK OPS: shared, legible light and dark palettes. Ciemny motyw: grafit z lekkim chłodnym odcieniem zamiast granatu. */
:root{--ops-blue:#80aaff;--ops-soft:#1f2836;--ops-shadow:0 8px 30px #0002;--accent:#77a7ff;--accent-soft:#aecaff;--accent-deep:#5d92ed;--accent-ink:#0b1934;--signal:#edc16c;--danger:#ff9090;--ink-950:#17191e;--ink-900:#131519;--ink-850:#1d2026;--ink-800:#2a2e36;--ink-750:#333842;--bone-50:#eef3fb;--bone-100:#e4eaf4;--bone-200:#d8e2f1;--bone-300:#bccbdd;--bone-400:#a4b5cb;--bone-500:#9aacc3;--surface:#1d2026;--surface-2:#23272e;--hairline:#d5dbe624;--hairline-2:#d5dbe640;--topbar-bg:#17191ef5;--r:9px;--sidebar:224px;--topbar:64px;--sans:"Cabinet Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji";--mono:var(--sans)}
:root[data-theme=light]{--ops-blue:#255bba;--ops-soft:#eaf1ff;--ops-shadow:0 5px 22px #1b325309;--accent:#255bba;--accent-soft:#4478cb;--accent-deep:#1d4da5;--accent-ink:#fff;--signal:#85600c;--danger:#bd3549;--ink-950:#fff;--ink-900:#f3f5f9;--ink-850:#fff;--ink-800:#eaf0f8;--ink-750:#e4eaf3;--ink-700:#d7e0ec;--bone-50:#202d43;--bone-100:#26354c;--bone-200:#3a4b65;--bone-300:#52627a;--bone-400:#5c6e87;--bone-500:#60728a;--surface:#fff;--surface-2:#f7f9fc;--hairline:#dfe6ef;--hairline-2:#c8d4e3;--topbar-bg:#fffffff5}
body{font-size:14px;line-height:1.5;font-weight:400;letter-spacing:0}h1,h2,h3{letter-spacing:-.02em;font-weight:650}h2{font-size:23px}h3{font-size:16px}.mono{font-family:var(--sans);font-size:11px;letter-spacing:.035em;font-weight:600}.muted,.muted.tight{font-size:13px;line-height:1.65}.navGroup>.mono{font-size:10px;letter-spacing:.1em;color:var(--bone-400)}.navItem{padding:10px 12px;gap:10px;font-size:13px;line-height:1.3;margin:2px 0}.navItem.on{color:var(--accent);background:var(--ops-soft);font-weight:650}.navItem.on:before{display:none}.navItem.on .ic{color:var(--accent)}.navCount{font:600 10px var(--sans)}.logoText b{font-size:16px}.logoText span{font:500 9px var(--sans);letter-spacing:.12em}.sidebarHead{padding:0 20px}.sidebarFoot .liveDot{animation:none}.sidebarFoot .mono{font-size:10px;letter-spacing:0}.sidebarFoot .row{flex-wrap:wrap}.topbar{gap:12px;padding:0 26px}.topbar h1{font-size:15px;max-width:230px;overflow:hidden;text-overflow:ellipsis}.topbar .hideSm{font-size:11px}.content{padding:28px;max-width:none}.content.boardPage{padding:24px;overflow:auto}.content.boardPage>.opsWorkspace{min-height:0}.btn{border-radius:8px;font-weight:600;letter-spacing:0;min-height:36px;line-height:1.3}.btn.primary{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent)}.btn.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn.ghost{border:1px solid var(--hairline-2);color:var(--bone-100);background:var(--surface)}.btn.danger{color:var(--danger);border:1px solid var(--danger)}button:disabled{opacity:.55;cursor:not-allowed}.link{color:var(--accent);font-size:13px}.chip{font:500 12px var(--sans);letter-spacing:0;text-transform:none;padding:7px 12px;border-color:var(--hairline-2);color:var(--bone-200)}.chip.on{background:var(--ops-soft);color:var(--accent);border-color:var(--accent)}.tag{font:500 11px var(--sans);letter-spacing:0;text-transform:none;padding:4px 8px}.card{border:1px solid var(--hairline);border-radius:10px;box-shadow:var(--ops-shadow);padding:20px}.section{margin-bottom:24px}.sectionHead{margin-bottom:14px}.sectionHead h2{font-size:18px}input,select,textarea{border-radius:7px;border-color:var(--hairline-2);font-size:14px;line-height:1.4;padding:9px 11px;min-width:0}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;flex:none}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.drawer{background:var(--surface);box-shadow:-10px 0 50px #0a1c3026}.drawer.wide{width:min(820px,95vw)}.drawerHead{padding:22px}.drawerBody{padding:22px}.drawerTabs{gap:4px;padding:0 18px;overflow-x:auto}.dTab{font:600 12px var(--sans);letter-spacing:0;text-transform:none;padding:13px 10px;white-space:nowrap}.drawerFoot{padding:16px 22px}.crmTaskDialog{background:var(--surface);color:var(--bone-50);border:1px solid var(--hairline);border-radius:16px;width:min(760px,calc(100vw - 28px));max-height:90vh;overflow:auto;padding:26px}.crmTaskDialog::backdrop{background:#10203970;backdrop-filter:blur(3px)}.crmTaskDialog fieldset{border:0;margin:0;padding:0}.crmTaskDialog h2{font-size:24px}.crmTaskDialog label{display:grid;gap:6px;font-weight:550}.crmTaskDialog .row{flex-wrap:wrap}.avatar{border-radius:50%;font-weight:650;flex:none}.presenceDot{border:2px solid var(--surface)}.bellPanel{border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--ops-shadow);width:min(420px,calc(100vw - 24px))}.bellText em{font-size:11px}.toast{border-radius:12px;padding:14px 18px;max-width:calc(100vw - 28px);box-shadow:var(--ops-shadow)}
.opsWorkspace{display:grid;gap:24px;max-width:1600px;margin:auto;width:100%;min-width:0}.opsPageHead{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.opsPageHead h2,.opsPageHead h3{margin:0}.opsEyebrow{font-size:11px;color:var(--bone-400);display:block;margin-bottom:6px;letter-spacing:.06em}.opsActions,.opsToolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.opsActions{justify-content:flex-end}.opsToolbar>input{flex:1;min-width:190px}.opsToolbar label{display:grid;gap:6px;min-width:140px}.opsToolbar select{max-width:100%}.opsMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.opsMetric{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:21px 24px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:var(--bone-50);box-shadow:var(--ops-shadow);gap:6px}.opsMetric strong{font-size:27px;letter-spacing:-.04em;font-weight:650}.opsMetric span{font-size:12px;color:var(--bone-400)}button.opsMetric:hover{border-color:var(--accent)}.opsDashboardGrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px}.opsPanel{padding:23px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface);box-shadow:var(--ops-shadow);min-width:0}.opsPanel>.opsPageHead{margin-bottom:18px}.opsPanel h3{margin-bottom:12px}.opsPanel .opsPageHead h2{font-size:17px}.opsEmpty{padding:30px 18px;color:var(--bone-400);text-align:center;border:1px dashed var(--hairline-2);border-radius:9px;background:var(--surface-2);font-size:13px}.opsTaskRows{display:flex;flex-direction:column}.opsTaskRow{display:flex;align-items:center;gap:12px;background:transparent;border:0;border-bottom:1px solid var(--hairline);padding:15px 0;width:100%;color:var(--bone-50);text-align:left;cursor:pointer;font:inherit}.opsTaskRow:last-child{border-bottom:0}.opsTaskRow:hover .opsTaskName b{color:var(--accent)}.opsTaskName{flex:1;min-width:0}.opsTaskName b{font-size:13px;font-weight:600;display:block;overflow-wrap:anywhere}.opsTaskName small,.opsTable small{display:block;color:var(--bone-400);font-size:11px;margin-top:4px}.opsTaskRow>span:not(.opsTaskName){font-size:11px}.opsStateDot{width:8px;height:8px;border-radius:3px;background:var(--bone-500);flex:none}.opsStateDot.wtoku{background:var(--accent)}.opsStateDot.zrobione{background:#2c946a}.opsOverdue{color:var(--danger)!important}.opsPerson{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--hairline)}.opsPerson:last-child{border-bottom:0}.opsPerson>div{flex:1;min-width:0}.opsPerson b{display:block;font-size:13px}.opsPerson small{display:block;color:var(--bone-300);font-size:12px;overflow-wrap:anywhere}.opsPerson span{font-size:11px;color:var(--bone-400)}.opsClientCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.opsClientCard{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--hairline);border-radius:10px;background:var(--surface);padding:17px;color:var(--bone-50);font:inherit;min-width:0}.opsClientCard b{font-size:14px}.opsClientCard span,.opsClientCard small{font-size:12px;color:var(--bone-400)}.opsClientLink{padding:0;background:transparent;border:0;color:var(--accent);font:600 14px var(--sans);text-align:left;cursor:pointer}.opsTableWrap{width:100%;overflow:auto;background:var(--surface);border:1px solid var(--hairline);border-radius:10px}.opsTable{width:100%;border-collapse:collapse;min-width:760px;font-size:12px}.opsTable th{text-transform:none;letter-spacing:0;font-size:11px;font-weight:650;color:var(--bone-400);padding:14px 18px;background:var(--surface-2);text-align:left;white-space:nowrap}.opsTable td{padding:18px;border-top:1px solid var(--hairline);vertical-align:middle;max-width:290px}.opsTable tr:hover td{background:var(--surface-2)}.opsInline{display:flex;align-items:center;gap:9px}.opsStage{font-size:11px;background:var(--ops-soft);color:var(--accent);padding:5px 9px;border-radius:6px;display:inline-block;white-space:nowrap}.opsFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.opsFormGrid label,.opsBlock,.opsDetails label{display:grid;gap:6px;font-size:13px;font-weight:550}.opsPlan{display:grid;gap:18px}.opsPlan h3{margin:4px 0 0}.opsPlan p{margin:0}.opsCheckGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.opsCheckGrid label{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--hairline);border-radius:7px;font-size:12px}.opsChecklist>div{display:flex;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--hairline)}.opsChecklist label{flex:1;display:flex;align-items:center;gap:9px;font-size:13px}.opsChecklist small{display:block;font-size:10px;color:var(--bone-400);margin-top:2px}.opsChecklist input[type=date]{width:145px;font-size:12px}.opsDetails{border:1px solid var(--hairline);background:var(--surface);border-radius:10px;padding:16px 20px;min-width:0}.opsDetails>summary{font-size:13px;font-weight:600;cursor:pointer;color:var(--bone-100);padding:3px 0}.opsDetails[open]>summary{margin-bottom:18px}.opsDetails label{margin-bottom:15px}.opsServiceSettings{display:grid;gap:8px;margin:18px 0}.opsBlock{margin:18px 0}.opsStageBoard{display:grid;grid-auto-flow:column;grid-auto-columns:255px;gap:16px;overflow-x:auto;padding-bottom:18px}.opsStageColumn{background:var(--surface-2);border:1px solid var(--hairline);padding:14px;border-radius:11px;min-height:300px}.opsStageColumn h3{font-size:13px;margin-bottom:14px}.opsStageColumn h3 span{font-size:11px;color:var(--bone-400);margin-left:6px}.opsStageColumn .opsClientCard{margin-bottom:10px}.opsHistory>button{display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;color:var(--bone-50);width:100%;padding:14px 0;border-bottom:1px solid var(--hairline);font-size:12px;cursor:pointer}.opsHistory>button>span:not(.avatar){flex:1}.opsHistory small{display:block;color:var(--bone-400);font-size:11px;margin-top:3px}.opsHistory time{font-size:10px;color:var(--bone-400);white-space:nowrap}.opsGlobalSearch{position:relative;max-width:420px;min-width:150px;flex:1}.opsGlobalSearch>span{position:absolute;left:11px;top:7px;color:var(--bone-400);font-size:20px}.opsGlobalSearch>input{width:100%;padding-left:34px;padding-right:30px;font-size:12px;background:var(--surface-2)}.opsClear{position:absolute;right:6px;top:5px;width:28px;height:28px;color:var(--bone-400);background:transparent;border:0;font-size:20px;cursor:pointer}.opsSearchResults{position:absolute;z-index:80;top:calc(100% + 8px);left:0;width:max(100%,360px);max-height:440px;overflow:auto;background:var(--surface);box-shadow:0 12px 35px #00152d2a;border:1px solid var(--hairline-2);border-radius:10px;padding:6px}.opsSearchResults>button{display:block;background:transparent;border:0;text-align:left;width:100%;color:var(--bone-50);padding:11px 12px;border-radius:6px;cursor:pointer}.opsSearchResults>button:hover,.opsSearchResults>button[aria-selected=true]{background:var(--ops-soft)}.opsSearchResults b{display:block;font-size:13px;font-weight:600}.opsSearchResults small{display:block;font-size:11px;color:var(--bone-400)}.opsSearchResults p{padding:12px;font-size:12px}.opsClientDrawer .opsPageHead h2{font-size:24px}.opsClientDrawer .drawerBody>.opsPlan{padding-bottom:20px}progress{accent-color:var(--accent);width:100%;height:8px;margin-bottom:15px}
@media(min-width:1500px){.content{padding:32px 42px}.opsWorkspace{gap:26px}}
@media(max-width:1100px){.opsDashboardGrid{grid-template-columns:1fr}.opsMetrics{gap:10px}.opsMetric{padding:18px}.topbar h1{max-width:160px}.topbar .hideSm{display:none}}
@media(max-width:760px){:root{--topbar:58px}.content,.content.boardPage{padding:16px 12px}.opsWorkspace{gap:18px}.opsPageHead{align-items:flex-start;gap:10px}.opsPageHead h2{font-size:21px}.opsActions{gap:6px}.opsMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.opsMetric{padding:15px}.opsMetric strong{font-size:24px}.opsMetric span{font-size:11px}.opsPanel{padding:16px}.opsDashboardGrid{gap:16px}.opsToolbar{align-items:stretch}.opsToolbar>*{max-width:100%}.opsToolbar select{flex:1;min-width:145px}.opsFormGrid,.opsCheckGrid{grid-template-columns:1fr}.opsHistory time{white-space:normal;width:75px}.opsHistory>button{align-items:flex-start}.topbar{padding:0 12px;gap:8px;flex-wrap:wrap;height:auto;min-height:var(--topbar);padding-top:9px;padding-bottom:9px}.topbar h1{font-size:13px;max-width:140px}.opsGlobalSearch{order:12;flex-basis:100%;max-width:none}.opsSearchResults{width:100%;min-width:0;max-height:55vh}.topbar>.grow{flex:1}.topbar .btn{min-height:32px;padding:6px 9px;font-size:11px}.topbar .crmCommandActions{gap:3px}.topbar>.link{display:none}.crmTaskDialog{padding:18px;width:calc(100vw - 20px);max-height:90dvh}.drawer.wide{width:100vw;max-width:100vw}.drawerHead,.drawerBody{padding:16px}.drawerTabs{padding:0 8px}.opsChecklist>div{align-items:flex-start}.opsChecklist input[type=date]{width:130px;font-size:11px}.opsStageBoard{grid-auto-columns:235px}.opsDetails{padding:14px}.bottomNav{background:var(--surface);border-color:var(--hairline)}.bnItem{font-family:var(--sans);font-size:10px}.bnItem.on{color:var(--accent)}.opsTaskRow{gap:8px}.opsTaskRow>.avatar{display:none}.opsClientCards{grid-template-columns:1fr}.opsClientDrawer .opsToolbar{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
.opsClientData{display:grid;gap:20px}.opsClientData textarea{width:100%}.opsClientData>.opsFormGrid{align-items:start}.opsClientData label{min-width:0}.opsClientData .opsDetails .opsActions{align-items:end}

.opsSettingsFields{border:0;padding:0;margin:0;min-width:0}.opsSettingsFields:disabled input,.opsSettingsFields:disabled textarea{opacity:.8}

/* Czat: reakcje, odpowiedzi, odczytane, emotki, wyszukiwarka, zdjęcia i pliki. */
.chatFind{padding:8px 10px 0}
.chatFind input{width:100%}
.avatar.xs{width:16px;height:16px;font-size:7px}

.chatBubbleWrap{position:relative}
.chatMsg{transition:background .4s}
.chatMsg.flash .chatBubble,.chatSys.flash p{box-shadow:0 0 0 2px var(--signal)}
.chatEmojiOnly{background:none!important;border:0!important;padding:0 2px!important;font-size:34px;line-height:1.2}
.chatQuote{display:block;width:100%;text-align:left;margin:0 0 6px;padding:4px 8px;border:0;border-left:3px solid var(--accent);border-radius:6px;background:var(--ink-800);color:inherit;font:inherit;font-size:13px;cursor:pointer}
.chatMsg.mine .chatQuote{background:#ffffff2e;border-left-color:var(--accent-ink)}
.chatQuote b{display:block;font-weight:600}
.chatQuote span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.85}
.chatImage{display:block;margin-top:6px;padding:0;border:0;background:none;cursor:zoom-in;border-radius:8px;overflow:hidden;max-width:280px}
.chatImage img{display:block;max-width:100%;max-height:260px;object-fit:contain;border-radius:8px}
.opsChatImageWait{display:grid;place-items:center;width:120px;height:80px;border-radius:8px;background:var(--ink-800);color:var(--bone-400);font-size:11px;text-transform:uppercase}

.chatReactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.chatMsg.mine .chatReactions,.chatMsg.mine .chatSeen{justify-content:flex-end}
.chatReactions button{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border:1px solid var(--hairline-2);border-radius:999px;background:var(--surface);color:inherit;font-size:14px;line-height:1.5;cursor:pointer}
.chatReactions button span{font-size:12px;color:var(--bone-300)}
.chatReactions button.on{border-color:var(--accent);background:var(--ops-soft)}
.chatReactions button.on span{color:var(--accent)}
.chatSeen{display:flex;align-items:center;gap:2px;margin-top:3px;min-height:16px}
.chatSeen.text{font-size:11.5px;color:var(--bone-400)}
.chatSys .chatSeen{justify-content:center}

/* Pasek nad dymkiem: przy szerokim dymku przy jego dalszej krawędzi, przy wąskim od bliższej — nigdy poza wątek. */
.chatMsgActions{--bar:236px;display:none;position:absolute;top:-18px;left:max(0px,calc(100% - var(--bar)));z-index:3;gap:1px;padding:2px;border:1px solid var(--hairline-2);border-radius:999px;background:var(--surface);box-shadow:var(--ops-shadow);white-space:nowrap}
.chatMsg.mine .chatMsgActions{left:auto;right:max(0px,calc(100% - var(--bar)))}
.chatMsgActions button{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:none;color:inherit;font-size:16px;cursor:pointer}
.chatQuote b svg{vertical-align:-2px}
.chatMsgActions button:hover,.chatMsgActions button:focus-visible{background:var(--ink-800)}
@media (hover:hover){.chatMsg:hover .chatMsgActions{display:flex}}
.chatMsg:has(:focus-visible) .chatMsgActions{display:flex}
.chatMsg.picked .chatMsgActions{display:flex}
@media (width<=760px){
  .chatMsgActions,.chatMsg.mine .chatMsgActions{position:static;margin:4px 0 0;width:max-content;max-width:100%;flex-wrap:wrap}
  .chatMsg.mine .chatMsgActions{margin-left:auto}
}

.chatComposer{position:relative}
.chatReplyDraft{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:6px 10px;border-left:3px solid var(--accent);border-radius:6px;background:var(--ink-800);font-size:13px}
.chatReplyDraft .grow{min-width:0}
.chatReplyDraft b,.chatReplyDraft span span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chatDraftImage img{display:block;width:44px;height:44px;object-fit:cover;border-radius:6px}
.chatDraftImage .opsChatImageWait{width:44px;height:44px}
.chatThread{position:relative}
.chatThread.dropping .chatBody{outline:2px dashed var(--accent);outline-offset:-8px}
.chatDropHint{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);z-index:4;padding:10px 16px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:600;pointer-events:none}

.opsEmojiPicker{position:absolute;left:12px;right:12px;bottom:100%;z-index:5;max-width:420px;margin-bottom:6px;border:1px solid var(--hairline-2);border-radius:12px;background:var(--surface);box-shadow:var(--ops-shadow);display:flex;flex-direction:column;max-height:min(360px,55vh)}
.opsEmojiHead{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--hairline)}
.opsEmojiHead b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}
.opsEmojiHead input{flex:1;min-width:0}
.opsEmojiTabs{display:flex;gap:2px;padding:4px 6px;border-bottom:1px solid var(--hairline);overflow-x:auto}
.opsEmojiTabs button{flex:none;width:34px;height:30px;border:0;border-radius:8px;background:none;font-size:17px;cursor:pointer;opacity:.6}
.opsEmojiTabs button.on{background:var(--ops-soft);opacity:1}
.opsEmojiGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:2px;padding:6px;overflow-y:auto}
.opsEmojiGrid button{height:38px;border:0;border-radius:8px;background:none;font-size:22px;cursor:pointer}
.opsEmojiGrid button:hover,.opsEmojiGrid button:focus-visible{background:var(--ink-800)}
.opsEmojiGrid p{grid-column:1/-1;margin:8px}

.opsChatHits{display:flex;flex-direction:column;gap:2px}
.opsChatHits>p{margin:4px 6px 6px}
.opsChatHit{display:flex;gap:9px;align-items:flex-start;width:100%;padding:8px 9px;border:0;border-radius:var(--r);background:none;color:inherit;text-align:left;cursor:pointer}
.opsChatHit:hover{background:var(--ink-800)}
.opsChatHit .grow{min-width:0}
.opsChatHitHead{display:flex;justify-content:space-between;gap:8px}
.opsChatHitHead b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opsChatHitText{display:block;font-size:13px;color:var(--bone-300);overflow-wrap:anywhere}
.opsChatHitText em{font-style:normal}
.opsChatHitText mark,.opsChatHits mark{background:var(--signal);color:var(--ink-950);border-radius:3px;padding:0 1px}

.chatLayout{position:relative}
.opsChatFiles{flex:none;width:330px;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--hairline);background:var(--surface)}
.opsChatFilesHead{display:flex;align-items:center;gap:8px;padding:13px 14px;border-bottom:1px solid var(--hairline)}
.opsChatFilesBar{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--hairline)}
.opsChatFilesBar .row{gap:6px;flex-wrap:wrap}
.opsChatFilesBody{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.opsChatGallery{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.opsChatThumb{aspect-ratio:1;padding:0;border:0;border-radius:6px;overflow:hidden;background:var(--ink-800);cursor:zoom-in}
.opsChatThumb img{width:100%;height:100%;object-fit:cover;display:block}
.opsChatThumb .opsChatImageWait{width:100%;height:100%}
.opsChatFileRow{display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid var(--hairline);border-radius:8px}
.opsChatFileRow .grow{min-width:0}
.opsChatFileRow b,.opsChatFileRow a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.opsChatFileRow .mono{display:block}
.opsChatFileRow .ext{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r);background:var(--ink-800);font-size:10.5px;text-transform:uppercase}
@media (width<=1080px){.opsChatFiles{position:absolute;inset:0 0 0 auto;z-index:6;width:min(360px,100%);box-shadow:var(--ops-shadow)}}

.opsLightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#050608e6;padding:64px 56px 24px}
.opsLightboxBar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:10px 14px;color:#eef3fb;background:#0009}
.opsLightboxBar .grow{min-width:0}
.opsLightboxBar b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opsLightboxBar .mono{color:#bccbdd}
.opsLightboxBar .btn,.opsLightboxBar .navBtn{color:#eef3fb}
.opsLightboxImage{display:flex;max-width:100%;max-height:100%}
.opsLightboxImage img{max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain;border-radius:6px}
.opsLightboxNav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;border-radius:10px;background:#ffffff1f;color:#fff;font-size:32px;cursor:pointer}
.opsLightboxNav.prev{left:8px}
.opsLightboxNav.next{right:8px}
@media (width<=760px){.opsLightbox{padding:60px 8px 16px}.opsLightboxNav{width:36px;height:52px}}

.content:has(>.cxWorkspace){display:flex;overflow:hidden;padding:12px;min-height:0}
.cxWorkspace{display:flex;flex:1;min-height:0;min-width:0;border:1px solid var(--hairline);border-radius:16px;overflow:hidden;background:var(--surface);position:relative}
.cxWorkspace button{font-family:var(--sans);cursor:pointer}
.cxWorkspace button:disabled{cursor:default;opacity:.4}
.cxWorkspace button:focus-visible,.cxWorkspace textarea:focus-visible,.cxWorkspace summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.cxSidebar{width:224px;flex:none;display:flex;flex-direction:column;gap:14px;background:var(--ink-900);border-right:1px solid var(--hairline);padding:20px 12px;min-height:0}
.cxBrand{display:flex;align-items:center;gap:10px;padding:0 10px 8px;color:var(--accent)}
.cxBrand b{font-size:19px;letter-spacing:-.5px;flex:1}
.cxNew{justify-content:flex-start;gap:10px;min-height:44px;background:var(--surface);border:1px solid var(--hairline)}
.cxHistoryLabel{font-size:11px;color:var(--bone-400);padding:12px 10px 0}
.cxHistory{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:4px}
.cxHistory button{display:flex;align-items:center;gap:9px;flex:none;text-align:left;min-height:42px;border:0;border-radius:9px;padding:10px;background:transparent;color:var(--bone-300);font-size:12px;min-width:0}
.cxHistory button[aria-current],.cxHistory button:hover{background:var(--surface);color:var(--bone-100)}
.cxHistory button svg{flex:none}.cxHistory button span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.cxSessionNote{font-size:11px;line-height:1.6;color:var(--bone-400);margin:0 10px}
.cxToolButton{justify-content:flex-start;font-size:12px;padding:10px;gap:8px;min-height:42px}
.cxMain{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}
.cxHeader{display:flex;align-items:center;gap:10px;flex:none;padding:14px 22px;border-bottom:1px solid var(--hairline);min-height:70px}
.cxHeaderTitle{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.cxHeaderTitle b{font-size:15px;font-weight:600}.cxHeaderTitle span{font-size:11px;color:var(--bone-400)}
.cxIcon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border:0;border-radius:9px;background:transparent;color:var(--bone-300);padding:0}
.cxIcon:hover{background:var(--ink-900)}.cxMobile{display:none}
.cxMessages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:32px clamp(16px,4vw,60px)}
.cxWelcome{max-width:640px;margin:auto;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 0}
.cxWelcomeIcon{width:68px;height:68px;display:grid;place-items:center;border:1px solid var(--hairline);border-radius:22px;color:var(--accent);margin-bottom:24px;background:var(--ink-900)}
.cxEyebrow{font-size:10px;letter-spacing:1.6px;color:var(--bone-400)}
.cxWelcome h2{font-family:var(--sans);font-size:clamp(25px,2.6vw,36px);font-weight:500;letter-spacing:-1px;line-height:1.25;margin:14px 0}
.cxWelcome>p{color:var(--bone-400);font-size:14px;line-height:1.7;max-width:450px;margin:0}
.cxSuggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-top:32px}
.cxSuggestions button{display:flex;align-items:center;gap:12px;min-height:70px;text-align:left;background:var(--surface);color:var(--bone-200);border:1px solid var(--hairline);border-radius:13px;padding:16px;font-size:13px}
.cxSuggestions button>svg:first-child{color:var(--accent);flex:none}.cxSuggestions button>svg:last-child{margin-left:auto;flex:none;color:var(--bone-400)}.cxSuggestions button:hover{background:var(--ink-900);border-color:var(--accent)}
.cxTranscript{max-width:760px;margin:auto}.cxTurn{margin-bottom:36px}
.cxUser{display:flex;justify-content:flex-end;margin-bottom:28px}.cxUser>div{max-width:85%;border-radius:20px 20px 5px 20px;background:var(--ink-900);padding:14px 20px;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.cxAssistant{font-size:14px;line-height:1.75;min-width:0}.cxAssistantName{display:flex;align-items:center;gap:9px;margin-bottom:14px}.cxAssistantName svg{color:var(--accent)}.cxAssistantName b{font-size:13px;font-weight:600}.cxAssistantName span{font-size:10px;color:var(--bone-400);margin-left:6px}
.cxAnswer,.cxRemote p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 18px}.cxRemote>span{font-size:11px;color:var(--bone-400)}
.cxSources summary{cursor:pointer;font-size:12px;font-weight:500;padding:8px 0;color:var(--bone-300)}
.cxSources>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 14px}
.cxSources button{display:flex;flex-direction:column;gap:5px;text-align:left;padding:12px 14px;border:1px solid var(--hairline);border-radius:10px;background:transparent;color:inherit;min-width:0;overflow-wrap:anywhere}
.cxSources button:hover{background:var(--ink-900)}.cxSourceType{font-size:10px;color:var(--accent)}.cxSources b{font-size:12px;font-weight:600;line-height:1.5}.cxSources button>span:not(.cxSourceType){font-size:12px;color:var(--bone-400);line-height:1.6}.cxSources small{font-size:10px;margin-top:4px;color:var(--bone-400)}
.cxCopy{font-size:11px;color:var(--bone-400);background:none;border:0;padding:8px 0;min-height:36px}.cxCopy:hover{color:var(--accent)}
.cxComposerArea{flex:none;padding:8px clamp(16px,4vw,60px) 16px}
.cxComposer{max-width:760px;margin:auto;border:1px solid var(--hairline-2);border-radius:20px;background:var(--ink-900);box-shadow:0 4px 20px #00000005;padding:12px}
.cxComposer:focus-within{border-color:var(--accent)}
.cxComposer textarea{display:block;width:100%;min-height:56px;max-height:160px;resize:vertical;border:0;background:transparent;border-radius:8px;padding:6px 8px;font-size:14px;line-height:1.6;box-shadow:none;color:inherit}
.cxComposerActions{display:flex;gap:6px;align-items:center;margin-top:6px}.cxComposerSpace{flex:1}
.cxComposer .uxSpeechCompact{border:0;background:transparent;font-size:11px;min-height:38px;padding:6px 8px}
.cxSend{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:12px;background:var(--accent);color:var(--ink-950);flex:none}.cxSend svg{transform:rotate(-90deg)}
.cxComposerNote{font-size:10px;color:var(--bone-400);line-height:1.5;text-align:center;margin:8px auto 0;max-width:760px}.cxComposerNote span{display:block;margin-top:3px}
.cxPending{color:var(--bone-400);font-size:12px;display:flex;align-items:center;gap:8px}.cxPending i{width:7px;height:7px;background:var(--accent);border-radius:50%}.cxError{font-size:12px;color:var(--danger)}.cxListening{color:var(--danger);background:var(--ink-900)}
.cxTools{flex:1;min-height:0;overflow:auto;padding:24px;overscroll-behavior:contain}.cxTools .row{flex-wrap:wrap}.cxTools .field{min-width:0;max-width:100%}.cxTools input,.cxTools select{max-width:100%;min-width:0!important}.cxTools .sectionHead{flex-wrap:wrap;gap:8px}.cxTools .sectionHead h2{overflow-wrap:anywhere}.cxTools .grid.two{grid-template-columns:minmax(0,1fr)}
.cxBackdrop{display:none}
@media(max-width:1100px){.cxSidebar{width:190px}.cxMessages{padding:24px}.cxComposerArea{padding:8px 24px 14px}.cxSuggestions button{padding:12px;gap:8px;font-size:12px}}
@media(max-width:900px){.cxSidebar{display:none;position:absolute;inset:0 auto 0 0;width:min(280px,85%);z-index:5}.cxHistoryOpen .cxSidebar{display:flex}.cxMobile{display:inline-flex}.cxHistoryOpen .cxBackdrop{display:block;position:absolute;inset:0;border:0;background:#0005;z-index:4}.cxHeader{padding:10px 14px;gap:7px}.cxHeaderTitle span{font-size:10px}}
@media(max-width:760px){.content:has(>.cxWorkspace){padding:8px}.cxWorkspace{border-radius:12px}.cxMessages{padding:20px 16px}.cxWelcome{padding:16px 0}.cxWelcomeIcon{width:52px;height:52px;border-radius:17px;margin-bottom:18px}.cxWelcome h2{font-size:27px}.cxWelcome>p{font-size:13px}.cxSuggestions{gap:8px;margin-top:24px}.cxSuggestions button{min-height:84px;flex-direction:column;align-items:flex-start;gap:8px}.cxSuggestions button>svg:last-child{display:none}.cxHeader{min-height:64px;padding:8px}.cxHeader .btn{font-size:11px;padding:8px;min-height:40px}.cxIcon,.cxSend{width:40px;height:40px}.cxComposerArea{padding:6px 10px 10px}.cxComposer{padding:8px;border-radius:16px}.cxComposer textarea{font-size:16px;resize:none;max-height:110px}.cxComposerNote{font-size:9px}.cxComposerNote span{display:none}.cxSources>div{grid-template-columns:minmax(0,1fr)}.cxUser>div{max-width:92%;padding:12px 16px}.cxTools{padding:16px}.cxTools .row{gap:8px}.cxTools .row>*{max-width:100%;min-width:0}.cxTools .row select{width:100%}}
.cxComposer textarea,.cxComposer textarea:focus,.cxComposer textarea:focus-visible{outline:none;border:0;box-shadow:none}
.cxNew{color:var(--bone-100)}
.opsChatToasts.opsCortexTrail{left:calc(var(--sidebar) + 20px);right:auto;width:min(360px,calc(100vw - var(--sidebar) - 40px))}
.opsCortexTrail .opsChatToastOpen{cursor:default}.opsCortexTrail .opsChatToastOpen>span:last-child{gap:4px}
.opsCortexTrail small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.opsCortexTrail .link{background:none;border:0;padding:0;margin-top:4px;cursor:pointer;justify-self:start}
@media(max-width:1000px){.opsChatToasts.opsCortexTrail{left:16px;width:min(360px,calc(100vw - 32px))}}
.cxTurn,.content [data-ops-focus]{scroll-margin-top:calc(var(--topbar) + 16px)}
@media(max-width:900px){.cxTurn,.content [data-ops-focus]{scroll-margin-top:calc(var(--topbar) + 64px)}}

/* Administracja → Wdrożenia (src/deploys.jsx) */
.opsDeploys{--dep-ok:#22a95b;--dep-warn:var(--signal);--dep-block:var(--danger)}
.opsDepCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.opsDepCard{display:grid;gap:8px;align-content:start;padding:16px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-2);min-width:0}
.opsDepCard p{margin:0;overflow-wrap:anywhere}
.opsDepCard h4{margin:10px 0 0;font-size:12px;color:var(--bone-400);font-weight:500}
.opsDepCardHead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.opsDepCardHead b{overflow-wrap:anywhere}
.opsDepState{justify-self:start;width:max-content;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid currentColor;font-size:11px;white-space:nowrap;line-height:1.5}
.opsDepState.is-ok{color:var(--dep-ok)}
.opsDepState.is-warn{color:var(--dep-warn)}
.opsDepState.is-block{color:var(--dep-block)}
.opsDepCommit{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.opsDepCommit small{color:var(--bone-400);overflow-wrap:anywhere}
.opsDeploys a{color:var(--accent)}
.opsDeploys code{font-family:var(--mono);font-size:12px}
.opsDepWarn{color:var(--dep-warn);font-size:13px;margin:6px 0 0}
.opsDepError{color:var(--dep-block)}
.opsDepChecks{display:grid;gap:6px;margin:10px 0}
.opsDepCheck{display:grid;grid-template-columns:20px minmax(150px,240px) 1fr;gap:10px;align-items:baseline;padding:8px 10px;border-radius:8px;background:var(--surface-2);font-size:13px;min-width:0}
.opsDepCheck i{font-style:normal;font-weight:700;text-align:center}
.opsDepCheck span{color:var(--bone-400);overflow-wrap:anywhere;min-width:0}
.opsDepCheck.is-ok i{color:var(--dep-ok)}
.opsDepCheck.is-warn i,.opsDepCheck.is-warn b{color:var(--dep-warn)}
.opsDepCheck.is-block i,.opsDepCheck.is-block b{color:var(--dep-block)}
.opsDepHow{margin-top:12px;font-size:13px}
.opsDepHow summary{cursor:pointer;color:var(--bone-400)}
.opsDepHow li{margin:6px 0;overflow-wrap:anywhere}
.opsDepList{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.opsDepList li{display:flex;align-items:center;gap:10px;font-size:13px;min-width:0;flex-wrap:wrap}
.opsDepList li .grow{flex:1;min-width:160px;overflow-wrap:anywhere}
.opsDepList li small{display:block;color:var(--bone-400);font-size:11px}
.opsDepHistory{display:grid;gap:4px}
.opsDepRow{display:grid;grid-template-columns:120px 110px minmax(160px,1.4fr) minmax(120px,1fr) 110px auto;gap:12px;align-items:center;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer;min-width:0}
.opsDepRow:hover,.opsDepRow.isOpen{background:var(--surface-2)}
.opsDepRow>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opsDepRow time{color:var(--bone-400)}
.opsDepRow small{color:var(--bone-400)}
.opsDepRowDetails{padding:4px 10px 14px}
@media(max-width:760px){
  .opsDepRow{grid-template-columns:1fr auto;grid-template-areas:"time state" "kind kind" "release release" "commit actor";gap:3px 10px}
  .opsDepRow time{grid-area:time;font-size:11px}
  .opsDepRow>b{grid-area:kind}
  .opsDepRow .opsDepRelease{grid-area:release}
  .opsDepRow .opsDepRowCommit{grid-area:commit;font-size:11px}
  .opsDepRow .opsDepRowActor{grid-area:actor;font-size:11px;color:var(--bone-400)}
  .opsDepRow .opsDepState{grid-area:state;justify-self:end}
  .opsDepCheck{grid-template-columns:20px 1fr}
  .opsDepCheck span{grid-column:2}
}

.ops-integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.ops-integration-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}.ops-integration-field>span{font-size:12px;color:var(--bone-400,#75817c)}.ops-integration-field small{font-size:11px;color:var(--bone-400,#75817c)}.ops-integration-field input,.ops-integration-field select,.ops-integration-field textarea{width:100%;box-sizing:border-box}.ops-integration-error{padding:14px;border:1px solid var(--danger,#b85559);border-radius:8px;background:rgba(170,50,60,.06);font-size:13px}.ops-mail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.ops-mail-layout{display:grid;grid-template-columns:180px minmax(230px,320px) minmax(280px,1fr);min-height:580px;border:1px solid var(--hairline,#dce0de);border-radius:10px;overflow:hidden;background:var(--surface,#fff)}.ops-mail-folders{padding:18px 12px;border-right:1px solid var(--hairline,#dce0de);display:flex;flex-direction:column;gap:6px;background:var(--surface-2,#f6f8f7)}.ops-mail-folders label{font-size:11px;display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.ops-mail-folders select{width:100%;max-width:100%}.ops-mail-folder{padding:11px 12px;text-align:left;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.ops-mail-folder.active{background:var(--accent,#197765);color:var(--accent-ink,white)}.ops-mail-folders>p{font-size:11px;line-height:1.5;margin-top:18px}.ops-mail-list{padding:14px;border-right:1px solid var(--hairline,#dce0de);max-height:780px;overflow-y:auto}.ops-mail-list>input{width:100%;box-sizing:border-box}.ops-mail-count{font-size:11px;color:var(--bone-400,#75817c);padding:10px 2px}.ops-mail-message{display:flex;flex-direction:column;gap:5px;text-align:left;padding:14px 10px;width:100%;border:0;border-bottom:1px solid var(--hairline,#dce0de);background:transparent;color:inherit;cursor:pointer;overflow:hidden}.ops-mail-message.active{background:rgba(32,138,110,.10);border-left:3px solid var(--accent,#197765)}.ops-mail-message>span,.ops-mail-message>strong{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.ops-mail-message>small{font-size:10px;color:var(--bone-400,#75817c)}.ops-mail-message>p{font-size:12px;margin:0;line-height:1.4;color:var(--bone-400,#75817c)}.ops-mail-content{padding:24px;overflow:auto;max-height:780px;min-width:0}.ops-mail-content h3{margin-top:0}.ops-mail-content>.muted{font-size:12px;overflow-wrap:anywhere}.ops-mail-empty{display:flex;flex-direction:column;justify-content:center;text-align:center;min-height:450px}.ops-mail-empty h3{font-weight:500}.ops-mail .row{flex-wrap:wrap}.ops-mail .row select{max-width:100%}@media(max-width:1150px){.ops-mail-layout{grid-template-columns:155px minmax(220px,1fr)}.ops-mail-content{grid-column:1/-1;max-height:none;min-height:240px;border-top:1px solid var(--hairline,#dce0de)}.ops-mail-empty{min-height:170px}.ops-mail-list{max-height:450px}}@media(max-width:600px){.ops-mail-layout{grid-template-columns:1fr}.ops-mail-folders{display:flex;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--hairline,#dce0de)}.ops-mail-folders label{width:100%;margin-bottom:6px}.ops-mail-folders>p{margin:6px}.ops-mail-folder{padding:8px;font-size:12px}.ops-mail-list{border-right:0;max-height:330px}.ops-mail-content{padding:16px}.ops-mail-toolbar .btn{font-size:11px;padding:8px}.ops-integration-grid{grid-template-columns:1fr}}

.ops-mail-import-progress{margin:20px 0;padding:16px;background:var(--surface-2,#f6f8f7);border-radius:8px}.ops-mail-import-progress progress{display:block;width:100%;height:14px;margin:12px 0;accent-color:var(--accent,#197765)}.ops-mail-import-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--hairline,#dce0de);flex-wrap:wrap}.ops-mail-import-row p{font-size:12px;margin:6px 0}.ops-mail-import-row strong{overflow-wrap:anywhere}.ops-mail-headers{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:300px;overflow:auto}.ops-mail-folder{overflow-wrap:anywhere}

/* KONIK OPS: odświeżenie wyglądu — kolory stanów, gęstszy pasek boczny, czytelniejsza tablica i pulpit. */
:root{--ops-shadow-sm:0 1px 2px #0005;--ops-danger-soft:#ff90901c;--ops-warn:#f0b45a;--ops-warn-soft:#f0b45a1f;--ops-ok:#6fd3a4;--ops-ok-soft:#6fd3a41c;--ops-col:#191b20;--r-lg:14px}
:root[data-theme=light]{--ops-shadow:0 4px 18px #1b32530d;--ops-shadow-sm:0 1px 2px #1b32530f,0 1px 1px #1b325308;--ops-danger-soft:#fdeef0;--ops-warn:#a8650b;--ops-warn-soft:#fdf3e2;--ops-ok:#1f7a55;--ops-ok-soft:#e5f5ec;--ops-col:#eceff5}

.nav{padding:8px 10px 14px}
.navGroup{margin-bottom:0}
.navGroup>.mono{padding:14px 10px 5px}
.navItem{padding:7px 10px;margin:1px 0;border-radius:8px}
.navItem:hover{background:var(--ink-800);color:var(--bone-50)}
.navItem.on:before{display:block;left:-10px;width:3px;height:18px;border-radius:0 3px 3px 0}
.navCount{min-width:20px;text-align:center}
.sidebarHead{padding:0 18px}

.topbar h1{font-weight:650;letter-spacing:-.01em}
.opsGlobalSearch>input{border-radius:9px;min-height:36px;border-color:var(--hairline)}
.opsGlobalSearch>input:focus{background:var(--surface)}
.topbar .btn.ghost{border-color:var(--hairline)}

.opsPageHead h2{letter-spacing:-.025em}
.opsPanel,.card{border-radius:var(--r-lg);box-shadow:var(--ops-shadow-sm)}
.opsPanel .opsPageHead h2{font-size:16px}
.opsDashboardGrid{align-items:start}
.btn.primary{box-shadow:0 1px 2px #0b193433}

.opsMetrics{gap:14px}
.opsMetric{border-radius:var(--r-lg);padding:16px 20px 15px;gap:3px;box-shadow:var(--ops-shadow-sm);transition:border-color .15s,box-shadow .15s,transform .15s}
.opsMetric:before{content:"";width:24px;height:4px;border-radius:4px;background:var(--metric,var(--hairline-2));margin-bottom:10px}
.opsMetric strong{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}
.opsMetric span{font-size:12.5px;color:var(--bone-300)}
button.opsMetric:hover{transform:translateY(-1px);box-shadow:var(--ops-shadow)}
.opsMetric.tone-accent{--metric:var(--accent)}
.opsMetric.tone-ok{--metric:var(--ops-ok)}
.opsMetric.tone-danger{--metric:var(--danger);background:var(--ops-danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}
.opsMetric.tone-danger strong{color:var(--danger)}

.opsTaskRows .opsTaskRow{padding:12px 10px;margin:0 -10px;width:calc(100% + 20px);border-radius:8px}
.opsTaskRows .opsTaskRow:hover{background:var(--surface-2)}
.opsTaskRows .opsOverdue{background:var(--ops-danger-soft);padding:2px 8px;border-radius:99px;font-weight:600}
.opsClientCards>.opsClientCard{border-left:3px solid var(--hairline-2);transition:border-color .15s,box-shadow .15s}
.opsClientCards>.opsClientCard:hover{box-shadow:var(--ops-shadow)}
.opsClientCard.tone-danger{border-left-color:var(--danger)}
.opsClientCard.tone-danger span{color:var(--danger)}
.opsClientCard.tone-warn{border-left-color:var(--ops-warn)}
.opsClientCard.tone-warn span{color:var(--ops-warn)}

.board{gap:14px}
.col{background:var(--ops-col);border:1px solid var(--hairline);border-radius:var(--r-lg)}
.col.dragOver{background:var(--ops-soft)}
.colHead{border-bottom:0;padding:14px 14px 8px}
.colHead b{font-size:13px;font-weight:650;color:var(--bone-50)}
.col[data-col] .colHead:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--col-c,var(--bone-500));flex:none}
.col[data-col=wtoku]{--col-c:var(--accent)}
.col[data-col=blokada]{--col-c:var(--danger)}
.col[data-col=zrobione]{--col-c:var(--ops-ok)}
.colBody{padding:4px 10px 10px;gap:8px}
.colBody>p.muted{margin:0;padding:18px 10px;text-align:center;font-size:12px;border:1px dashed var(--hairline-2);border-radius:10px}
.colFoot .btn{width:100%;justify-content:center;border-style:dashed;background:transparent}
.kcard{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;box-shadow:var(--ops-shadow-sm);padding:12px 13px;transition:border-color .14s,box-shadow .14s}
.kcard:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--hairline));box-shadow:var(--ops-shadow)}
.kcard.opsTaskCard{gap:8px}
.kcard.opsTaskCard strong{font-size:13.5px;font-weight:600;line-height:1.4}
.kcard.opsTaskCard.isDone{box-shadow:none}
.kcard.opsTaskCard.isDone strong{color:var(--bone-300)}
.opsTaskCard .opsTaskPerson{font-size:12.5px;color:var(--bone-200)}
.opsTaskCard .opsTaskMeta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:var(--bone-300);font-size:11px}
.opsTaskMeta>span{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:99px;background:var(--surface-2);border:1px solid var(--hairline);white-space:nowrap;line-height:1.5}
.opsTaskMeta .opsDue.late{color:var(--danger);background:var(--ops-danger-soft);border-color:transparent;font-weight:600}
.opsTaskMeta .opsPrio{font-weight:650}
.opsTaskMeta .opsPrio.P1{color:var(--danger);background:var(--ops-danger-soft);border-color:transparent}
.opsTaskMeta .opsPrio.P2{color:var(--ops-warn);background:var(--ops-warn-soft);border-color:transparent}
.opsTaskMeta .opsCat:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cat)}
.opsTaskMeta .opsWait{color:var(--ops-warn)}

.chatItem.on{background:var(--ops-soft)}
.chatItem.on b{color:var(--accent)}
.chatItem.on .chatItemLast{color:var(--bone-300)}

.drawerHead{padding:20px 22px 16px}
.dTab.on{font-weight:650}

.opsTableWrap{border-radius:var(--r-lg);box-shadow:var(--ops-shadow-sm)}
.opsTable td{padding:14px 18px}

@media(max-width:760px){.opsMetric{padding:13px 15px}
.opsMetric:before{margin-bottom:7px}
.opsMetric strong{font-size:24px}
.board{gap:10px}
}

/* Tablica: najpierw „Moje”, zwarte filtry, limit w toku; na telefonie jedna kolumna z zakładkami (przeciąganie nie działa na dotyku). */
.opsBoardStats{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--bone-300)}
.opsBoardStats b{color:var(--bone-50);font-weight:650;font-variant-numeric:tabular-nums}
.opsBoardStats .late,.opsBoardStats .late b{color:var(--danger)}
.opsBoardStats .warn,.opsBoardStats .warn b{color:var(--ops-warn)}
.opsBoardBar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 16px}
.opsScope{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--hairline);border-radius:11px;background:var(--surface-2)}
.opsScope button{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:13px;font-weight:550;color:var(--bone-300);cursor:pointer;white-space:nowrap}
.opsScope button:hover{color:var(--bone-50)}
.opsScope button[aria-pressed=true]{background:var(--surface);color:var(--accent);font-weight:650;box-shadow:var(--ops-shadow-sm)}
.opsScope button[aria-pressed=true] .navCount{background:var(--ops-soft);color:var(--accent)}
.opsScope button:focus-visible,.opsBoardTabs button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.opsBoardBar select{width:auto;max-width:210px;min-height:36px;font-size:13px;background-color:var(--surface)}
.opsBoardBar select.isSet{border-color:var(--accent);color:var(--accent);font-weight:600}
.opsBoardBar .link,.opsBoardEmpty .link{font-size:13px;cursor:pointer}
.opsBoardEmpty{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 14px;padding:12px 14px;border:1px dashed var(--hairline-2);border-radius:10px;font-size:13px;color:var(--bone-300)}
.opsBoard .colHead{flex-wrap:wrap;row-gap:2px}
.opsBoard .colHint{flex-basis:100%;padding-left:17px;font-size:11.5px;color:var(--bone-400)}
.opsBoard .colHint.warn{color:var(--ops-warn);font-weight:600}
.opsBoard .colFoot .btn{width:100%;justify-content:center}
.kcard.opsTaskCard.isMine{border-left:3px solid var(--accent);padding-left:11px}
.opsBoard .opsTaskCard .opsTaskPerson{flex-wrap:wrap}
.opsTaskCard .opsTaskPerson em{font-style:normal;font-size:11px;font-weight:600;color:var(--accent);background:var(--ops-soft);padding:1px 7px;border-radius:99px}
.opsBoardTabs{display:none}
@media(hover:none),(max-width:760px){.opsDropHint{display:none}}
@media(max-width:760px){.opsScope{display:flex;width:100%}
.opsScope button{flex:1;justify-content:center;padding:8px 6px}
.opsBoardBar select{flex:1 1 140px;max-width:none}
.opsBoardTabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0 0 12px;padding:3px;border:1px solid var(--hairline);border-radius:11px;background:var(--surface-2)}
.opsBoardTabs button{display:grid;justify-items:center;gap:1px;padding:7px 2px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:11.5px;color:var(--bone-300);cursor:pointer}
.opsBoardTabs b{font-size:16px;color:var(--bone-50);font-variant-numeric:tabular-nums}
.opsBoardTabs button[aria-selected=true]{background:var(--surface);color:var(--accent);box-shadow:var(--ops-shadow-sm)}
.opsBoardTabs button[aria-selected=true] b{color:var(--accent)}
.board.opsBoard{display:block;padding-right:0;overflow:visible}
.opsBoard .colHead>b,.opsBoard .colHead>.navCount,.opsBoard>.col[data-col] .colHead:before{display:none}
.opsBoard .colHint{padding-left:0}
.opsBoard>.col{display:none;min-width:0;max-width:none}
.opsBoard>.col.isShown{display:flex}
}

/* Czas pracy: korekta wpisu z datą po obu stronach, wycięcie przerwy, ostrzeżenie o zegarze zostawionym na noc. */
.opsTimeDialog{max-width:min(560px,calc(100vw - 24px))}
.opsTimeEnds{display:grid;gap:10px}
.opsTimeField{display:grid;grid-template-columns:110px minmax(0,1fr) 110px;gap:8px;align-items:center}
.opsTimeField>span{font-size:12px;font-weight:600;color:var(--bone-300)}
.opsTimeField input{min-width:0;width:100%}
.opsTimeCheck{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--bone-200);cursor:pointer}
.opsTimeCheck input{width:16px;height:16px;min-width:16px;margin-top:2px;accent-color:var(--accent)}
.opsTimeWarn,.opsTimeLeft{margin:0;padding:10px 12px;border-radius:10px;background:var(--ops-warn-soft);color:var(--ops-warn);font-size:13px;font-weight:550;line-height:1.45}
.opsTimeLeft{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;padding:8px 10px;font-size:12px}
.opsTimeLeft>span{flex:1 1 180px}
.opsTimeNow{margin:0;font-size:12px;color:var(--bone-300)}
.opsTimeParts{margin:0;padding:10px 12px 10px 30px;display:grid;gap:4px;border:1px dashed var(--accent);border-radius:10px;background:var(--ops-soft);font-size:13px;color:var(--bone-50)}
.opsTimeParts li.cut{list-style:none;margin-left:-18px;color:var(--bone-300);font-size:12px}
@media(max-width:520px){.opsTimeField{grid-template-columns:1fr 1fr}.opsTimeField>span{grid-column:1/-1}}

/* Lewe menu: nagłówki grup jako przyciski zwijania; w zwiniętej grupie zostaje widoczna tylko otwarta pozycja. */
.opsNavGroup{margin-bottom:2px}
.opsNavGroup+.opsNavGroup{border-top:1px solid var(--hairline);margin-top:6px;padding-top:2px}
.opsNavGroup .navGroup{margin-bottom:0}
.opsNavGroup .navGroup>.mono{display:none}
.opsNavHead{display:flex;align-items:center;gap:8px;width:100%;padding:12px 10px 6px;border:0;background:transparent;font:inherit;font-size:10.5px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--bone-400);cursor:pointer;text-align:left;border-radius:6px}
.opsNavHead:hover{color:var(--bone-50)}
.opsNavHead:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.opsNavHead>span{flex:1}
.opsNavHead>i{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
.opsNavGroup.isCollapsed .opsNavHead>i{transform:rotate(-45deg)}
.opsNavGroup.isCollapsed .navItem:not(.on){display:none}
.opsNavGroup.isCollapsed:has(.navItem:not(.on) .navCount) .opsNavHead>span:after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-radius:50%;background:var(--accent);vertical-align:middle}

/* Wnioski o zmianę czasu (src/time-approvals.jsx) i wybór roli w Osobach. */
.opsTimeReqList{display:grid;gap:10px}
.opsTimeReq{display:grid;gap:8px}
.opsTimeReqTop{gap:8px;flex-wrap:wrap}
.opsTimeReqLines{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:13px;color:var(--bone-50)}
.opsTimeReqLines span{display:inline-block;min-width:120px;margin-right:8px;color:var(--bone-300);font-size:12px}
.opsTimeReqNote{margin:0;font-size:12.5px;color:var(--bone-200)}
.opsTimeReqActions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.opsTimeReqActions input{flex:1 1 220px;min-width:0}
.opsTimeReqActions>.grow{flex:1}
.opsTimeReqHead{margin:16px 0 8px;font-size:13px;font-weight:600;color:var(--bone-200)}
.opsTimeApproval{margin:0;padding:10px 12px;border-radius:10px;background:var(--ops-soft);color:var(--bone-50);font-size:13px;line-height:1.45}
.opsRoleChips{gap:2px;padding:2px;border:1px solid var(--hairline-2);border-radius:999px}
.opsRoleChips .chip{border-color:transparent}
.opsRoleChips .chip.on{border-color:var(--accent)}

/* CRM_v2 (06.10). Tablice mieszczą się w oknie: kolumny przewijają się w środku, poziomy suwak zostaje na dole ekranu.
   .content ma flex:1, przez co wysokość z bazowego CSS była ignorowana i strona rosła z najdłuższą kolumną. */
@media(min-width:761px){
.content.boardPage{overflow:hidden;flex:none;height:calc(100vh - var(--topbar))}
.content.boardPage>.opsBoardPage{flex:1;min-height:0;display:flex;flex-direction:column}
.opsBoardPage>*{flex:none}
.opsBoardPage>.board{flex:1;min-height:0}
.content.boardPage>.opsWorkspace{flex:1;min-height:0;grid-template-rows:auto minmax(0,1fr)}
.opsStageBoard{min-height:0;grid-template-rows:minmax(0,1fr)}
.opsStageColumn{min-height:0;overflow-y:auto}
}
.opsSearchHidden{margin:0 0 12px;padding:10px 14px;border:1px solid var(--signal);border-radius:9px;color:var(--bone-100);font-size:13px}
.opsSearchHidden .link{background:none;border:0;padding:0;cursor:pointer}
.opsColorPicker{position:relative;display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px}
.opsColorDot{padding:0;border-radius:50%;border:1px solid var(--hairline-2);cursor:pointer;flex:none}
.opsColorDot[aria-pressed=true]{border:2px solid var(--bone-50);outline:2px solid var(--accent);outline-offset:1px}
.opsColorDot:disabled,.opsColorAdd:disabled{cursor:default}
.opsColorAdd{display:inline-grid;place-items:center;padding:0;border-radius:50%;border:1px dashed var(--bone-400);background:transparent;color:var(--bone-200);font:600 14px/1 var(--sans);cursor:pointer;flex:none}
.opsColorAdd[aria-expanded=true],.opsColorAdd:hover{border-color:var(--accent);color:var(--accent)}
.opsColorPanel{position:absolute;z-index:60;top:calc(100% + 8px);left:0;width:250px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px;background:var(--surface);border:1px solid var(--hairline-2);border-radius:12px;box-shadow:0 14px 40px #0006}
.opsColorArea{position:relative;height:150px;border-radius:9px;cursor:crosshair;touch-action:none;background-image:linear-gradient(to top,#000,#0000),linear-gradient(to right,#fff,#fff0)}
.opsColorArea i{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0008;pointer-events:none}
.opsColorHue{-webkit-appearance:none;appearance:none;width:100%;height:12px;padding:0;border:0;border-radius:6px;background:linear-gradient(to right,red,#ff0,lime,cyan,blue,#f0f,red)}
.opsColorHue::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #0006}
.opsColorHue::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #0006}
.opsColorHex{display:flex;align-items:center;gap:8px}.opsColorHex>span{width:30px;height:30px;border-radius:50%;flex:none;border:1px solid var(--hairline-2)}.opsColorHex input{flex:1;width:0;font-family:ui-monospace,monospace}
.opsColorActions{display:flex;justify-content:flex-end;gap:8px}
.opsPhotoLink{background:none;border:0;padding:0;cursor:pointer;font-size:12px;color:var(--accent)}
.opsPhotoButton{padding:0;border:0;background:none;border-radius:50%;cursor:pointer;display:inline-flex}.opsPhotoButton:hover .avatar{outline:2px solid var(--accent);outline-offset:2px}
.opsPhotoNudge{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border:1px solid var(--hairline-2);border-left:3px solid var(--accent);border-radius:10px;background:var(--surface)}
.opsPhotoNudge>div{flex:1;min-width:200px}.opsPhotoNudge b{display:block;font-size:14px}.opsPhotoNudge small{color:var(--bone-300);font-size:12px}.opsPhotoNudge .link{background:none;border:0;cursor:pointer}
.opsAvailLegend{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 12px;font-size:12px;color:var(--bone-300)}.opsAvailLegend span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:6px}
.opsAvailPill{flex-direction:column;align-items:flex-start;gap:1px;border-radius:8px;color:var(--c);border-color:color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 9%,transparent);white-space:nowrap}
.opsAvailPill b{font-weight:600}.opsAvailPill em{font-style:normal;font-size:11px}.opsAvailPill small{font-size:11px;color:var(--bone-300)}
.opsAvailChoices{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.opsAvailChoices button{padding:8px 14px;border-radius:999px;border:1px solid var(--hairline-2);background:var(--surface);color:var(--bone-100);font:500 13px var(--sans);cursor:pointer}
.opsAvailChoices button:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:7px}
.opsAvailChoices button[aria-pressed=true]{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--bone-50);font-weight:650}
.opsAvailRanges{margin-top:14px}.opsAvailRange{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding-left:10px;border-left:3px solid var(--c)}.opsAvailRange input{width:auto}
.opsRangeStatus{border-color:var(--c);min-width:150px}
.opsAvailError{color:var(--danger);margin-top:8px}
.opsTaskActions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1}
.opsTaskOnly{flex-basis:100%;font-size:12px;color:var(--bone-300)}
.opsTaskReturn{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;flex-basis:100%}.opsTaskReturn textarea{flex:1;min-width:220px}
.opsChatToasts{position:fixed;right:20px;bottom:20px;z-index:10040;display:grid;gap:10px;width:min(360px,calc(100vw - 32px))}
.opsChatToast{position:relative;display:flex;background:var(--surface);border:1px solid var(--hairline-2);border-left:3px solid var(--accent);border-radius:12px;box-shadow:0 14px 40px #0007;animation:opsToastIn .18s ease-out}
.opsChatToastOpen{flex:1;display:flex;gap:11px;align-items:flex-start;padding:12px 30px 12px 14px;background:none;border:0;color:var(--bone-50);text-align:left;cursor:pointer;min-width:0;font:inherit}
.opsChatToastOpen>span:last-child{display:grid;min-width:0}.opsChatToastOpen b{font-size:13px}.opsChatToastOpen small{font-size:11px;color:var(--bone-400)}
.opsChatToastOpen em{font-style:normal;font-size:13px;color:var(--bone-200);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.opsChatToastClose{position:absolute;top:6px;right:8px;background:none;border:0;color:var(--bone-400);font-size:16px;cursor:pointer}
@keyframes opsToastIn{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.opsNotifySettings{display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 14px 10px;border-bottom:1px solid var(--hairline)}.opsNotifySettings .link{background:none;border:0;padding:0;cursor:pointer;font-size:12px}.opsNotifySettings small{font-size:12px;color:var(--bone-400)}
@media(max-width:760px){.opsChatToasts{right:16px;bottom:74px}}
.opsClock{position:relative}
.opsClockPill{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid var(--hairline-2);background:var(--surface);color:var(--bone-100);font:600 13px var(--sans);font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}
.opsClockPill.praca{border-color:#22a95b;color:#22a95b}.opsClockPill.praca i{width:8px;height:8px;border-radius:50%;background:#22a95b;box-shadow:0 0 0 3px #22a95b33}
.opsClockPill.przerwa{border-color:#d99a2b;color:#d99a2b}.opsClockPill.warn{border-color:var(--signal);color:var(--signal)}
.opsClockPop{position:absolute;right:0;top:calc(100% + 8px);z-index:70;width:320px;display:grid;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--hairline-2);border-radius:14px;box-shadow:0 18px 48px #0008;cursor:default}
.opsClockWho{display:flex;align-items:center;gap:10px}.opsClockWho b{display:block;font-size:14px}.opsClockWho small{font-size:11px;color:var(--accent);background:var(--ops-soft);padding:2px 8px;border-radius:999px}
.opsClockCard{display:grid;gap:10px;padding:12px;border:1px solid var(--hairline-2);border-radius:11px}
.opsClockLine{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--bone-200)}.opsClockLine b{font-size:17px;color:var(--bone-50);font-variant-numeric:tabular-nums}
.opsClockEdit{margin-left:auto;background:none;border:0;color:var(--bone-300);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:6px}.opsClockEdit:hover{color:var(--accent);background:var(--ops-soft)}
.opsClockBreak{margin:0;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,#d99a2b 14%,transparent);font-size:12px;color:var(--bone-100)}
.opsClockNote{margin:0;font-size:12px;color:var(--bone-300)}.opsClockWarn{margin:0;font-size:12px;color:var(--signal)}
.opsClockButtons{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.opsClockButtons .btn{justify-content:center}
.opsClockPop>.link{background:none;border:0;padding:0;cursor:pointer;justify-self:start}
.opsModal{position:fixed;inset:0;z-index:10060;background:#020617a8;display:grid;place-items:center;padding:16px}
.opsWorkday{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;display:grid;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--hairline-2);border-radius:14px;box-shadow:0 24px 60px #000a;color:var(--bone-50)}
.opsWorkdayHead{display:flex;align-items:center;justify-content:space-between}.opsWorkdayHead h3{margin:0}
.opsWorkdayDay{margin:0;font-size:12px;color:var(--bone-300)}
.opsWorkdayTimes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.opsWorkdayTime{display:grid;gap:6px;justify-items:center;padding:12px;border:1px solid var(--hairline-2);border-radius:11px}.opsWorkdayTime>span{font-size:13px;font-weight:600}.opsWorkdayTime input{font-size:20px;text-align:center;font-variant-numeric:tabular-nums;width:100%}
.opsWorkdayTime:first-child{border-top:3px solid #22a95b}.opsWorkdayTime:nth-child(2){border-top:3px solid var(--accent)}
.opsWorkdayTime .link{background:none;border:0;cursor:pointer;font-size:12px;text-decoration:underline dotted}
.opsWorkdayRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:9px;background:var(--surface-2);font-size:13px}.opsWorkdayRow input{width:90px;text-align:center}
.opsWorkdayNote,.opsWorkdayPerson{display:grid;gap:6px;font-size:13px}.opsWorkdayActions{display:flex;justify-content:flex-end;gap:8px}
.opsPendingMark{display:inline-grid;place-items:center;width:14px;height:14px;margin-left:4px;border-radius:50%;background:var(--signal);color:#1a1300;font:700 10px/1 var(--sans);vertical-align:1px;cursor:help}
.opsTimeToolbar{display:inline-flex;flex-wrap:wrap;gap:8px}
.opsTimeBell{display:grid;border-bottom:1px solid var(--hairline)}.opsTimeBellItem{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--hairline);font-size:13px;line-height:1.45}.opsTimeBellItem:last-child{border-bottom:0}
.opsTimeBellItem>span{display:grid;gap:6px;min-width:0}.opsTimeBellItem em{font-style:normal;font-size:12px;color:var(--bone-300)}.opsTimeBellItem .link{background:none;border:0;padding:0;cursor:pointer;justify-self:start}
.opsTimeDecision{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.opsTimeDecision input{flex:1;min-width:140px}.opsTimeDecision .link{background:none;border:0;cursor:pointer}
.opsTimeToasts .opsChatToastOpen{cursor:default}.opsTimeToasts .opsChatToastOpen>span:last-child{gap:5px}
@media(max-width:760px){.opsClockPill{padding:5px 10px;font-size:12px}.opsClockPop{position:fixed;left:12px;right:12px;top:calc(var(--topbar) + 6px);width:auto}}
.opsChatToasts.opsTimeToasts{top:calc(var(--topbar) + 12px);bottom:auto}
.opsCrop{width:min(340px,100%);display:grid;gap:14px;justify-items:center;padding:20px;background:var(--surface);border:1px solid var(--hairline-2);border-radius:14px;box-shadow:0 24px 60px #000a;color:var(--bone-50)}
.opsCrop h3{margin:0;justify-self:start}
.opsCropFrame{position:relative;overflow:hidden;border-radius:12px;background:#0b0d10;cursor:grab;touch-action:none;user-select:none}.opsCropFrame:active{cursor:grabbing}
.opsCropFrame img{position:absolute;max-width:none;pointer-events:none}
.opsCropFrame i{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 999px #000a;outline:2px solid #fff9;outline-offset:-2px;pointer-events:none}
.opsCropZoom{display:grid;gap:6px;width:100%;font-size:12px;color:var(--bone-300)}.opsCropZoom input{width:100%;padding:0}
.opsCrop .opsWorkdayActions{justify-self:stretch}
