:root{--bg: #eaf4ff;--surface: #f8fbff;--surface-2: #edf4ff;--ink: #14293d;--muted: #4f657c;--line: #c9d9ea;--accent: #2f70b7;--accent-2: #1f87c7;--danger: #9a1c1c;--ok-bg: #e9f7f0;--ok-line: #b5e0c2;--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:"Source Sans 3",Trebuchet MS,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% -4%,#d4e8ff 0%,transparent 50%),radial-gradient(circle at 100% 8%,#dbeeff 0%,transparent 44%),var(--bg)}a{color:var(--accent-2)}code{background:#f2ebdf;border:1px solid var(--line);border-radius:8px;padding:.25rem .4rem;display:inline-block;overflow-wrap:anywhere}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.app-shell{display:grid;min-height:100vh;grid-template-columns:1fr}.sidebar{padding:1rem;border-bottom:1px solid var(--line);background:linear-gradient(160deg,#dcecff,#e7f2ff 55%,#f1f7ff);display:flex;flex-direction:column;gap:1rem;min-height:0}.sidebar-main{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.9rem;min-height:0;overflow:hidden}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:.65rem;display:grid;gap:.5rem}.brand-block{display:flex;align-items:center;gap:.8rem}.brand-logo{width:66px;height:66px;object-fit:contain;border-radius:10px;border:1px solid var(--line);background:#fff;padding:.3rem}.brand-logo.large{width:88px;height:88px;margin:0 auto}.sidebar h2{margin:0}.role{display:block;color:var(--muted)}.sidebar button,button,input,textarea,select{font:inherit}.sidebar button,button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:.58rem .75rem;cursor:pointer}.sidebar button.active,button.active,button[type=submit]{background:var(--accent);color:#fff;border-color:var(--accent)}.main-nav{display:grid;gap:.25rem}.main-nav button{width:100%;display:flex;align-items:center;justify-content:flex-start;text-align:left;border:1px solid transparent;background:transparent;padding:.48rem .58rem}.main-nav button:hover,.main-nav button:focus-visible{background:#ffffff8f;border-color:#46709a57}.main-nav button.active{background:#ffffffc2;border-color:#306aa673;color:#154876}.nav-item-content{display:inline-flex;align-items:center;gap:.5rem}.nav-icon-wrap{position:relative;width:1.2rem;height:1.2rem;display:inline-flex;align-items:center;justify-content:center}.nav-unread-dot{position:absolute;top:-2px;right:-3px;width:8px;height:8px;border-radius:50%;background:#1e84dd;box-shadow:0 0 0 2px #eef6ff}.nav-icon{width:1.05rem;height:1.05rem;flex:0 0 auto}.project-list{border-top:1px solid var(--line);padding-top:.7rem;display:flex;flex-direction:column;gap:.5rem;min-height:0;overflow:hidden}.project-list-title{font-weight:700;font-size:.95rem}.project-list-title-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.project-list-title-group{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.create-new-btn{width:30px;min-width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;align-self:center;font-size:1rem;line-height:1;font-weight:700}.project-search-toggle{min-width:30px;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.project-sidebar-search-input{width:100%;margin-top:.18rem;margin-bottom:.12rem;flex:0 0 auto}.project-item{display:flex;align-items:center;text-align:left;width:100%}.project-list-scroll{min-height:0;overflow-y:auto;display:grid;gap:.4rem;padding-right:.2rem;align-content:start}.project-list-scroll.with-search{margin-top:.28rem}.project-list-divider{border-top:1px solid var(--line);margin-top:.2rem;margin-bottom:.22rem}.project-list-archive-entry{display:grid;gap:.25rem;margin-top:.2rem}.project-archive-btn{width:100%;text-align:left}.project-item-main{min-width:0;display:grid;gap:.1rem}.project-item-main b,.project-item-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item-main b{font-size:.88rem;font-weight:700}.project-item small{color:var(--muted);font-size:.78rem}.project-item.active b,.project-item.active small{color:#fff}.content{padding:1rem}.workspace-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.workspace-header-main{display:inline-flex;align-items:center;gap:.6rem;min-width:0}.workspace-header h1{margin:0}.workspace-header small{display:block}.header-back-btn{min-width:40px;height:36px;padding:0 .58rem;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.header-tools{display:flex;align-items:center;gap:.6rem}.linklike{width:auto;border:0;background:transparent;color:var(--accent-2);padding:0;text-align:left;text-decoration:underline}.top-tabs{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.5rem}.grid{margin-top:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.grid.compact{margin-top:0;gap:.5rem}.overview-layout{margin-top:1rem;display:grid;gap:.85rem;align-content:start}.overview-shortcuts{display:inline-grid;grid-auto-flow:column;gap:.6rem;width:fit-content;max-width:100%;overflow-x:auto;padding-bottom:.08rem}.overview-shortcut-card{min-height:48px;padding:.62rem .82rem;display:inline-flex;align-items:center;justify-content:flex-start;gap:.45rem;white-space:nowrap}.overview-main-grid{display:flex;flex-wrap:wrap;gap:.85rem;align-items:flex-start}.overview-card{width:min(100%,370px);align-content:start}.overview-status-card .work-gauge{margin-top:.12rem}.overview-status-actions{display:grid;justify-items:start;gap:.38rem}.overview-status-actions button{justify-self:start;align-self:start;margin-left:0}.overview-status-running-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.overview-status-running-row small{margin:0}.overview-status-running-row button{margin-left:auto;white-space:nowrap}.overview-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.overview-list li{margin:0}.overview-list-item{width:100%;text-decoration:none;display:grid;gap:.12rem}.overview-list-item b,.overview-list-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-list-item small{color:var(--muted)}.overview-filter-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem}.overview-filter-title-row{display:inline-flex;align-items:center;gap:.45rem}.overview-filter-row h3{margin:0}.overview-open-full-btn{min-width:auto;height:30px;padding:.2rem .52rem;font-size:.78rem;line-height:1;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.overview-state-filter{display:inline-flex;align-items:center;gap:.48rem;min-width:180px}.overview-state-filter span{white-space:nowrap}.overview-state-filter select{width:auto;min-width:150px}.projects-all-card{margin-top:1rem;align-content:start}.projects-all-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.projects-all-head h3{margin:0}.projects-all-filters{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(2,minmax(180px,1fr));gap:.6rem;align-items:end}.projects-all-filters label{margin:0}.projects-all-search{justify-self:start}.projects-all-list{gap:.55rem}.projects-all-list .overview-list-item{text-decoration:none;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.55rem .6rem}.projects-all-list .overview-list-item b,.projects-all-list .overview-list-item small{white-space:normal;overflow:visible;text-overflow:clip}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:grid;gap:.65rem;box-shadow:0 6px 20px #100d090a}.auth-card{width:min(460px,100%)}input,textarea,select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.58rem;width:100%}textarea{min-height:84px}label{display:grid;gap:.35rem}.row{display:flex;align-items:center;gap:.6rem}.row.wrap{flex-wrap:wrap}.lang-row button{min-width:60px}.lang-row-small button{min-width:42px;height:30px;padding:0 .45rem;font-size:.73rem;line-height:1}.sidebar-now{display:flex;align-items:center;color:var(--muted);white-space:nowrap}.sidebar-now small{display:block;white-space:nowrap}.pre-user-menu-wrap{position:relative;width:100%}.pre-user-menu-popup{position:absolute;left:0;right:0;bottom:calc(100% + .38rem);z-index:20;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:.55rem;box-shadow:0 8px 24px #0e274126;display:grid;gap:.42rem}.pre-user-lang{margin:0}.pre-user-action{width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:.44rem .5rem;font-size:.82rem}.pre-user-action:hover,.pre-user-action:focus-visible{border-color:#9bbbe0;background:#f6faff}.pre-user-meta{display:grid;gap:.12rem;color:var(--muted)}.pre-user-meta small{font-size:.72rem}.pre-user-meta b{color:var(--ink)}.sidebar-user{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:.55rem}.sidebar-user-btn{width:100%;text-align:left;padding:.38rem .48rem}.sidebar-user-btn .sidebar-user{pointer-events:none}.sidebar-user-avatar{position:relative;overflow:hidden;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:linear-gradient(135deg,#eed9bc,#fffdf8);display:flex;align-items:center;justify-content:center;font-weight:700;color:#4e3f2e}.sidebar-user-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:2}.sidebar-user-avatar span{position:relative;z-index:1}.profile-avatar{width:64px;height:64px;font-size:1rem}.profile-head-row{align-items:center}.profile-avatar-trigger{position:relative;width:68px;height:68px;padding:0;border:0;background:transparent;border-radius:50%;overflow:hidden;cursor:pointer}.profile-avatar-trigger .profile-avatar{width:100%;height:100%}.profile-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:.72rem;font-weight:600;background:#120e0a75;opacity:0;transition:opacity .14s ease}.profile-avatar-trigger:hover .profile-avatar-overlay,.profile-avatar-trigger:focus-visible .profile-avatar-overlay{opacity:1}.profile-layout{margin-top:1rem;display:grid;gap:1rem;grid-template-columns:1fr;align-items:start}.profile-left-stack{display:grid;gap:1rem;align-content:start}.profile-settings-card,.profile-admin-center-card{align-content:start}.admin-row-actions{justify-content:flex-start;gap:.35rem}.admin-row-actions button{white-space:nowrap;padding:.44rem .58rem}.admin-user-inactive td{opacity:.78}.admin-actions-menu-wrap{position:relative;display:inline-flex;justify-content:flex-start}.admin-actions-trigger{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.admin-actions-menu{position:absolute;top:calc(100% + .2rem);right:0;left:auto;min-width:180px;z-index:45;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #0e274129;padding:.28rem;display:grid;gap:.2rem}.admin-actions-menu button{width:100%;justify-content:flex-start;text-align:left;padding:.42rem .5rem;border-radius:8px}.admin-actions-menu button.danger{color:#8d1b1b}.admin-actions-menu button:disabled{opacity:.55;cursor:not-allowed}.weekday-checkbox-group{display:grid;gap:.38rem;min-width:min(360px,100%)}.weekday-checkbox-row{display:flex;flex-wrap:wrap;gap:.45rem}.weekday-checkbox-item{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:10px;padding:.34rem .52rem;background:#fff}.weekday-checkbox-item input{width:auto}.sidebar-user-meta{min-width:0;display:grid;gap:.15rem}.sidebar-user-meta b,.sidebar-user-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-btn.active .sidebar-user-meta b,.sidebar-user-btn.active .sidebar-user-meta .role{color:#fff}.signout-btn{margin-left:auto;min-width:72px;height:30px;padding:0;font-size:.73rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.project-summary-card{margin-top:.8rem}.project-summary-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,260px);gap:.9rem;align-items:start}.project-summary-info{display:grid;gap:.35rem;min-width:0}.project-summary-grid{display:flex;flex-wrap:wrap;gap:.8rem}.project-map-card{justify-self:end;width:100%;max-width:260px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.45rem;display:grid;gap:.35rem}.project-map-head{display:flex;align-items:center;justify-content:space-between}.project-map-frame{width:100%;height:140px;border:0;border-radius:8px;background:#f0f3f9}button:disabled{opacity:.6;cursor:not-allowed}.metric-stack{display:grid;gap:.2rem;color:var(--muted)}.metric-grid{display:grid;gap:.35rem;color:var(--muted)}.work-gauge{display:grid;gap:.4rem;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.6rem .7rem}.work-gauge.compact{padding:.5rem .6rem}.work-gauge-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.work-gauge-head span{font-weight:700;color:var(--accent-2)}.work-gauge-ring{width:132px;height:132px;border-radius:999px;border:1px solid var(--line);padding:10px;display:grid;place-items:center;justify-self:center}.work-gauge.compact .work-gauge-ring{width:108px;height:108px;padding:9px}.work-gauge-ring-inner{width:100%;height:100%;border-radius:999px;background:#fff;border:1px solid #d8d3ca;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.1rem}.work-gauge-ring-inner strong{font-size:1rem;line-height:1.1}.work-gauge-value{transform:translateY(3px)}.work-gauge.compact .work-gauge-ring-inner strong{font-size:.92rem}.work-gauge-ring-inner small{color:var(--muted);font-size:.72rem;line-height:1}.work-gauge-meta{display:flex;flex-wrap:wrap;gap:.6rem;color:var(--muted)}.time-grid{align-items:start}.time-current-card{align-content:start}.time-current-head{justify-content:flex-start;align-items:center;gap:.45rem}.time-current-main{display:flex;align-items:flex-start;gap:.75rem}.time-current-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));min-width:0}.time-info-wrap{position:relative;margin-left:0}.time-info-trigger{border:0;background:transparent;padding:0}.time-info-trigger small{display:inline-flex;align-items:center;gap:.2rem}.time-info-trigger b{color:var(--ink)}.time-info-popover{position:absolute;left:0;right:auto;top:calc(100% + .4rem);width:min(360px,calc(100vw - 2.1rem));max-width:calc(100vw - 2.1rem);border:1px solid var(--line);background:#fff;border-radius:10px;padding:.62rem;box-shadow:0 10px 24px #100d091f;display:none;gap:.38rem;z-index:35}.time-info-wrap:hover .time-info-popover,.time-info-wrap.open .time-info-popover{display:grid}.time-info-metrics{gap:.23rem}.time-current-actions{align-items:center;gap:.45rem}.time-month-card,.time-requests-card,.time-school-card{align-content:start}.time-month-nav{display:flex;align-items:center;justify-content:center;gap:.7rem}.time-month-nav b{min-width:170px;text-align:center;text-transform:capitalize}.monthly-gauge-wrap{position:relative;width:100%;max-width:300px;margin:0 auto .35rem}.monthly-gauge{width:100%;height:auto;display:block}.monthly-gauge-track{fill:none;stroke:#d5e2ef;stroke-width:18;stroke-linecap:round}.monthly-gauge-fill{fill:none;stroke:#2f6f7f;stroke-width:18;stroke-linecap:round}.monthly-gauge-center{position:absolute;left:50%;bottom:24px;transform:translate(-50%);text-align:center;display:grid;gap:.05rem}.monthly-gauge-center strong{font-size:1.62rem;line-height:1.1}.monthly-gauge-center small{color:var(--muted);font-size:.78rem;line-height:1;white-space:nowrap}.weekly-hours-list{display:grid;gap:.65rem;margin-top:.35rem}.weekly-hours-row{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.5rem .6rem;display:grid;gap:.38rem}.weekly-hours-row.current{border-color:#8db0d0;box-shadow:inset 0 0 0 1px #c4d8ec}.weekly-hours-head{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}.weekly-hours-head b{font-size:.84rem;font-weight:600}.weekly-week-number{color:#2d3034}.weekly-hours-values{display:inline-flex;align-items:baseline;gap:.6rem;justify-content:flex-end;font-weight:700}.weekly-hours-values span:last-child{color:var(--muted)}.weekly-hours-separator{color:var(--muted)}.weekly-hours-track{width:100%;height:14px;border-radius:999px;border:1px solid var(--line);background:#edf4fb;overflow:hidden}.weekly-hours-fill{height:100%;border-radius:inherit;background:#2f6f7f}.required-hours-list{display:grid;gap:.5rem}.required-hours-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:10px;background:#fff}.required-hours-row input,.admin-required-hours-cell input{width:90px}.required-hours-row button,.admin-required-hours-cell button{white-space:nowrap}ul{padding-left:1rem;margin:0}li{margin:.35rem 0}.muted{color:var(--muted)}.error,.notice{margin-top:.7rem;padding:.72rem;border-radius:10px;cursor:pointer}.error{border:1px solid #f2c4c4;background:#fff1f1;color:var(--danger)}.notice{border:1px solid var(--ok-line);background:var(--ok-bg);color:#1f4e2d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14100b7a;display:grid;place-items:center;padding:1rem;z-index:50}.modal-card{width:min(720px,100%);max-height:92vh;overflow:auto}.modal-card-sm{width:min(440px,100%)}.modal-form{display:grid;gap:.65rem}.modal-subgrid{gap:.6rem}.time-entry-list{display:grid;gap:.7rem}.time-entry{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:.6rem;display:grid;gap:.5rem}.planning-grid{align-items:start}.planning-only{margin-top:1rem;min-height:calc(100vh - 210px);align-content:start}.planning-toolbar{justify-content:space-between}.planning-week-nav{display:flex;align-items:center;gap:.45rem}.planning-week-number{min-width:96px;text-align:center;font-weight:700;padding:.45rem .6rem;border:1px solid var(--line);border-radius:10px;background:#fff}.planning-week-picker{min-width:min(220px,100%)}.planning-calendar{--planning-day-min-width: 210px;display:grid;gap:.6rem;grid-template-columns:repeat(7,minmax(var(--planning-day-min-width),1fr));min-width:max(100%,calc(var(--planning-day-min-width) * 7 + 3.6rem));min-height:0}.planning-calendar-scroll{width:100%;overflow-x:auto;overflow-y:hidden}.planning-day{border:1px solid var(--line);border-radius:10px;padding:.55rem;background:#fff;min-height:300px;max-height:62vh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.35rem}.planning-day-today{border-color:#d08f72;box-shadow:inset 0 0 0 1px #efc6b3;background:#fff8f4}.planning-day-today .planning-day-head{color:#8f4a2e}.planning-day-head{font-weight:700;margin-bottom:.4rem}.planning-day ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;align-content:start;min-height:0;overflow-y:auto;padding-right:.2rem}.planning-task{margin:0;display:grid;gap:.3rem;border:1px solid var(--line);border-radius:10px;padding:.45rem;background:#fff}.planning-absence{margin:0;display:grid;gap:.2rem;border:1px dashed #c5b59e;border-radius:10px;padding:.42rem;background:#fffaf3}.planning-absence b{font-size:.84rem}.planning-absence small{color:var(--muted)}.planning-task-mine{border-color:#73a0d8;background:#f1f7ff}.planning-day li small{color:var(--muted)}.task-list{list-style:none;padding:0;display:grid;gap:.55rem}.tasks-list-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.82rem}.tasks-list-card ul li{margin:0}.project-task-create-card{align-content:start}.checkbox-inline{display:flex;align-items:center;gap:.55rem}.checkbox-inline input{width:auto}.assignee-search-block{display:grid;gap:.45rem}.assignee-suggestions{border:1px solid var(--line);border-radius:10px;background:#fff;max-height:190px;overflow:auto;display:grid;gap:.2rem;padding:.2rem}.assignee-suggestion-btn{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:8px;padding:.42rem .5rem}.assignee-suggestion-btn:hover,.assignee-suggestion-btn:focus-visible{background:var(--surface-2);border-color:var(--line)}.assignee-chip-list{display:flex;flex-wrap:wrap;gap:.35rem}.assignee-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.3rem .56rem;font-size:.8rem;line-height:1.15}.tasks-list-card{align-content:start}.tasks-list-head{display:flex;align-items:center;justify-content:flex-start}.tasks-list-head h3{margin:0;text-align:left}.task-view-toggle{justify-content:flex-start;margin-top:.35rem;margin-bottom:.25rem}.task-actions{justify-content:flex-end;gap:.4rem}.task-actions-left{justify-content:flex-start}.task-list-item{margin:0;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.55rem;display:flex;gap:.6rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.task-list-item-mine{border-color:#73a0d8;background:#f1f7ff}.task-list-item-clickable{cursor:pointer}.task-list-item-clickable:hover,.task-list-item-clickable:focus-visible{border-color:#5f94d1;box-shadow:0 0 0 1px #5f94d14d}.task-list-main{display:grid;gap:.2rem;min-width:min(250px,100%)}.task-list-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.task-list-main small{color:var(--muted)}.tasks-header-row{justify-content:space-between;gap:.7rem;margin-bottom:.25rem}.tasks-header-row h3{margin:0}.my-tasks-section{margin-top:1rem}.archive-list-item{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.55rem}.task-expand-header{width:100%;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;cursor:pointer}.task-expand-chevron{color:var(--muted);font-size:.9rem;line-height:1}.task-expanded-content{display:grid;gap:.2rem;margin-top:.12rem}.task-expanded-content b{font-weight:700}.task-edit-icon-btn{min-width:34px;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.task-edit-pen-icon{width:15px;height:15px}.planning-task-clickable{cursor:pointer}.planning-task-clickable:hover,.planning-task-clickable:focus-visible{border-color:#5f94d1;box-shadow:0 0 0 1px #5f94d159}.danger-btn{border-color:#d08484;color:#872323;background:#fff6f6}.danger-btn:hover,.danger-btn:focus-visible{border-color:#b75f5f;background:#ffeaea}.assignee-pick{display:grid;gap:.45rem}.assignee-list{border:1px solid var(--line);border-radius:10px;background:#fff;max-height:220px;overflow:auto;padding:.45rem;display:grid;gap:.35rem}.assignee-item{display:flex;align-items:center;gap:.45rem}.assignee-item input{width:auto}.file-explorer{display:grid;gap:.45rem;overflow-x:auto}.file-row{display:grid;grid-template-columns:minmax(140px,1.8fr) minmax(120px,1.2fr) minmax(120px,1fr) minmax(120px,1fr) auto;gap:.5rem;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.5rem .6rem;min-width:820px}.file-row-head{background:var(--surface-2)}.file-row span,.file-row small{overflow-wrap:anywhere}.preview-modal{width:min(980px,100%)}.file-preview-image{width:100%;max-height:78vh;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}.file-preview-frame{width:100%;min-height:68vh;border:1px solid var(--line);border-radius:10px;background:#fff}.file-explorer-head{display:grid;gap:.6rem}.file-explorer-head .row{align-items:center}.file-explorer-head h3{margin:0}.icon-btn{min-width:42px;padding:.55rem .6rem;font-size:1rem;line-height:1}.upload-arrow-btn{min-width:42px;padding:.55rem .6rem;font-size:1rem;font-weight:700}.webdav-help{position:relative}.webdav-tooltip{display:none;position:absolute;right:0;top:calc(100% + .4rem);width:min(360px,calc(100vw - 2.4rem));border:1px solid var(--line);border-radius:10px;background:#fff;padding:.7rem;box-shadow:0 6px 20px #100d0924;z-index:10;gap:.45rem}.webdav-copy-row{display:flex;align-items:center;gap:.4rem}.webdav-copy-row code{flex:1;min-width:0}.webdav-copy-btn{min-width:74px;padding:.35rem .48rem;font-size:.76rem;line-height:1;white-space:nowrap}.webdav-help:hover .webdav-tooltip,.webdav-help:focus-within .webdav-tooltip{display:grid}.chat-layout{margin-top:1rem;--chat-panel-height: calc(100dvh - 190px) ;display:grid;gap:1rem;grid-template-columns:1fr}.thread-panel{align-content:start;border:1px solid var(--line);border-radius:14px;background:#fff;padding:.7rem;display:grid;gap:.55rem}.thread-panel-head{justify-content:space-between;align-items:center;margin-bottom:.1rem}.thread-panel-head h3{margin:0}.thread-create-btn{margin-left:auto}.thread-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.thread-list li{margin:0}.thread-list .thread-item{width:100%;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:center;padding:.5rem .55rem}.thread-item-main{min-width:0;display:grid;gap:.2rem}.thread-item-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-title-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.thread-unread-badge{min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:999px;background:#d14f24;color:#fff;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.thread-avatar{width:38px;height:38px;border-radius:50%;background:#e8d7ca;border:1px solid #d4b9a9;position:relative;overflow:hidden;display:grid;place-items:center;color:#5a3e2e;font-size:.74rem;font-weight:700;flex-shrink:0}.thread-avatar img{width:100%;height:100%;object-fit:cover}.thread-avatar img+span{display:none}.thread-avatar-sm{width:32px;height:32px;font-size:.68rem}.thread-modal-icon-preview img{width:72px;height:72px;border-radius:50%;border:1px solid var(--line);object-fit:cover}.chat-panel{border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;grid-template-rows:auto 1fr auto;height:var(--chat-panel-height);overflow:hidden}.chat-panel-head{padding:.7rem .8rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:.7rem}.chat-thread-meta{display:flex;align-items:center;gap:.55rem}.chat-thread-meta>div{display:grid;gap:.1rem}.chat-thread-meta small{color:var(--muted)}.thread-edit-btn{min-width:36px;padding:.4rem .45rem}.chat-empty{padding:1rem;color:var(--muted)}.message-list{list-style:none;margin:0;padding:.8rem;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:.45rem}.message-list li{margin:0}.message-day-divider{display:flex;justify-content:center;margin:.1rem 0}.message-day-divider span{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:#f7fbff;color:var(--muted);font-size:.72rem;padding:.14rem .6rem}.message-row{display:flex;align-items:flex-end;gap:.4rem;max-width:100%}.message-row.mine{justify-content:flex-end}.message-row.other{justify-content:flex-start}.message-avatar-slot{width:30px;min-width:30px;height:30px}.message-sender-avatar{width:30px;height:30px;font-size:.62rem}.message-avatar-placeholder{display:block;width:30px;height:30px}.message-bubble{border:1px solid var(--line);border-radius:12px;padding:.45rem .58rem;display:inline-grid;gap:.28rem;width:fit-content;max-width:min(84%,620px)}.message-bubble.other{background:#fffefc;border-bottom-left-radius:4px}.message-bubble.mine{background:#fff5ef;border-color:#d8b9ab;border-bottom-right-radius:4px}.message-sender-name{color:var(--muted);font-size:.72rem}.message-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.message-time{color:var(--muted);font-size:.68rem;line-height:1}.message-time.other{justify-self:end;text-align:right}.message-time.mine{justify-self:start;text-align:left}.chat-attachment{display:grid;gap:.3rem}.chat-attachment img{width:min(220px,100%);border-radius:8px;border:1px solid var(--line)}.chat-compose{border-top:1px solid var(--line);padding:.65rem .8rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem;align-items:end}.chat-compose-main{display:grid;gap:.35rem;min-width:0}.chat-compose input[name=body]{margin:0;min-height:40px;height:40px}.chat-pending-attachment{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;width:fit-content;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);padding:.2rem .45rem}.chat-pending-attachment small{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-attachment-remove{border:0;background:transparent;color:var(--muted);width:18px;height:18px;min-width:18px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;line-height:1}.chat-attachment-remove:hover,.chat-attachment-remove:focus-visible{background:#00000014;color:var(--ink)}.chat-attach-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:8px;width:40px;min-width:40px;height:40px;padding:0;font-size:1.1rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.chat-attach-btn.has-file{background:#d8e9ee;border-color:#aacdd7}.chat-attach-btn input{display:none}.chat-compose .chat-send-btn{width:40px;min-width:40px;height:40px;padding:0;border-radius:8px;border:1px solid var(--accent-2);background:var(--accent-2);color:#fff;display:inline-flex;align-items:center;justify-content:center}.chat-compose .chat-send-btn:disabled{border-color:#b5b5b5;background:#b5b5b5;color:#fff;cursor:not-allowed}.chat-compose .chat-send-btn.is-muted:not(:disabled){border-color:#b5b5b5;background:#b5b5b5;color:#fff}.chat-send-arrow{font-size:1rem;line-height:1}.avatar-crop-section,.avatar-crop-editor{display:grid;gap:.65rem}.avatar-crop-stage{width:min(280px,100%);aspect-ratio:1 / 1;border-radius:12px;border:1px solid var(--line);background:#f6f0e8;overflow:hidden;margin:0 auto;position:relative;touch-action:none;cursor:grab}.avatar-crop-stage.dragging{cursor:grabbing}.avatar-crop-image{width:100%;height:100%;object-fit:cover;transform-origin:center;pointer-events:none;-webkit-user-select:none;user-select:none}.avatar-crop-focus{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border:2px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 0 9999px #14100b4d;pointer-events:none}.avatar-crop-preview-wrap{width:min(190px,100%);margin:0 auto}.avatar-crop-preview{width:100%;aspect-ratio:1 / 1;border-radius:50%;border:1px solid var(--line);background:#fff;object-fit:cover;display:block}.avatar-crop-placeholder{background:var(--surface-2)}.avatar-crop-controls{display:grid;gap:.5rem}.wiki-grid{align-items:start}.wiki-library-grid{grid-template-columns:1fr}.wiki-library-card,.wiki-preview-card{align-content:start}.wiki-library-head h3,.wiki-preview-head h3{margin:0}.wiki-library-scroll{max-height:min(62vh,680px);overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.45rem .55rem}.wiki-brand-group,.wiki-folder-group{border:1px solid var(--line);border-radius:10px;background:#f9fcff;padding:.35rem .45rem}.wiki-brand-group+.wiki-brand-group,.wiki-folder-group+.wiki-folder-group{margin-top:.45rem}.wiki-brand-group>summary,.wiki-folder-group>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;list-style:none}.wiki-brand-group>summary::-webkit-details-marker,.wiki-folder-group>summary::-webkit-details-marker{display:none}.wiki-brand-group>summary b{text-transform:capitalize}.wiki-folder-group>summary span{font-family:Source Code Pro,Courier New,monospace;font-size:.8rem}.wiki-doc-list{list-style:none;margin:.45rem 0 0;padding:0;display:grid;gap:.4rem}.wiki-doc-item{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.45rem .5rem;display:grid;gap:.45rem}.wiki-doc-main{display:grid;gap:.15rem}.wiki-doc-main small{color:var(--muted)}.wiki-doc-actions button{min-width:62px;padding:.35rem .48rem}.wiki-preview-meta{display:grid;gap:.12rem}.wiki-preview-meta small{color:var(--muted);word-break:break-word}.wiki-preview-frame{width:100%;min-height:min(70vh,760px);border:1px solid var(--line);border-radius:10px;background:#fff}.report-form textarea{min-height:72px}.report-send-option{border:1px solid var(--line);border-radius:10px;padding:.55rem .65rem;background:var(--surface-2);display:grid;gap:.3rem}.report-send-head{display:flex;align-items:flex-start;gap:.45rem;font-weight:600}.report-send-head input{width:auto;margin-top:.15rem}.worker-grid{display:grid;gap:.45rem}.worker-grid-head,.worker-grid-row{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:.45rem;align-items:center}.worker-grid-head{font-size:.86rem;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem}@media (min-width: 900px){.app-shell{grid-template-columns:320px 1fr;height:100vh;overflow:hidden}.sidebar{border-bottom:0;border-right:1px solid var(--line);min-height:0;height:100vh;overflow:hidden}.content{min-height:0;height:100vh;overflow-y:auto}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.wiki-library-grid{grid-template-columns:minmax(320px,1fr) minmax(360px,1.3fr)}.files-grid{grid-template-columns:1fr}.chat-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-entries-card{grid-column:1 / -1}.profile-layout{grid-template-columns:minmax(320px,440px) minmax(0,1fr)}}@media (max-width: 899px){.project-summary-layout{grid-template-columns:1fr}.project-map-card{justify-self:start;max-width:100%}.projects-all-filters{grid-template-columns:1fr}.project-list-scroll{max-height:36vh}.project-list-title-row{align-items:center}.sidebar-user{grid-template-columns:36px 1fr}.sidebar-user-avatar{width:36px;height:36px;font-size:.76rem}.profile-avatar{width:52px;height:52px;font-size:.92rem}.profile-avatar-trigger{width:56px;height:56px}.file-row{min-width:620px}.file-preview-frame{min-height:52vh}.chat-panel{--chat-panel-height: calc(100dvh - 250px) }.chat-compose{grid-template-columns:auto minmax(0,1fr) auto}.message-list li{max-width:92%}.time-current-main{grid-template-columns:1fr;display:grid}.required-hours-row{align-items:stretch;flex-direction:column}}
