:root{--ink:#111214;--page:#fafafa;--border:#e4e4e7;--hair:#f0f0f2;--muted:#71717a;--accent:#f2c94c;--ok:#067647;--warn:#b54708;--bad:#c01f14;--sans:var(--font-geist-sans), "Geist", system-ui, sans-serif;--monof:var(--font-geist-mono), "Geist Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--page);color:var(--ink);font-family:var(--sans);margin:0}a{color:var(--ink)}a:hover{color:#52525b}button,input,select,textarea{font-family:var(--sans)}.shell{background:var(--page);min-height:100vh;display:flex}.side{background:var(--ink);color:#a1a1aa;flex-direction:column;flex:0 0 232px;gap:22px;width:232px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:2px 10px 0;text-decoration:none;display:flex}.brand-mark{background:var(--accent);border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.brand-name{letter-spacing:.14em;color:#fff;font-size:14px;font-weight:700}.navlist{flex-direction:column;gap:1px;display:flex}.nav{color:#a1a1aa;border-radius:4px;justify-content:space-between;align-items:center;min-height:26px;padding:9px 10px;font-size:13.5px;text-decoration:none;display:flex}.nav:hover{color:#fff;background:#1c1d20}.navon{color:#fff;background:#26272b}.cnt{font-family:var(--monof);color:#8b8b93;font-size:11.5px}.slbl{letter-spacing:.08em;text-transform:uppercase;color:#8b8b93;padding:0 10px 6px;font-size:11px;font-weight:500}.nav-work .slbl{margin-top:14px}.nav-work .slbl~.nav{margin-left:12px}.nav-bottom{margin-top:auto}.nav-bottom+.side-foot{margin-top:0}.side-menu{flex-direction:column;flex:1;gap:22px;min-height:0;display:flex}.side-toggle{display:none}.side-foot{border-top:1px solid #26272b;flex-direction:column;gap:10px;margin-top:auto;padding:14px 10px 0;font-size:12px;line-height:1.5;display:flex}.side-org{color:#fff;font-size:13px;font-weight:500}.side-sel{color:#fff;background:#1c1d20;border:1px solid #3f3f46;border-radius:4px;width:100%;height:34px;padding:0 8px;font-size:13px}.side-btn{color:#a1a1aa;cursor:pointer;text-align:left;background:0 0;border:0;min-height:24px;padding:0;font-size:12px;text-decoration:underline}.side-btn:hover{color:#fff}.main{flex-direction:column;flex:1;gap:20px;min-width:0;max-width:1440px;padding:24px 32px 48px;display:flex}.side-client{flex-direction:column;gap:6px;padding:0 0 8px;display:flex}.side-user{color:#8b8b93}@media (max-width:860px){.shell{flex-direction:column}.side{z-index:10;flex:none;gap:0;width:auto;height:auto;padding:10px 12px;position:sticky;top:0;overflow:visible}.side-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{padding:0 4px}.side-toggle{color:#fff;cursor:pointer;background:#1c1d20;border:1px solid #3f3f46;border-radius:4px;align-items:center;gap:8px;height:36px;padding:0 12px;font-size:13px;display:inline-flex}.side-menu{display:none}.side-menu[data-open=true]{gap:16px;max-height:calc(100dvh - 58px);padding:14px 0 4px;display:flex;overflow-y:auto}.nav{padding:10px;font-size:15px}.side-foot{margin-top:4px}}@media (max-width:700px){.main{padding:20px 16px 40px}.strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:14px 16px}.stat-n{font-size:26px}}.lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:500}.h2{color:var(--ink)}h1.title{letter-spacing:-.015em;margin:6px 0 0;font-size:22px;font-weight:600}.sub{color:#52525b;max-width:640px;margin:6px 0 0;font-size:13.5px;line-height:1.5}.muted{color:var(--muted)}.mono{font-family:var(--monof)}.panel{border:1px solid var(--border);background:#fff;border-radius:6px}.panel-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.pagehead{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.pagehead.end{align-items:flex-end}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-line{border-top:1px solid var(--hair)}.chip{white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;font-weight:500;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:1px;flex:none;width:7px;height:7px}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}.info{color:#3f3f46}.none{color:var(--muted)}.strip{background:var(--border);border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;display:grid;overflow:hidden}.strip.small{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat{background:#fff;padding:16px 20px}.stat-n{font-family:var(--monof);letter-spacing:-.02em;margin:8px 0 0;font-size:32px;font-weight:500}.stat-s{color:var(--muted);margin:4px 0 0;font-size:12.5px}.kv{background:#fff;min-width:0;padding:12px 16px}.kv-v{overflow-wrap:anywhere;margin:6px 0 0;font-size:13.5px}.kv-v.mono{font-size:13px}.tblwrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.tbl.wide{min-width:1000px}.tbl th{text-align:left;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--page);white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:500}.tbl td{border-bottom:1px solid var(--hair);vertical-align:middle;white-space:nowrap;padding:10px 12px}.tbl tr:hover td{background:var(--page)}.tbl .num{font-family:var(--monof);text-align:right;font-size:12.5px}.tbl th.num{font-family:var(--sans);font-size:11px}.tbl .mcell{font-family:var(--monof);color:#3f3f46;font-size:12.5px}.tfoot{color:var(--muted);font-size:12px;font-family:var(--monof);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:10px 14px;display:flex}.wname{font-weight:500;text-decoration:none}.btn{height:40px;color:var(--ink);font:500 13.5px var(--sans);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d4d4d8;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 14px;text-decoration:none;display:inline-flex}.btn:hover{color:var(--ink);background:#f4f4f5}.btn:disabled{opacity:.5;cursor:not-allowed}.btnp{background:var(--ink);border-color:var(--ink);color:#fff}.btnp:hover{color:#fff;background:#2a2b2f}.btn.sm{height:32px;padding:0 10px;font-size:12.5px}.lnk{font:500 13px var(--sans);color:var(--ink);cursor:pointer;background:0 0;border:0;min-height:24px;padding:0;text-decoration:underline}.seg{border:1px solid #d4d4d8;border-radius:4px;display:inline-flex;overflow:hidden}.tab{height:36px;font:500 13px var(--sans);color:#52525b;cursor:pointer;white-space:nowrap;background:#fff;border:0;border-right:1px solid #d4d4d8;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.tab:last-child{border-right:0}.tab:hover{color:var(--ink)}.tabon,.tabon:hover{background:var(--ink);color:#fff}.input,.sel,.fsel{height:40px;font:13.5px var(--sans);color:var(--ink);background:#fff;border:1px solid #d4d4d8;border-radius:4px;width:100%;padding:0 10px}.sel{width:auto;min-width:220px;height:36px}textarea.input{height:auto;padding:10px;line-height:1.5}.search{width:240px;max-width:100%;height:36px;font:13.5px var(--sans);border:1px solid #d4d4d8;border-radius:4px;padding:0 10px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.grid-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:14px 16px;display:grid}.sr{position:absolute;left:-9999px}.chk{border-top:1px solid var(--hair);cursor:pointer;align-items:center;gap:10px;min-height:26px;padding:8px 0;font-size:13.5px;display:flex}.chk input{width:16px;height:16px;accent-color:var(--ink);margin:0}.pill{height:42px;font:500 13px var(--sans);color:#3f3f46;cursor:pointer;text-align:left;background:#fff;border:1px solid #d4d4d8;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex}.pill.on{border-color:var(--ink);background:var(--ink);color:#fff}.notice{border:1px solid var(--border);background:#fff;border-radius:6px;align-items:flex-start;gap:12px;padding:12px 14px;font-size:13.5px;line-height:1.5;display:flex}.notice:before{content:"";background:var(--sq,var(--ok));flex:none;width:10px;height:10px;margin-top:5px}.notice.bad{--sq:var(--bad);color:var(--ink)}.notice.warn{--sq:#e8a33d;color:var(--ink)}.notice.ok{color:var(--ink)}dialog.modal{border:1px solid var(--border);border-radius:6px;width:min(560px,100vw - 32px);padding:0;box-shadow:0 10px 30px #1112142e}dialog.modal::backdrop{background:#11121466}.modal-body{flex-direction:column;gap:14px;padding:18px;display:flex}.modal-foot{border-top:1px solid var(--border);background:var(--page);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.cols{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.col-main{flex:999 560px;min-width:0}.col-side{flex-direction:column;flex:320px;gap:16px;min-width:0;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}@media (max-width:420px){.grid2{grid-template-columns:1fr}}.only-phone{display:none}@media (max-width:700px){.tbl.cards{min-width:0!important}.tbl.cards thead{display:none}.tbl.cards tr{border-bottom:1px solid var(--border);flex-direction:column;padding:12px 14px;display:flex}.tbl.cards td{white-space:normal;border:0;justify-content:space-between;align-items:center;gap:12px;padding:3px 0;display:flex}.tbl.cards td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:12px;font-family:var(--sans)}.tbl.cards td.card-title{order:-1;padding-bottom:6px;display:block}.tbl.cards td:not([data-label]):not(.card-title){justify-content:flex-end}.tbl.cards tr:hover td{background:0 0}.tbl.cards td[data-ok]{display:none}.only-phone{display:flex}}.stat-link{color:inherit;text-decoration:none;display:block}.stat-link:hover{background:var(--page);color:inherit}dialog.modal{white-space:normal;text-align:left;font-weight:400}.strip.small{background:#fff}.strip.small .kv{box-shadow:0 0 0 .5px var(--border)}.dl-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 0;display:grid}.dl-due{font-family:var(--monof);white-space:nowrap;font-size:13px;font-weight:500}@media (max-width:520px){.dl-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}.dl-row .dl-due{grid-column:1/-1;font-size:12px}}@media (max-width:700px){.tbl.cards td.hide-phone{display:none}}@media (min-width:1700px){.main{margin:0 auto}}.tbl.wide th,.tbl.wide td{padding-left:10px;padding-right:10px}.tbl.wide td[data-label]:nth-child(2){white-space:normal;max-width:150px}.board{grid-template-columns:repeat(6,minmax(168px,1fr));align-items:start;gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.board-col{border:1px solid var(--border);background:#f4f4f5;border-radius:6px;flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.board-head{justify-content:space-between;align-items:baseline;padding:2px 2px 0;font-size:13px;font-weight:600;display:flex}.board-sub{color:var(--muted);margin:0;padding:0 2px;font-size:12px;line-height:1.4}.board-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.8em;display:-webkit-box;overflow:hidden}.board-head{min-height:20px}@media (max-width:700px){.board-desc{min-height:0}}.board-card{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:5px;flex-direction:column;gap:1px;padding:10px;text-decoration:none;display:flex}.board-card:hover{color:var(--ink);border-color:#a1a1aa}@media (max-width:700px){.board{grid-template-columns:1fr;overflow:visible}}.stepper{border:1px solid var(--border);background:#fff;border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.stepper li{color:var(--muted);border-right:1px solid var(--border);border-bottom:2px solid #0000;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;font-weight:500;display:flex}.stepper li:last-child{border-right:0}.stepper li .mono{padding-top:1px;font-size:11px}.stepper li.done{color:var(--ink);border-bottom-color:var(--ink)}.stepper li.done .mono{color:var(--ok)}.stepper li.now{color:var(--ink);border-bottom-color:var(--accent)}.stepper-date{font-family:var(--monof);color:var(--muted);font-size:11px;font-weight:400;display:block}.check-row{width:100%;font:13.5px var(--sans);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;min-height:26px;padding:8px 0;display:flex}span.check-row{cursor:default}.check-box{color:#fff;border:1.5px solid #a1a1aa;border-radius:3px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;display:flex}.check-box.on{background:var(--ink);border-color:var(--ink)}.pontaj-wrap{overflow-x:auto}.pontaj{border-collapse:separate;border-spacing:0;font-size:12.5px}.pontaj th,.pontaj td{border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);text-align:center;padding:0}.pontaj thead th{z-index:2;background:var(--page);color:var(--muted);min-width:34px;padding:6px 0;font-size:11px;font-weight:500;position:sticky;top:0}.pj-wd{text-transform:uppercase;font-size:10px;display:block}.pontaj .pj-name{z-index:1;text-align:left;white-space:normal;background:#fff;min-width:190px;max-width:220px;padding:6px 12px;position:sticky;left:0}.pontaj thead .pj-name{z-index:3;background:var(--page)}.pontaj td.pj-off,.pontaj th.pj-off{background:#f4f4f5}.pontaj td.pj-hol,.pontaj th.pj-hol{background:#fef3c7}.pontaj td.pj-before{background:repeating-linear-gradient(45deg,#fff,#fff 4px,#f4f4f5 4px 8px)}.pj-cell{text-align:center;width:34px;height:30px;font:12.5px var(--monof);color:var(--ink);background:0 0;border:0;padding:0}.pj-cell:focus{outline:2px solid var(--ink);outline-offset:-2px;background:#fff}.pj-cell:disabled{color:inherit}.pj-err{outline:2px solid var(--bad);outline-offset:-2px}.pontaj .pj-sum{background:var(--page);min-width:38px;padding:0 8px;font-size:12px}.demo-banner{color:#7a2e0e;text-align:center;background:#fffaeb;border-bottom:1px solid #fedf89;padding:6px 16px;font-size:12.5px;line-height:1.4}.demo-acct{width:100%;color:var(--ink);font:13px var(--sans);text-align:left;cursor:pointer;background:#fff;border:1px solid #d4d4d8;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.demo-acct:hover{border-color:var(--ink);background:#f4f4f5}.demo-acct-role{font-size:13.5px;font-weight:500;display:block}.demo-acct-who{color:var(--muted);overflow-wrap:anywhere;font-size:12px;display:block}
