/* Sentrio 0.3 — themes, adaptive shell, kanban and work schedule */
:root{--s-bg:#f6f7fb;--s-surface:#fff;--s-surface-2:#f8f9fc;--s-text:#20283c;--s-muted:#758097;--s-border:#e6e9f0;--s-accent:#6355df;--s-shadow:0 18px 50px #1f2c4d12}
html[data-theme=dark]{color-scheme:dark;--s-bg:#0e1422;--s-surface:#151d2c;--s-surface-2:#1b2536;--s-text:#edf1f8;--s-muted:#9ba7ba;--s-border:#293448;--s-accent:#8b7cf6;--s-shadow:0 18px 55px #0006;background:#0e1422}
html[data-theme=dark] body,html[data-theme=dark] .main{background:var(--s-bg);color:var(--s-text)}
html[data-theme=dark] .topbar,html[data-theme=dark] .panel,html[data-theme=dark] .action-card,html[data-theme=dark] .login-card,html[data-theme=dark] .table-panel,html[data-theme=dark] .welcome-panel{background:var(--s-surface);border-color:var(--s-border);color:var(--s-text)}
html[data-theme=dark] input:not([type=checkbox]),html[data-theme=dark] select,html[data-theme=dark] textarea{background:#101827;border-color:#334057;color:#edf1f8}
html[data-theme=dark] input[readonly]{background:#192334}html[data-theme=dark] th{background:#192334;color:#aab6c9}html[data-theme=dark] td{border-color:#273247}html[data-theme=dark] tr:hover td{background:#182234}html[data-theme=dark] .button.secondary{background:#182234;border-color:#334057;color:#dbe3ef}html[data-theme=dark] .notice{background:#153126;border-color:#24503e;color:#b9ead4}html[data-theme=dark] .notice.error{background:#361c22;border-color:#60313a;color:#ffc2cb}html[data-theme=dark] .muted,html[data-theme=dark] small,html[data-theme=dark] .field-help{color:var(--s-muted)}
/* bugfix: primary button in credential edit modal is always visible */
#uzEditModal #uzEditSave,.modal .uz-btn-primary{background:#6355df!important;color:#fff!important;border-color:#6355df!important;box-shadow:0 4px 12px #6355df35!important}#uzEditModal #uzEditSave:hover,.modal .uz-btn-primary:hover{background:#5041c6!important;color:#fff!important}
.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.small-button{min-height:34px;padding:7px 11px}.danger-button{background:#bd3e4b!important;border-color:#bd3e4b!important}.danger-outline{color:#b63745!important;border-color:#e5b8be!important}.profile-main-stack{display:flex;flex-direction:column;gap:20px}.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.theme-card{position:relative;border:1px solid var(--s-border);border-radius:14px;padding:16px;background:var(--s-surface-2);cursor:pointer}.theme-card input{position:absolute;right:14px;top:14px}.theme-preview{height:100px;border-radius:10px;display:grid;grid-template-columns:28% 1fr;grid-template-rows:24px 1fr;gap:8px;padding:9px;margin-bottom:12px;border:1px solid #d8deea}.theme-preview i:first-child{grid-row:1/3}.theme-preview i{border-radius:5px;background:#dfe4ec}.light-preview{background:#fff}.dark-preview{background:#111827;border-color:#334155}.dark-preview i{background:#28354a}.theme-card:has(input:checked){border-color:#8375ef;box-shadow:0 0 0 3px #7565eb16}
.topbar-online{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--s-border);background:var(--s-surface-2);color:var(--s-text);border-radius:999px;padding:7px 11px;font-size:12px}.topbar-online i,.live-kicker i{width:7px;height:7px;border-radius:50%;background:#28ad72;box-shadow:0 0 0 4px #28ad721a}.topbar-online b{min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;background:#e8f5ef;color:#237e59;font-size:11px}.global-online-list{display:flex;flex-direction:column;gap:6px;max-height:55vh;overflow:auto;padding:4px}.global-online-person{display:flex;align-items:center;gap:12px;padding:11px;border-radius:10px;color:var(--s-text)}.global-online-person:hover{background:var(--s-surface-2)}.global-online-person .mini-avatar{width:38px;height:38px}.global-online-person>span:nth-child(2){min-width:0;flex:1}.global-online-person strong,.global-online-person small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-online-person .online-state{font-size:11px;color:#27865f}.live-kicker{display:inline-flex;align-items:center;gap:8px;color:#27865f;font-size:11px;font-weight:700;letter-spacing:.08em}
.s-modal[hidden]{display:none!important}.s-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px}.s-modal-backdrop{position:absolute;inset:0;background:#09101fcc;backdrop-filter:blur(4px)}.s-modal-card{position:relative;z-index:1;width:min(900px,100%);max-height:min(90vh,900px);overflow:auto;border:1px solid var(--s-border);background:var(--s-surface);color:var(--s-text);border-radius:18px;box-shadow:0 30px 90px #0005}.s-modal-card.compact{width:min(560px,100%)}.s-modal-head,.s-modal-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--s-border)}.s-modal-head h2{margin-bottom:5px}.s-modal-head p{margin:0}.s-modal-foot{border-bottom:0;border-top:1px solid var(--s-border);align-items:center;justify-content:flex-end}.s-modal-foot>div{display:flex;gap:8px}.s-modal-body{padding:22px}.modal-x{border:0;background:transparent;color:var(--s-muted);font-size:28px;line-height:1;width:36px;height:36px;border-radius:8px}.modal-x:hover{background:var(--s-surface-2);color:var(--s-text)}.modal-open{overflow:hidden}.confirm-strong-input{margin:0 22px 20px;width:calc(100% - 44px)!important}
.home-work-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin:22px 0}.today-statuses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.today-status{display:flex;align-items:center;gap:9px;border:1px solid var(--s-border);background:var(--s-surface-2);border-radius:10px;padding:10px 12px}.today-status strong{margin-left:auto;font-size:18px}.upcoming-work{display:flex;flex-direction:column;gap:8px}.absence-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--s-border)}
.schedule-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}.st-office,.schedule-dot.st-office{--status:#356fd4}.st-remote,.schedule-dot.st-remote{--status:#7a5bd4}.st-vacation,.schedule-dot.st-vacation{--status:#e0a338}.st-sick,.schedule-dot.st-sick{--status:#d85561}.st-trip,.schedule-dot.st-trip{--status:#1f9c8a}.st-timeoff,.schedule-dot.st-timeoff{--status:#d36cba}.st-weekend,.schedule-dot.st-weekend{--status:#7f8999}.st-other,.schedule-dot.st-other{--status:#915f42}.schedule-dot[class*=st-]{background:var(--status)}
.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:14px 16px}.month-nav,.view-switch{display:flex;align-items:center;gap:9px}.month-nav strong{min-width:145px;text-align:center;text-transform:capitalize}.month-nav .button{min-height:34px;padding:5px 11px}.view-switch{border:1px solid var(--s-border);padding:3px;border-radius:10px}.view-switch a{padding:7px 11px;border-radius:7px;color:var(--s-muted);font-size:12px}.view-switch a.active{background:var(--s-accent);color:white}.schedule-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:12px 0 18px}.schedule-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--s-muted)}.month-calendar{border:1px solid var(--s-border);border-radius:14px;overflow:hidden;background:var(--s-surface)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:10px;text-align:center;background:var(--s-surface-2);font-size:12px;color:var(--s-muted);border-right:1px solid var(--s-border)}.calendar-day{min-height:155px;padding:9px;border-top:1px solid var(--s-border);border-right:1px solid var(--s-border);background:var(--s-surface)}.calendar-day.today{box-shadow:inset 0 0 0 2px #7565eb}.calendar-day>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.calendar-day>header span{font-size:10px;color:var(--s-muted)}.muted-day{background:var(--s-surface-2)}.day-people{display:flex;flex-direction:column;gap:4px}.schedule-chip{border:0;border-left:3px solid var(--status);background:color-mix(in srgb,var(--status) 11%,var(--s-surface));color:var(--s-text);text-align:left;padding:6px 7px;border-radius:5px;min-width:0}.schedule-chip span,.schedule-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.schedule-chip small{color:var(--s-muted)}.people-schedule table{min-width:max-content}.people-schedule th,.people-schedule td{padding:8px;text-align:center}.people-schedule .person-sticky{position:sticky;left:0;z-index:2;background:var(--s-surface);text-align:left;min-width:190px}.today-col{background:#7565eb0d!important}.schedule-cell{width:30px;height:30px;border-radius:7px;border:1px solid color-mix(in srgb,var(--status) 50%,transparent);background:color-mix(in srgb,var(--status) 18%,var(--s-surface));color:var(--s-text);font-size:11px}.empty-cell{border:1px dashed var(--s-border);background:transparent;color:var(--s-muted)}.week-pattern{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kanban-shell{border:1px solid var(--s-border);border-radius:16px;min-height:65vh;background:#eef1f7;padding:18px;overflow-x:auto;background-size:cover;background-position:center}.kanban-board{display:flex;align-items:flex-start;gap:14px;min-height:58vh;width:max-content;min-width:100%}.kanban-list{width:300px;flex:0 0 300px;background:color-mix(in srgb,var(--s-surface) 94%,transparent);border:1px solid color-mix(in srgb,var(--s-border) 80%,transparent);border-radius:13px;padding:11px;box-shadow:0 5px 20px #18223d10}.kanban-list.dragging,.task-card.dragging{opacity:.45}.kanban-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 4px 10px}.kanban-list-head>div{display:flex;align-items:center;gap:8px}.kanban-list-head h2{font-size:14px;margin:0}.kanban-list-head>div>span{font-size:11px;background:var(--s-surface-2);border-radius:999px;padding:2px 7px;color:var(--s-muted)}.list-menu{position:relative}.list-menu summary{cursor:pointer;list-style:none;padding:4px 8px;border-radius:7px}.list-menu-card{position:absolute;right:0;top:28px;z-index:10;width:230px;background:var(--s-surface);border:1px solid var(--s-border);border-radius:10px;padding:10px;box-shadow:var(--s-shadow)}.list-menu-card form{display:flex;flex-direction:column;gap:6px}.kanban-cards{display:flex;flex-direction:column;gap:8px;min-height:12px}.task-card{display:block;width:100%;border:1px solid var(--s-border);background:var(--s-surface);color:var(--s-text);border-radius:10px;padding:12px;text-align:left;box-shadow:0 2px 8px #1c2b4710}.task-card:hover{border-color:#a99ff6;box-shadow:0 5px 15px #1c2b4718}.task-card strong{display:block;line-height:1.4;margin:4px 0}.task-card-labels{display:flex;gap:4px;flex-wrap:wrap}.task-card-labels span{font-size:9px;padding:2px 6px;border-radius:999px;background:#eae7fd;color:#5c50bd}.task-project{margin:5px 0}.task-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--s-muted);font-size:10px}.add-task-inline{width:100%;margin-top:8px;padding:8px;border:0;border-radius:8px;background:transparent;color:var(--s-muted);text-align:left}.add-task-inline:hover{background:var(--s-surface-2);color:var(--s-accent)}.kanban-empty{min-width:100%;display:grid;place-items:center;min-height:50vh}.kanban-empty>div{text-align:center;padding:35px;background:color-mix(in srgb,var(--s-surface) 94%,transparent);border-radius:16px;border:1px solid var(--s-border)}.kanban-empty>div>span{font-size:36px}.task-modal-card{width:min(1020px,100%)}.task-form-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:22px}.task-main-fields{display:flex;flex-direction:column;gap:16px}.task-side{border-left:1px solid var(--s-border);padding-left:18px}.task-side section+section{margin-top:24px}.task-comments,.task-attachments{display:flex;flex-direction:column;gap:8px}.task-comment,.task-attachment{padding:9px;background:var(--s-surface-2);border-radius:8px}.task-comment strong{font-size:11px}.task-comment p{font-size:12px;margin:4px 0}.task-extra-forms{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 22px 20px}.task-extra-forms form{display:flex;gap:8px;align-items:end}.task-extra-forms textarea{min-height:42px}.checklist-editor{border-top:1px solid var(--s-border);padding-top:16px}.checklist-block{border:1px solid var(--s-border);border-radius:10px;padding:12px;margin-top:10px}.checklist-block-head{display:flex;gap:8px}.checklist-items{display:flex;flex-direction:column;gap:7px;margin-top:8px}.checklist-item{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center}.checklist-item input[type=text]{min-height:34px}.task-modal-actions{justify-content:space-between}.task-modal-actions>div{display:flex;gap:8px}
.activity-clean-menu{position:relative}.activity-clean-menu details{position:relative}.activity-clean-menu summary{list-style:none;cursor:pointer}.clean-menu-card{position:absolute;right:0;top:48px;width:250px;background:var(--s-surface);border:1px solid var(--s-border);border-radius:12px;padding:10px;z-index:20;box-shadow:var(--s-shadow)}.clean-menu-card form+form{border-top:1px solid var(--s-border)}.clean-menu-card button{width:100%;text-align:left;padding:10px}.filtered-delete{margin-top:12px}.profile-history{margin-top:20px}
@media(max-width:1000px){.home-work-grid{grid-template-columns:1fr}.task-form-grid{grid-template-columns:1fr}.task-side{border-left:0;border-top:1px solid var(--s-border);padding-left:0;padding-top:18px}.task-extra-forms{grid-template-columns:1fr}.today-statuses{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.topbar-product,.breadcrumb-divider,.topbar .date{display:none}.topbar-right{gap:7px}.topbar-online span{display:none}.content{width:100%;overflow:hidden}.heading-actions{width:100%}.heading-actions .button{flex:1}.theme-options,.week-pattern,.today-statuses{grid-template-columns:1fr}.s-modal{padding:10px;align-items:end}.s-modal-card{max-height:94vh;border-radius:16px 16px 0 0}.s-modal-head,.s-modal-body,.s-modal-foot{padding:16px}.calendar-weekdays{display:none}.calendar-grid{display:flex;flex-direction:column}.calendar-day{min-height:auto;border-right:0;padding:12px}.calendar-day.muted-day{display:none}.calendar-day>header{justify-content:flex-start;gap:8px}.day-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-toolbar{align-items:stretch;flex-direction:column}.month-nav{justify-content:space-between}.view-switch{align-self:flex-start}.kanban-shell{margin-left:-20px;margin-right:-20px;border-radius:0;border-left:0;border-right:0;padding:12px}.kanban-list{width:280px;flex-basis:280px}.task-extra-forms form{flex-direction:column;align-items:stretch}.global-online-person .online-state{display:none}.activity-clean-menu{width:100%}.clean-menu-card{left:0;right:auto;width:100%}}
@media(max-width:430px){.day-people{grid-template-columns:1fr}.topbar-online{padding:6px 8px}.month-nav strong{min-width:auto}.profile-grid{display:block}.avatar-panel{margin-bottom:18px}}
