:root{--zp-canvas:#F7F8FA;--zp-surface:#FFFFFF;--zp-sunken:#F1F3F5;--zp-border:#E8E8E8;--zp-border-strong:#E8E8E8;--zp-text:#111827;--zp-text-2:#6B7280;--zp-text-3:#9CA3AF;--zp-brand:#1B51A7;--zp-brand-deep:#143D80;--zp-brand-tint:#E8EEF9;--zp-ok:#16A34A;--zp-ok-bg:#F0FDF4;--zp-ok-solid:#16A34A;--zp-bad:#DC2626;--zp-bad-bg:#FEF2F2;--zp-bad-solid:#DC2626;--zp-warn:#D97706;--zp-warn-bg:#FFFBEB;--zp-warn-solid:#D97706;--zp-info:#2563EB;--zp-info-bg:#EFF6FF;--zp-info-solid:#2563EB;--zp-purple:#7C3AED;--zp-purple-bg:#F5F3FF;--zp-orange:#EA580C;--zp-orange-bg:#FFF7ED;--zp-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--zp-font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--zp-s1:4px;--zp-s2:8px;--zp-s3:12px;--zp-s4:16px;--zp-s5:20px;--zp-s6:24px;--zp-s8:32px;--zp-s12:48px;--zp-r-sm:6px;--zp-r-md:8px;--zp-r-lg:12px;--zp-r-xl:12px;--zp-r-full:999px;--zp-shadow-1:0 1px 3px rgba(0,0,0,.06);--zp-shadow-2:0 4px 12px rgba(0,0,0,.08);--zp-shadow-3:0 8px 24px rgba(0,0,0,.1);--zp-fast:.12s ease-out;--zp-base:.18s ease-out;--zp-slow:.24s cubic-bezier(.2,.8,.3,1)}@media (prefers-reduced-motion: reduce){:root{--zp-fast:0ms;--zp-base:0ms;--zp-slow:0ms}}*,*:before,*:after{box-sizing:border-box;margin:0}body{background:var(--zp-canvas);color:var(--zp-text);font-family:var(--zp-font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--zp-brand)}:focus-visible{outline:2px solid var(--zp-brand);outline-offset:1px}:focus:not(:focus-visible){outline:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;font-size:13px;line-height:1.4;padding:8px 16px;border-radius:var(--zp-r-md);border:1px solid var(--zp-brand);cursor:pointer;background:var(--zp-brand);color:#fff;transition:background var(--zp-fast),opacity var(--zp-fast);white-space:nowrap}.btn:hover{background:var(--zp-brand-deep);border-color:var(--zp-brand-deep)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--zp-text-2);border-color:var(--zp-border)}.btn.secondary:hover{background:var(--zp-sunken)}.btn.danger{background:var(--zp-bad);border-color:var(--zp-bad)}.btn.danger:hover{opacity:.9}.btn.ghost{background:transparent;color:var(--zp-brand);border-color:transparent}.btn.ghost:hover{background:var(--zp-brand-tint)}.btn.sm{padding:6px 12px;font-size:12px}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:12px;font-weight:600;color:var(--zp-text-2)}.field .req{color:var(--zp-bad-solid)}.input{width:100%;padding:9px 12px;font-size:16px;border:1px solid var(--zp-border);border-radius:var(--zp-r-md);background:var(--zp-surface);color:var(--zp-text);transition:border-color var(--zp-fast)}@media (min-width: 768px){.input{font-size:13px}}.input::placeholder{color:var(--zp-text-3)}.input:focus{border-color:var(--zp-brand);outline:none}.input:focus-visible{outline:2px solid var(--zp-brand);outline-offset:1px}.input.invalid{border-color:var(--zp-bad-solid)}.field .hint{font-size:12px;color:var(--zp-text-3)}.field .error{font-size:13px;color:var(--zp-bad)}textarea.input{resize:vertical;line-height:1.5}.card{background:var(--zp-surface);border:1px solid var(--zp-border);border-radius:var(--zp-r-lg)}.card.pad{padding:var(--zp-s5)}.stat{padding:var(--zp-s4) var(--zp-s5)}.stat>*{min-width:0}.stat .label,.stat .sub{overflow-wrap:anywhere}.stat .label{font-size:12px;font-weight:500;color:var(--zp-text-2)}.stat .value{font-size:26px;font-weight:700;color:var(--zp-text);font-variant-numeric:tabular-nums;margin-top:6px;line-height:1}.stat .sub{font-size:11px;color:var(--zp-text-2);margin-top:4px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--zp-r-full);white-space:nowrap}.badge.ok{background:var(--zp-ok-bg);color:var(--zp-ok)}.badge.bad{background:var(--zp-bad-bg);color:var(--zp-bad)}.badge.warn{background:var(--zp-warn-bg);color:var(--zp-warn)}.badge.info{background:var(--zp-info-bg);color:var(--zp-info)}.badge.neutral{background:var(--zp-sunken);color:var(--zp-text-2)}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--zp-s4);flex-wrap:wrap;margin-bottom:var(--zp-s6)}.page-head h1{font-size:20px;font-weight:700;line-height:1.3}.page-head .sub{font-size:13px;color:var(--zp-text-2);margin-top:3px}.alert-error{background:var(--zp-bad-bg);color:var(--zp-bad);border-radius:var(--zp-r-md);padding:10px 14px;font-size:13px;margin-bottom:var(--zp-s4)}.alert-ok{background:var(--zp-ok-bg);color:var(--zp-ok);border-radius:var(--zp-r-md);padding:10px 14px;font-size:13px}.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{font-size:11px;font-weight:600;color:var(--zp-text-2);text-align:left;padding:10px 14px;border-bottom:1px solid var(--zp-border);white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--zp-border);color:var(--zp-text-2);vertical-align:middle}.table td:first-child{color:var(--zp-text);font-weight:600}.table tr:last-child td{border-bottom:none}.table tr.hoverable:hover td{background:var(--zp-canvas)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:var(--zp-s1);border-bottom:1px solid var(--zp-border);margin-bottom:var(--zp-s5);overflow-x:auto}.tab{background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--zp-text-2);padding:8px 16px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--zp-fast);white-space:nowrap}.tab:hover{color:var(--zp-text)}.tab.active{color:var(--zp-brand);border-bottom-color:var(--zp-brand)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182880;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--zp-s4)}.modal{background:var(--zp-surface);border-radius:var(--zp-r-xl);width:100%;max-height:90vh;overflow:auto;box-shadow:var(--zp-shadow-3)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--zp-s4) var(--zp-s5);border-bottom:1px solid var(--zp-border)}.modal-head h3{font-size:16px;font-weight:700}.modal-body{padding:var(--zp-s5)}.modal-x{background:none;border:none;cursor:pointer;color:var(--zp-text-3);display:flex;padding:4px;border-radius:var(--zp-r-sm)}.modal-x:hover{background:var(--zp-sunken);color:var(--zp-text)}.avatar{border-radius:50%;background:var(--zp-brand-tint);color:var(--zp-brand);font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.empty{text-align:center;padding:var(--zp-s12) var(--zp-s4);color:var(--zp-text-3)}.empty h4{font-size:15px;font-weight:700;color:var(--zp-text);margin-top:var(--zp-s3)}.empty p{font-size:13px;margin-top:4px}.skeleton{border-radius:var(--zp-r-md);background:linear-gradient(90deg,var(--zp-sunken) 25%,var(--zp-border) 50%,var(--zp-sunken) 75%);background-size:200% 100%;animation:zp-shimmer 1.4s infinite}@keyframes zp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spin{animation:zp-spin .7s linear infinite}@keyframes zp-spin{to{transform:rotate(360deg)}}.mono{font-family:var(--zp-font-mono);font-size:12.5px}.shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--zp-surface);border-right:1px solid var(--zp-border);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;transition:width var(--zp-base);overflow:hidden}.sidebar.collapsed{width:56px}.side-brand{display:flex;align-items:center;gap:10px;padding:var(--zp-s4);border-bottom:1px solid var(--zp-border);min-height:60px}.side-brand img{width:28px;height:28px;flex-shrink:0}.side-brand .n{font-size:13px;font-weight:700;white-space:nowrap}.side-brand .s{font-size:10px;color:var(--zp-text-3);white-space:nowrap}.side-nav{flex:1;padding:var(--zp-s2);overflow-y:auto}.nav-item{width:100%;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;border:none;background:none;color:var(--zp-text-2);font-size:13px;font-weight:500;cursor:pointer;margin-bottom:2px;transition:background var(--zp-fast),color var(--zp-fast);white-space:nowrap}.nav-item:hover{background:var(--zp-sunken);color:var(--zp-text)}.nav-item.active{background:var(--zp-brand-tint);color:var(--zp-brand);font-weight:500}.sidebar.collapsed .nav-item{justify-content:center;padding:9px 0}.side-foot{border-top:1px solid var(--zp-border);padding:var(--zp-s3)}.side-user{width:100%;display:flex;align-items:center;gap:10px;padding:8px;border:none;background:none;border-radius:var(--zp-r-md);cursor:pointer;text-align:left}.side-user:hover{background:var(--zp-sunken)}.side-user .who{min-width:0}.side-user .who .n{font-size:12.5px;font-weight:600;color:var(--zp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user .who .r{font-size:11px;color:var(--zp-text-3);text-transform:capitalize}.side-action{width:100%;display:flex;align-items:center;gap:8px;padding:7px 8px;border:none;background:none;border-radius:var(--zp-r-md);cursor:pointer;font-size:12px;font-weight:500;color:var(--zp-text-3)}.side-action:hover{background:var(--zp-sunken);color:var(--zp-text)}.side-action.logout{color:var(--zp-bad)}.sidebar.collapsed .side-user,.sidebar.collapsed .side-action{justify-content:center}.main{flex:1;min-width:0;display:flex;flex-direction:column}.content{flex:1;padding:var(--zp-s6);max-width:1160px;width:100%;margin:0 auto}.topbar{display:none;align-items:center;gap:var(--zp-s3);height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--zp-s4) 0;background:var(--zp-surface);border-bottom:1px solid var(--zp-border);position:sticky;top:0;z-index:50}.topbar img{width:24px;height:24px}.topbar .t{font-size:14px;font-weight:600;flex:1}.icon-btn{background:none;border:none;cursor:pointer;color:var(--zp-text-2);display:flex;padding:6px;border-radius:var(--zp-r-sm)}.icon-btn:hover{background:var(--zp-sunken)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;z-index:200}.drawer{position:fixed;left:0;top:0;bottom:0;width:250px;z-index:201;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:var(--zp-surface);display:flex;flex-direction:column;box-shadow:var(--zp-shadow-3)}@media (max-width: 767px){.sidebar{display:none}.topbar{display:flex}.content{padding:var(--zp-s4);padding-bottom:calc(var(--zp-s4) + env(safe-area-inset-bottom))}.page-head h1{font-size:22px}.stat{padding:var(--zp-s3) var(--zp-s4)}.stat .value{font-size:19px}.stat .label{font-size:11.5px}.btn,.icon-btn,.chipbtn{min-height:38px}.icon-btn{min-width:38px}}.board{display:flex;gap:var(--zp-s3);align-items:flex-start;overflow-x:auto;padding-bottom:var(--zp-s2);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.bcol{flex:1 0 235px;min-width:235px;max-width:340px;background:var(--zp-sunken);border-radius:var(--zp-r-lg);padding:var(--zp-s2);scroll-snap-align:start}.bcol-head{display:flex;align-items:center;gap:7px;padding:2px 6px 10px;font-size:12px;font-weight:700}.bcol-head .count{margin-left:auto;font-weight:600;color:var(--zp-text-3);font-size:11px}.bcard{background:var(--zp-surface);border:1px solid var(--zp-border);border-radius:var(--zp-r-md);padding:10px 12px;margin-bottom:var(--zp-s2);box-shadow:var(--zp-shadow-1);transition:box-shadow var(--zp-fast)}.bcard.clickable{cursor:pointer}.bcard.clickable:hover{box-shadow:var(--zp-shadow-2)}.bcard .t{font-size:13px;font-weight:600;line-height:1.35}.bcard .meta{display:flex;align-items:center;gap:6px;margin-top:7px;flex-wrap:wrap;font-size:11px;color:var(--zp-text-2)}.bcard .movebar{display:flex;justify-content:space-between;margin-top:8px}.movebtn{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--zp-border);background:var(--zp-canvas);border-radius:var(--zp-r-sm);padding:3px 7px;cursor:pointer;font-size:10.5px;font-weight:600;color:var(--zp-text-2)}.movebtn:hover{background:var(--zp-sunken);color:var(--zp-text)}.bcol-empty{border:1.5px dashed var(--zp-border-strong);border-radius:var(--zp-r-md);padding:18px 0;text-align:center;font-size:12px;color:var(--zp-text-3)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#d1d5db}@media (prefers-reduced-motion: reduce){.skeleton,.spin{animation:none}}@media print{body *{visibility:hidden}#zp-invoice,#zp-invoice *,#zp-payslip,#zp-payslip *{visibility:visible}.no-print{display:none!important}#zp-payslip{-webkit-print-color-adjust:exact;print-color-adjust:exact}#zp-payslip{position:absolute;left:0;top:0;width:100%;border:none!important;border-radius:0!important}#zp-invoice{position:absolute;left:0;top:0;width:100%;border:none!important;border-radius:0!important;padding:32px!important}.modal-overlay{position:static!important;background:none!important;padding:0!important}.modal{max-width:none!important;box-shadow:none!important}}.toolbar{display:flex;gap:var(--zp-s2);align-items:center;flex-wrap:wrap;margin-bottom:var(--zp-s4)}.seg{display:inline-flex;background:var(--zp-sunken);border-radius:var(--zp-r-md);padding:3px;gap:2px}.seg button{display:inline-flex;align-items:center;gap:6px;border:none;cursor:pointer;padding:6px 12px;border-radius:6px;font-size:12.5px;font-weight:600;font-family:inherit;background:transparent;color:var(--zp-text-2);transition:background var(--zp-fast),color var(--zp-fast)}.seg button:hover{color:var(--zp-text)}.seg button.on{background:var(--zp-surface);color:var(--zp-brand);box-shadow:var(--zp-shadow-1)}.searchbox{position:relative}.searchbox svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--zp-text-3)}.searchbox input{padding-left:30px;width:210px;font-size:16px}@media (min-width:768px){.searchbox input{font-size:12.5px}}.chipbtn{border:1px solid var(--zp-border);background:var(--zp-surface);cursor:pointer;border-radius:var(--zp-r-full);padding:5px 12px;font-size:12px;font-weight:600;color:var(--zp-text-2);font-family:inherit;white-space:nowrap;transition:all var(--zp-fast)}.chipbtn:hover{border-color:var(--zp-border-strong);color:var(--zp-text)}select.mini{width:auto;font-size:16px;padding:7px 28px 7px 10px}input.mini{width:auto;font-size:16px;padding:7px 10px}@media (min-width:768px){select.mini,input.mini{font-size:12.5px}}.kb{display:flex;gap:var(--zp-s4);align-items:flex-start;overflow-x:auto;padding-bottom:var(--zp-s4);scroll-snap-type:x proximity}.kbcol{flex:1 0 286px;min-width:286px;max-width:400px;scroll-snap-align:start;display:flex;flex-direction:column;border-radius:var(--zp-r-lg);padding:var(--zp-s3);background:var(--zp-sunken);border:1.5px dashed transparent;transition:border-color var(--zp-fast),background var(--zp-fast)}.kbcol.over{border-color:var(--zp-brand);background:var(--zp-brand-tint)}.kbcol-h{display:flex;align-items:center;gap:8px;padding:2px 4px 12px;font-size:13px;font-weight:700}.kbcol-h .n{margin-left:auto;font-weight:600;color:var(--zp-text-2);font-size:11.5px;background:var(--zp-surface);border-radius:var(--zp-r-full);padding:2px 9px}.kbcol-b{display:flex;flex-direction:column;gap:var(--zp-s2);min-height:12px}.kbcol-add{width:100%;border:none;background:transparent;cursor:pointer;border-radius:var(--zp-r-md);padding:9px;margin-top:var(--zp-s2);font-size:12.5px;font-weight:600;color:var(--zp-text-3);font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px}.kbcol-add:hover{background:var(--zp-surface);color:var(--zp-brand)}.kbcol-drop{border:1.5px dashed var(--zp-border-strong);border-radius:var(--zp-r-md);padding:20px 0;text-align:center;font-size:12px;color:var(--zp-text-3)}.tcard{background:var(--zp-surface);border:1px solid var(--zp-border);border-radius:var(--zp-r-lg);padding:13px 14px;cursor:pointer;box-shadow:var(--zp-shadow-1);transition:box-shadow var(--zp-fast),transform var(--zp-fast),opacity var(--zp-fast)}.tcard:hover{box-shadow:var(--zp-shadow-2);transform:translateY(-1px)}.tcard.dragging{opacity:.35}.tcard.sel{border-color:var(--zp-brand);box-shadow:0 0 0 2px var(--zp-brand-tint)}.tcard .tt{font-size:13.5px;font-weight:600;line-height:1.4;color:var(--zp-text)}.tcard.is-done .tt{color:var(--zp-text-3);text-decoration:line-through}.tcard .tmeta{display:flex;align-items:center;gap:8px;margin-top:11px;flex-wrap:wrap;font-size:11.5px;color:var(--zp-text-2)}.tcard .proj{color:var(--zp-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.tcard .due{font-weight:600}.tcard .due.over{color:var(--zp-bad)}.tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--zp-r-full);background:var(--zp-sunken);color:var(--zp-text-2);white-space:nowrap}.tag.client{background:var(--zp-brand-tint);color:var(--zp-brand)}.subprog{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--zp-text-3)}.gh{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--zp-sunken);font-size:12px;font-weight:700;border-radius:var(--zp-r-sm);margin:var(--zp-s4) 0 2px}.gh:first-child{margin-top:0}.gh .n{color:var(--zp-text-3);font-weight:600}.trow{transition:background var(--zp-fast)}.trow td{padding:9px 14px}.tcheck{width:34px}.titlecell{display:flex;align-items:center;gap:8px;min-width:0}.titlecell .txt{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.done-t{text-decoration:line-through;color:var(--zp-text-3)}.bulkbar{position:sticky;bottom:var(--zp-s4);z-index:40;margin-top:var(--zp-s4);display:flex;align-items:center;gap:var(--zp-s3);flex-wrap:wrap;background:var(--zp-text);color:var(--zp-surface);border-radius:var(--zp-r-lg);padding:10px 16px;box-shadow:var(--zp-shadow-3)}.bulkbar .c{font-size:13px;font-weight:600}.bulkbar select{background:#ffffff24;border:none;color:#fff;border-radius:var(--zp-r-sm);padding:6px 10px;font-size:12.5px;font-family:inherit;cursor:pointer}.bulkbar select option{color:var(--zp-text)}.bulkbar button{background:#ffffff24;border:none;color:#fff;border-radius:var(--zp-r-sm);padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}.bulkbar button:hover{background:#ffffff3d}.dr-ov{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182866;z-index:900}.drawer-r{position:fixed;right:0;top:0;bottom:0;width:min(560px,100vw);z-index:901;background:var(--zp-surface);box-shadow:var(--zp-shadow-3);display:flex;flex-direction:column;animation:zp-slide var(--zp-base)}@keyframes zp-slide{0%{transform:translate(100%)}to{transform:none}}@media (prefers-reduced-motion: reduce){.drawer-r{animation:none}}.dr-h{display:flex;align-items:center;gap:var(--zp-s2);padding:14px 18px;border-bottom:1px solid var(--zp-border)}.dr-b{flex:1;overflow-y:auto;padding:18px}.dr-f{border-top:1px solid var(--zp-border);padding:12px 18px;display:flex;gap:var(--zp-s2);justify-content:space-between}.dr-title{width:100%;border:1px solid transparent;background:transparent;font-size:19px;font-weight:700;font-family:inherit;color:var(--zp-text);padding:6px 8px;border-radius:var(--zp-r-md);resize:none;line-height:1.3}.dr-title:hover{background:var(--zp-sunken)}.dr-title:focus{background:var(--zp-surface);border-color:var(--zp-brand);outline:none}.props{display:grid;grid-template-columns:96px minmax(0,1fr);gap:6px 12px;align-items:center;margin:var(--zp-s4) 0}.props>*{min-width:0}.props select.mini,.props input.mini{max-width:100%}.props>.k{font-size:12px;color:var(--zp-text-2);font-weight:500}.sect{margin-top:var(--zp-s5)}.sect-h{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--zp-text-2);margin-bottom:var(--zp-s3)}.cap{height:8px;border-radius:4px;background:var(--zp-sunken);overflow:hidden;display:flex}.cap>i{display:block;height:100%}.cap .c-done{background:var(--zp-ok-solid)}.cap .c-prog{background:var(--zp-info-solid)}.cap .c-rev{background:var(--zp-warn-solid)}.cap .c-todo{background:var(--zp-text-3)}.bars{display:flex;align-items:flex-end;gap:6px;height:96px}.bars .b{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.bars .b>i{display:block;width:100%;background:var(--zp-brand);border-radius:3px 3px 0 0;min-height:2px;transition:height var(--zp-base)}.bars .b.muted>i{background:var(--zp-border-strong)}.bars .b span{font-size:10px;color:var(--zp-text-3);font-weight:600}@media (max-width:767px){.drawer-r{width:100vw}.searchbox input{width:100%}.kbcol{max-height:none}}.add-hint{transition:opacity var(--zp-fast)}[title="Mark this day as a holiday"]:hover .add-hint{opacity:1!important}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.cal-cell{min-width:0;min-height:92px;overflow:hidden;border-radius:var(--zp-r-md);padding:7px 8px;display:flex;flex-direction:column;gap:3px}.cal-label{font-size:10.5px;line-height:1.3;overflow-wrap:anywhere}@media (max-width: 767px){.cal-grid{gap:3px}.cal-cell{min-height:58px;padding:4px 3px;gap:2px}.cal-cell .cal-label{font-size:8.5px}.add-hint{display:none}}.frow{display:grid;gap:var(--zp-s3)}.frow>*{min-width:0}.frow-1{grid-template-columns:minmax(0,1fr)}.frow-2{grid-template-columns:repeat(2,minmax(0,1fr))}.frow-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lrow{display:grid;grid-template-columns:minmax(0,1fr) 70px 110px 90px 32px;gap:8px;margin-bottom:6px;align-items:center}.lrow>*{min-width:0}@media (max-width: 767px){.frow-2,.frow-3{grid-template-columns:minmax(0,1fr)}.lrow{grid-template-columns:repeat(3,minmax(0,1fr)) 32px;gap:6px;padding:8px;margin-bottom:8px;border:1px solid var(--zp-border);border-radius:var(--zp-r-md)}.lrow>:first-child{grid-column:1 / -1}}.lbl-short{display:none}@media (max-width: 767px){.lbl-full{display:none}.lbl-short{display:inline}}
