:root{--bg:#F5F3EE;--bg-sunk:#EFECE5;--surface:#FFFFFF;--surface-2:#FAF9F6;--line:#E4E0D6;--line-soft:#EFECE5;--line-strong:#DCD7CB;--ink:#1B1A17;--ink-2:#3E3B35;--muted:#6B675E;--faint:#9A958A;--accent:#2E47C9;--accent-hover:#1F3399;--accent-soft:#E3E8FB;--danger:#A12E0E;--danger-strong:#C2341A;--danger-soft:#FBE1D9;--warn:#734600;--warn-strong:#D69A1E;--warn-soft:#FAEBCB;--ok:#1C6637;--ok-soft:#DCF1E3;--teal:#0E5A5C;--teal-soft:#D8EFEF;--violet:#5A2D9E;--violet-soft:#EFE7FB;--shoot:#D9602B;--radius:14px;--radius-sm:10px;--font:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;--sidebar:232px;--shadow:0 1px 2px rgba(27,26,23,.05),0 8px 24px rgba(27,26,23,.08)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}h1,h2,h3,h4{margin:0;letter-spacing:-.01em}h1{font-size:26px}h1,h2{font-weight:700}h2{font-size:15px}h3{font-size:14px;font-weight:700}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.tiny{font-size:11px}.bold{font-weight:600}.strong{font-weight:700}.danger{color:var(--danger)}.nowrap,.truncate{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis}.pre{white-space:pre-wrap}.row{align-items:center}.row,.row-top{display:flex;gap:8px}.row-top{align-items:flex-start}.col{display:flex;flex-direction:column;gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.spacer{flex:1 1}.gap-4{gap:4px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.grid{grid-gap:16px}.grid,.grid-2{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px}.grid-4,.grid-5{display:grid;gap:14px}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:14px}.split{grid-template-columns:minmax(0,1fr) 340px;grid-gap:18px}.split,.split-wide{display:grid;gap:18px;align-items:start}.split-wide{grid-template-columns:minmax(0,1fr) 380px;grid-gap:18px}.split-3{display:grid;grid-template-columns:300px minmax(0,1fr) 320px;grid-gap:16px;gap:16px;align-items:start}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--bg-sunk);border-right:1px solid #e1ddd2;display:flex;flex-direction:column;gap:2px;padding:18px 12px;z-index:30}.brand{gap:10px;padding:4px 8px 16px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--ink);color:var(--bg);justify-content:center;font-weight:700;font-size:15px;flex-shrink:0}.nav-section{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--muted);padding:16px 12px 6px;text-transform:uppercase}.nav-link{display:flex;align-items:center;gap:12px;min-height:36px;padding:0 12px;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink-2)}.nav-link:hover{background:#E6E2D9;color:var(--ink)}.nav-link.active{background:var(--ink);color:#fff}.nav-sub{display:flex;flex-direction:column;margin:2px 0 6px 30px;border-left:1px solid #dad5c9}.nav-sub a{padding:5px 12px;font-size:13px;font-weight:500;color:var(--muted);border-radius:0 7px 7px 0}.nav-sub a:hover{color:var(--ink);background:#E6E2D9}.nav-badge,.nav-sub a.active{color:var(--ink);font-weight:700}.nav-badge{margin-left:auto;font-size:11px;padding:1px 7px;border-radius:999px;background:#E0DCD2}.nav-link.active .nav-badge{background:#fff}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{height:64px;position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:0 32px;border-bottom:1px solid var(--line);background:rgba(245,243,238,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.page{padding:22px 32px 48px;display:flex;flex-direction:column;gap:18px;max-width:1680px;width:100%}.icon-btn.menu-btn{display:none}.search{position:relative;width:min(520px,100%)}.search-box{height:40px;display:flex;align-items:center;gap:10px;padding:0 12px 0 14px;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;color:var(--muted)}.search-box input{border:0;outline:none;flex:1 1;background:transparent;font-size:14px;color:var(--ink);min-width:0}.kbd{font-family:var(--mono);font-size:11px;padding:2px 6px;border:1px solid var(--line-strong);border-radius:5px;color:var(--muted)}.dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:70vh;overflow:auto;z-index:50;padding:6px}.dropdown-right{left:auto;right:0;width:380px}.dd-item{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;color:var(--ink);cursor:pointer}.dd-item.on,.dd-item:hover{background:var(--bg);color:var(--ink)}.dd-label{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--muted);padding:8px 10px 4px;text-transform:uppercase}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card-pad{padding:16px 18px}.card-head{display:flex;align-items:center;gap:12px;padding:14px 18px 10px}.card-head h2{flex:1 1}.card-body{padding:0 18px 16px}.card.warn{border-color:#F0D7A6;background:#FFFBF2}.card.alert{border-color:#F0C3B4;background:#FFF8F5}.kpi{padding:16px 18px;display:flex;flex-direction:column;gap:6px;color:var(--ink)}a.kpi:hover{border-color:var(--line-strong);color:var(--ink)}.kpi-label{font-size:13px;font-weight:600;color:var(--muted)}.kpi-value{font-size:30px;font-weight:700;line-height:1}.kpi-sub{font-size:12px;color:var(--muted)}.note{padding:10px 12px;border-radius:10px;background:var(--bg);font-size:12px;line-height:1.45}.divider{height:1px;background:var(--line);margin:4px 0}.page-head{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.page-head .titles{flex:1 1;min-width:240px;display:flex;flex-direction:column;gap:4px}.crumbs{font-size:13px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.crumbs,.crumbs a{color:var(--muted)}.btn,.crumbs a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;border:1px solid var(--line-strong);background:var(--surface);text-decoration:none;transition:background .12s,border-color .12s}.btn:hover{border-color:#C9C3B5;color:var(--ink);background:#FDFCFA}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover{background:#33312C;border-color:#33312C;color:#fff}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover);color:#fff}.btn-ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn-ok:hover{background:#154F2A;color:#fff}.btn-danger{background:var(--surface);border-color:#E8B5A6;color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);color:var(--danger)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--bg-sunk);border-color:transparent}.btn-sm{height:32px;padding:0 11px;font-size:13px;border-radius:8px}.btn-xs{height:26px;padding:0 8px;font-size:12px;border-radius:7px;gap:4px}.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;color:var(--ink);position:relative;flex-shrink:0}.icon-btn:hover{background:#FDFCFA}.icon-btn.ghost{border-color:transparent;background:transparent;width:32px;height:32px}.icon-btn.ghost:hover{background:var(--bg-sunk)}.dot-badge{position:absolute;top:5px;right:5px;min-width:16px;height:16px;border-radius:8px;background:var(--danger-strong);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.seg{display:inline-flex;padding:3px;background:#E9E6DE;border-radius:10px}.seg a,.seg button{height:32px;padding:0 13px;border:0;border-radius:8px;background:transparent;font-size:13px;font-weight:600;color:#4A4740;cursor:pointer;display:inline-flex;align-items:center}.seg .on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}.tabs{gap:22px;border-bottom:1px solid var(--line);overflow-x:auto}.tab,.tabs{display:flex}.tab{height:40px;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#4A4740;border:0;border-bottom:2px solid transparent;background:none;cursor:pointer;padding:0 2px;white-space:nowrap}.tab.on,.tab:hover{color:var(--ink)}.tab.on{border-bottom-color:var(--ink)}.tab .count{font-size:11px;font-weight:700;padding:1px 6px;background:var(--bg-sunk)}.chip,.tab .count{border-radius:999px}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;font-size:12px;font-weight:600;white-space:nowrap;background:#ECE9E2;color:#4A4740}.chip-outline{background:var(--surface);border:1px solid var(--line-strong)}.s-grey{background:#ECE9E2;color:#4A4740}.s-blue{background:var(--accent-soft);color:#2338A8}.s-violet{background:var(--violet-soft);color:var(--violet)}.s-amber{background:var(--warn-soft);color:var(--warn)}.s-red{background:var(--danger-soft);color:var(--danger)}.s-green{background:var(--ok-soft);color:var(--ok)}.s-teal{background:var(--teal-soft);color:var(--teal)}.s-ink{background:var(--ink);color:#fff}.s-orange{background:#FCE7DA;color:#8A3A0E}.prio{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}.prio i{width:8px;height:8px;display:inline-block}.av,.prio i{border-radius:50%}.av{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.av-lg{width:44px;height:44px;font-size:15px}.logo-box{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;flex-shrink:0;overflow:hidden}.logo-box img{width:100%;height:100%;object-fit:cover}.table-wrap{overflow-x:auto}table.tbl{border-collapse:collapse;width:100%}.tbl th{font-size:12px;font-weight:600;color:var(--muted);text-align:left;padding:10px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tbl th.sortable:hover{color:var(--ink)}.tbl td{font-size:13px;padding:10px 16px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:0}.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover td{background:#FCFBF8}.tbl tr.row-alert td{background:#FFF8F5}.tbl .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.id-cell .mono{font-size:11px;color:var(--muted)}.pager{align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--line-soft);color:var(--muted)}.field,.pager{display:flex;font-size:13px}.field{flex-direction:column;gap:6px;font-weight:600;min-width:0}.field .hint{font-size:12px;font-weight:400;color:var(--muted)}.field .err{font-size:12px;font-weight:600;color:var(--danger)}.req:after{content:" *";color:var(--danger-strong)}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);font-size:14px;font-weight:400;color:var(--ink)}.textarea{height:auto;min-height:90px;padding:10px 12px;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--danger-strong);box-shadow:0 0 0 3px var(--danger-soft)}.input-sm{height:34px;font-size:13px}.check{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;cursor:pointer;min-height:28px}.check input{width:17px;height:17px;margin:0;accent-color:var(--ink);flex-shrink:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px 16px;gap:14px 16px}.form-grid .span-2{grid-column:span 2}.form-section{display:flex;flex-direction:column;gap:14px}.form-section h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.form-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding-top:4px}.pill-select{display:flex;flex-wrap:wrap;gap:6px}.pill-select button{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer}.pill-select button.on{background:var(--ink);border-color:var(--ink);color:#fff}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filters .input,.filters .select{height:36px;width:auto;min-width:150px;font-size:13px}.filters .input.search-input{min-width:240px}.overlay{position:fixed;inset:0;background:rgba(27,26,23,.45);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:100;overflow-y:auto}.modal{width:100%;max-width:640px;background:var(--surface);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column}.modal-lg{max-width:900px}.modal-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-head h2{flex:1 1;font-size:18px}.modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:14px 20px;border-top:1px solid var(--line)}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast{min-width:260px;max-width:420px;padding:12px 14px;border-radius:12px;background:var(--ink);color:#fff;font-size:13px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:flex-start}.toast.error{background:var(--danger)}.toast.ok{background:var(--ok)}.bar{position:relative;height:8px;background:var(--line-soft);overflow:hidden}.bar,.bar>span{border-radius:4px}.bar>span{position:absolute;left:0;top:0;bottom:0}.stack-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#ECE9E2}.stack-bar>span{display:block;height:100%}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.stepper{list-style:none;margin:0;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.stepper,.stepper li{display:flex;align-items:center;gap:6px}.stepper li{flex:1 1;min-width:max-content}.stepper .mark{width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.stepper .line{flex:1 1;height:2px;min-width:10px}.chain-item{display:flex;gap:12px}.chain-rail{flex-direction:column;flex-shrink:0}.chain-rail,.chain-rail .mark{display:flex;align-items:center;width:22px}.chain-rail .mark{height:22px;border-radius:11px;justify-content:center;font-size:11px;font-weight:700}.chain-rail .line{flex:1 1;width:2px;min-height:12px}.chain-body{flex:1 1;padding-bottom:12px;display:flex;flex-direction:column;gap:2px;min-width:0}.kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}.k-col{width:264px;flex-shrink:0;background:#EDEAE3;border-radius:12px;padding:10px 8px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 230px)}.k-col.drop{outline:2px dashed var(--accent);outline-offset:-2px;background:#E6E9F6}.k-col-head{display:flex;align-items:center;gap:6px;padding:0 4px}.k-col-body{gap:8px;overflow-y:auto;min-height:40px}.k-card,.k-col-body{display:flex;flex-direction:column}.k-card{gap:7px;padding:9px;background:var(--surface);border-radius:10px;border:1px solid var(--line);color:var(--ink);cursor:-webkit-grab;cursor:grab}.k-card:hover{border-color:var(--line-strong);color:var(--ink)}.k-card.overdue{border-color:#F0C3B4}.k-card.blocked{opacity:.78}.k-thumb{height:64px;border-radius:7px;display:flex;align-items:flex-end;padding:6px;overflow:hidden;position:relative;background-size:cover;background-position:50%}.k-thumb .tag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:#fff;color:var(--ink);position:relative}.cal{display:flex;flex-direction:column;overflow:hidden}.cal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}.cal-head div{font-size:12px;font-weight:700;color:var(--muted);padding:9px 10px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-cell{min-height:128px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:6px;display:flex;flex-direction:column;gap:3px;background:var(--surface);min-width:0}.cal-cell:nth-child(7n){border-right:0}.cal-cell.out{background:var(--surface-2)}.cal-cell.today{background:#F7F8FE}.cal-num{width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.cal-cell.today .cal-num{background:var(--ink);color:#fff}.cal-cell.out .cal-num{color:var(--faint)}.cal-ev{display:flex;align-items:center;gap:5px;min-height:20px;padding:1px 6px;border-radius:5px;font-size:11px;font-weight:600;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:0;text-align:left;width:100%}.cal-ev:hover{filter:brightness(.97);color:var(--ink)}.cal-ev i{width:6px;height:6px;border-radius:2px;flex-shrink:0;display:inline-block}.cal-more{font-size:11px;font-weight:700;color:var(--accent);padding-left:4px;background:none;border:0;cursor:pointer;text-align:left}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-col{border-right:1px solid var(--line-soft);min-height:480px;padding:8px;display:flex;flex-direction:column;gap:6px;min-width:0}.week-col:last-child{border-right:0}.week-ev{padding:7px 8px;border-radius:8px;font-size:12px;display:flex;flex-direction:column;gap:2px;color:var(--ink)}.week-ev:hover{color:var(--ink);filter:brightness(.97)}.timeline{display:flex;flex-direction:column}.tl-item{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--line-soft);font-size:13px}.tl-item:first-child{border-top:0}.preview{border-radius:14px;background:#2A2824;color:#F5F3EE;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.preview img,.preview video{width:100%;height:100%;object-fit:contain;background:#111}.preview .placeholder{font-size:13px;color:#CFCAC0;padding:20px;text-align:center}.empty{padding:40px 20px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:8px;align-items:center}.empty strong{color:var(--ink);font-size:15px}.skeleton{background:linear-gradient(90deg,#EFECE5,#F6F4EF 50%,#EFECE5);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:8px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.12);border-top-color:currentcolor;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-side{background:var(--ink);color:#F5F3EE;padding:56px;display:flex;flex-direction:column;justify-content:space-between}.auth-main{display:flex;align-items:center;justify-content:center;padding:32px 16px}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px}.matrix td,.matrix th{padding:6px 8px!important;text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:left}.matrix select{height:30px;font-size:12px;padding:0 6px;border-radius:7px;border:1px solid var(--line-strong);background:var(--surface)}.matrix select.all{background:var(--ok-soft);border-color:#B7DEC4}.matrix select.assigned{background:var(--accent-soft);border-color:#C3CDF2}.portal-top{height:68px;display:flex;align-items:center;gap:14px;padding:0 32px;background:var(--surface);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.portal-nav{display:flex;gap:4px}.portal-nav a{height:36px;display:flex;align-items:center;padding:0 14px;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink)}.portal-nav a.on{background:var(--ink);color:#fff}.frames{display:flex;gap:8px;flex-wrap:wrap}.frames button{width:64px;height:64px;border-radius:8px;border:0;cursor:pointer;font-weight:700;font-size:12px;background:#E9E6DE;overflow:hidden;padding:0}.frames button.on{box-shadow:0 0 0 2px var(--ink)}@media (max-width:1200px){.split,.split-wide{grid-template-columns:minmax(0,1fr)}.split-3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split-3>:first-child{grid-column:span 2}.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .2s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.icon-btn.menu-btn{display:inline-flex}.topbar{padding:0 16px}.page{padding:16px 16px 40px}.grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.split-3{grid-template-columns:minmax(0,1fr)}.split-3>:first-child{grid-column:auto}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:auto}.auth-wrap{grid-template-columns:minmax(0,1fr)}.auth-side{display:none}.cal-cell{min-height:84px}.cal-ev span,.search .kbd{display:none}.hide-sm{display:none!important}.portal-top{padding:0 16px}.tbl td,.tbl th{padding:9px 10px}h1{font-size:22px}}@media (max-width:560px){.task-line{flex-wrap:wrap;row-gap:4px}.task-line .tl-main{flex-basis:100%;order:-1}.task-line .tl-main .truncate{white-space:normal}.grid-3,.grid-4,.grid-5{grid-template-columns:minmax(0,1fr)}.kpi-value{font-size:26px}}@media print{.no-print,.sidebar,.topbar{display:none!important}.page{padding:0}}