:root{color-scheme:light;--page:#f5f5f7;--surface:#fff;--ink:#1d1d1f;--ink2:#6e6e73;--muted:#86868b;--line:#d2d2d7;--hairline:rgba(0,0,0,.08);--blue:#0080e6;--blue-hover:#0091f7;--blue-deep:#13539b;--ci-red:#ed1d24;--good:#0ca30c;--good-text:#006300;--warn:#fab219;--serious:#ec835a;--crit:#d03b3b;--violet:#4a3aa7;--r:18px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Thonburi,Noto Sans Thai,sans-serif;background:var(--page);color:var(--ink);font-size:15px;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.layout{display:flex;min-height:100vh;align-items:stretch}.sidebar{width:236px;flex:none;background:var(--surface);border-right:1px solid var(--hairline);padding:18px 12px 14px;display:flex;flex-direction:column;gap:2px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.side-logo{font-weight:600;font-size:16px;letter-spacing:-.02em;padding:2px 10px 12px}.side-logo small{display:block;color:var(--muted);font-weight:400;font-size:11px;letter-spacing:0;line-height:1.4;margin-top:5px}.side-logo-img{height:26px;width:auto;display:block}.side-group{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:14px 10px 6px}.side-group.side-dim{opacity:.55}.side-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;cursor:pointer;border-radius:8px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:14px 10px 6px}.side-toggle:hover{color:var(--ink)}.side-toggle .chev{font-size:11px}.side-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;font-size:14px;color:var(--ink2);transition:background .12s,color .12s}.side-item:hover{background:rgba(0,0,0,.05);color:var(--ink)}.side-item.on{background:linear-gradient(180deg,#1a6ecb,#13539b);color:#fff;font-weight:500}.side-item .side-lbl{flex:1 1;min-width:0}.side-item.hot{background:linear-gradient(180deg,#0091f7,#1266c4);color:#fff;font-weight:600;border-radius:980px;margin:4px 0;justify-content:center;text-align:center;box-shadow:0 3px 10px rgba(0,128,230,.35);transition:filter .15s,transform .12s}.side-item.hot:hover{background:linear-gradient(180deg,#12a0ff,#1a72d2);color:#fff;filter:brightness(1.03);transform:translateY(-1px)}.side-item.hot.on{background:linear-gradient(180deg,#1266c4,#13539b);color:#fff}.side-item.hot .side-lbl{flex:none}.side-badge{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:980px;background:var(--ci-red);color:#fff;font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.side-item.on .side-badge{background:#fff;color:var(--ink)}.side-sec{display:none}.side-sec.open{display:block}.side-spacer{flex:1 1;min-height:16px}.side-foot{border-top:1px solid var(--hairline);padding:12px 6px 0}.side-foot .uname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{flex:1 1;min-width:0}@media (max-width:760px){.layout{flex-direction:column}.sidebar{width:100%;height:auto;position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);flex-direction:row;align-items:center;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px;padding:10px 12px;border-right:none;border-bottom:1px solid var(--hairline)}.side-logo{padding:0 8px 0 0;white-space:nowrap}.side-logo small{display:none}.side-logo-img{height:22px}.side-group{display:none}.side-sec{display:contents!important}.side-spacer{display:none}.side-item{white-space:nowrap;border-radius:980px;padding:8px 14px;flex:none}.side-foot{display:flex;align-items:center;gap:6px;border-top:none;padding:0 0 0 6px;flex:none}.side-foot .userchip .uname{display:none}.side-foot .btn{width:auto!important;margin:0!important;white-space:nowrap}.viewas{margin:0}.viewas label{display:none}.viewas select{width:auto;height:34px}}header.app{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:hsla(0,0%,100%,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--hairline);padding:12px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.logo{font-weight:600;font-size:17px;letter-spacing:-.022em}.logo small{display:block;font-weight:400;color:var(--muted);font-size:11.5px;line-height:1.3;letter-spacing:0}.spacer{flex:1 1}.userchip{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2)}.userchip img{width:26px;height:26px;border-radius:980px}button,input,select,textarea{font-family:inherit;font-size:14.5px;color:var(--ink)}input:not([type]),input[type=date],input[type=month],input[type=number],input[type=search],input[type=tel],input[type=text],select{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 12px;width:100%;height:44px;box-sizing:border-box}textarea{border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-height:76px;resize:vertical}input[type=file],textarea{background:var(--surface);width:100%;box-sizing:border-box}input[type=file]{padding:9px 12px;border:1px dashed var(--line);border-radius:12px;font-size:13px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue)}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}nav.tabs{display:flex;gap:6px;padding:16px 22px 2px;overflow-x:auto;max-width:1024px;margin:0 auto}nav.tabs a{padding:7px 16px;border-radius:980px;color:var(--ink2);white-space:nowrap;font-size:14px;transition:background .15s,color .15s}nav.tabs a:hover{background:rgba(0,0,0,.05);color:var(--ink)}nav.tabs a.on{background:var(--ink);color:#fff;font-weight:500}nav.tabs a .cnt{display:inline-block;min-width:19px;text-align:center;font-size:11.5px;font-weight:600;background:var(--crit);color:#fff;border-radius:980px;padding:0 6px;margin-left:6px}main{max-width:1024px;margin:0 auto;padding:18px 22px 64px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:14px;gap:14px;margin-bottom:20px}.tile{background:var(--surface);border-radius:var(--r);padding:18px 20px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.tile .v{font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.025em}.tile .k{font-size:13px;color:var(--ink2);margin-top:3px}.tile .v .baht{font-size:13px;font-weight:400;color:var(--muted);margin-left:3px;letter-spacing:0}.card{background:var(--surface);border-radius:var(--r);box-shadow:0 1px 3px rgba(0,0,0,.05);overflow:hidden}.card+.card{margin-top:18px}.card h2{font-size:19px;font-weight:600;letter-spacing:-.022em;padding:18px 20px 13px;border-bottom:1px solid var(--hairline)}.empty{padding:36px 20px;text-align:center;color:var(--muted);font-size:14px}table.list{width:100%;border-collapse:collapse}table.list th{text-align:left;font-size:12px;color:var(--muted);font-weight:500;padding:10px 16px}table.list td,table.list th{border-bottom:1px solid var(--hairline)}table.list td{padding:14px 16px;vertical-align:top}table.list tr:last-child td{border-bottom:none}table.list tbody tr{cursor:pointer;transition:background .12s}table.list tbody tr:hover{background:#f5f5f7}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.reqno{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0}.rq-title{font-weight:600;letter-spacing:-.015em}.rq-sub{font-size:12.5px;color:var(--ink2)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3.5px 11px;white-space:nowrap}.badge,.badge .dot{border-radius:980px}.badge .dot{width:7px;height:7px;flex:none}.badge.warn{background:#fdf3dc;color:#7a5300}.badge.warn .dot{background:var(--warn)}.badge.info{background:#e8f1fc;color:var(--blue-deep)}.badge.info .dot{background:var(--blue)}.badge.good{background:#e7f5e7;color:var(--good-text)}.badge.good .dot{background:var(--good)}.badge.serious{background:#fdece4;color:#8a3d1c}.badge.serious .dot{background:var(--serious)}.badge.crit{background:#fbe7e7;color:#8f1f1f}.badge.crit .dot{background:var(--crit)}.badge.gray{background:rgba(0,0,0,.05);color:var(--ink2)}.badge.gray .dot{background:var(--muted)}.kind-tag{font-size:11.5px;color:var(--violet);background:#eeecfa;padding:2.5px 10px;white-space:nowrap}.btn,.kind-tag{border-radius:980px}.btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:9px 18px;font-weight:500;font-size:14px;border:none;background:rgba(0,0,0,.05);color:var(--ink);transition:background .15s,transform .1s}.btn:hover{background:rgba(0,0,0,.09)}.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(180deg,#0091f7,#1266c4);color:#fff}.btn.primary:hover{background:linear-gradient(180deg,#12a0ff,#1a72d2)}.btn.good{background:var(--good);color:#fff}.btn.danger{background:transparent;color:var(--crit);box-shadow:inset 0 0 0 1px rgba(208,59,59,.35)}.btn.danger:hover{background:#fbe7e7}.btn.sm{padding:6px 13px;font-size:13px}.btn[disabled]{opacity:.5;pointer-events:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;padding:18px 20px}.form-grid .full,.form-sec{grid-column:1/-1}.form-sec{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--hairline);padding-top:18px;margin-top:6px}.form-sec.first{border-top:none;padding-top:0;margin-top:0}.fld label{display:block;font-size:12.5px;font-weight:600;color:var(--ink2);margin-bottom:5px}.fld .hint{font-size:11.5px;color:var(--muted);margin-top:4px}.tut-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:20px}.tut-card{background:#fff;border-radius:22px;max-width:460px;width:100%;padding:34px 32px 26px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.25)}.tut-icon{font-size:44px}.tut-title{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-top:12px}.tut-body{font-size:14px;color:var(--ink2);line-height:1.65;margin-top:10px;text-align:left}.tut-dots{display:flex;gap:7px;justify-content:center;margin:20px 0 18px}.tut-dot{width:8px;height:8px;border-radius:980px;background:#d2d2d7;cursor:pointer;transition:background .15s}.tut-dot.on{background:var(--blue)}.tut-btns{display:flex;justify-content:space-between;gap:10px}.roles-tb td.rc,.roles-tb th.rc{text-align:center;width:120px}.roles-tb .rc-sub{font-size:10.5px;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0;margin-top:1px}.roles-tb td.rc input[type=checkbox]{width:18px;height:18px;cursor:pointer}.roles-tb tr:hover td{background:#fbfbfd}.viewas{margin-bottom:10px}.viewas label{display:block;font-size:10.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.viewas select{height:34px;padding:0 10px;font-size:12.5px;border-radius:10px}.viewas-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff3d6;border:1px solid #eda100;color:#6b4a00;border-radius:12px;padding:9px 14px;margin:16px 22px 0;font-size:13px}.viewas-banner .btn{margin-left:auto}.batch-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--hairline);background:#fbfbfd}.batch-bar .batch-prog{font-size:12.5px;font-weight:600;color:var(--blue)}.batch-bar .batch-hint{font-size:11.5px;color:var(--muted);margin-left:auto}table.list tr.sel td{background:#eaf3fd}.view-toggle{display:inline-flex;gap:3px;background:#e8e8ed;border-radius:980px;padding:3px}.view-toggle button{border:none;background:transparent;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--ink2);padding:5px 14px;border-radius:980px;transition:all .15s}.view-toggle button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12);font-weight:600}.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));grid-gap:12px;gap:12px;padding:16px 20px 20px;align-items:start}.kb-col{min-width:0;background:#f5f5f7;border-radius:14px;padding:10px}.kb-more{border:none;background:transparent;color:var(--blue);font-size:12.5px;font-weight:600;cursor:pointer;padding:8px 4px 4px;text-align:center;border-radius:8px}.kb-more:hover{text-decoration:underline}.kb-head{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink);padding:4px 6px 10px}.kb-dot{width:8px;height:8px;background:var(--kb,#86868b);flex:none}.kb-count,.kb-dot{border-radius:980px}.kb-count{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--ink2);background:#e8e8ed;padding:1px 8px}.kb-cards{display:flex;flex-direction:column;gap:8px}.kb-card{background:#fff;border-radius:12px;padding:11px 12px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid transparent;transition:box-shadow .15s,border-color .15s,transform .15s}.kb-card:hover{border-color:var(--line);box-shadow:0 4px 14px rgba(0,0,0,.1);transform:translateY(-1px)}.kb-title{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kb-meta{font-size:11px;color:var(--muted);margin-top:3px}.kb-by{display:flex;gap:6px;font-size:11.5px;color:var(--ink2);margin-top:6px}.avatar,.kb-by{align-items:center}.avatar{border-radius:980px;object-fit:cover;flex:none;display:inline-flex;justify-content:center}.avatar-fb{color:#fff;font-weight:600;line-height:1}.kb-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-top:8px}.kb-row .kind-tag{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.kb-amt{font-size:13px;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kb-empty{text-align:center;color:var(--muted);font-size:12px;padding:14px 0 8px}.kind-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;padding:18px 20px 0}.kind-card{border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;cursor:pointer;background:var(--surface);transition:border-color .15s,background .15s}.kind-card:hover{border-color:var(--muted)}.kind-card.on{border-color:var(--blue);background:#f2f8ff;outline:1px solid var(--blue)}.kind-card b{display:block;font-size:14.5px;letter-spacing:-.015em}.kind-card span{font-size:12.5px;color:var(--ink2)}.form-actions{padding:0 20px 20px;display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.kv{display:grid;grid-template-columns:140px 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:14px;margin-bottom:16px}.kv dt{color:var(--muted);font-size:13px}.kv dd{font-weight:450}.amount-big{font-size:30px;font-weight:600;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.files{display:flex;flex-wrap:wrap;gap:6px}.filechip{font-size:12px;background:rgba(0,0,0,.05);border-radius:980px;padding:3px 11px}.tl{list-style:none;margin:8px 0 0;position:relative;padding-left:20px}.tl:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--hairline);border-radius:2px}.tl li{position:relative;padding:0 0 13px}.tl li:before{content:"";position:absolute;left:-19px;top:5px;width:9px;height:9px;border-radius:980px;background:var(--muted);outline:2px solid var(--surface)}.tl li.ok:before{background:var(--good)}.tl li.no:before{background:var(--crit)}.tl li.pay:before{background:var(--blue)}.tl .who{font-weight:600}.tl .what,.tl .who{font-size:13.5px}.tl .cmt{font-size:13px;color:var(--ink2);background:#f5f5f7;border-radius:12px;padding:6px 12px;margin-top:4px;display:inline-block}.tl time{font-size:11.5px;color:var(--muted);display:block}.action-zone{border-top:1px solid var(--hairline);padding:16px 22px;background:#f5f5f7}.action-zone .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.action-zone textarea{min-height:56px;margin-bottom:10px}.subform{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:10px}.dash-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px 20px;border-bottom:1px solid var(--hairline)}.dash-controls .sep{width:1px;height:22px;background:var(--hairline);margin:0 4px}.dash-controls input[type=date],.dash-controls input[type=month]{width:auto;padding:6px 10px;border-radius:980px;font-size:13px}.dash-controls select{width:auto;padding:6px 26px 6px 12px;border-radius:980px;font-size:13px}.dash-controls .dlbl{font-size:12.5px;color:var(--ink2)}.brow{display:grid;grid-template-columns:180px 1fr 100px;grid-gap:12px;gap:12px;align-items:center;padding:9px 20px}.brow:hover{background:#f5f5f7}.brow .lbl{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bfill{height:12px;background:var(--blue);border-radius:0 4px 4px 0;min-width:2px}.bfill.g{background:#008300}.bval{font-size:13px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink2)}.dash-note{padding:10px 20px 16px;font-size:11.5px;color:var(--muted)}.legend{gap:16px;padding:14px 20px 4px}.legend,.lg{display:flex}.lg{align-items:center;gap:6px;font-size:12.5px;color:var(--ink2)}.lg .dot{width:9px;height:9px;border-radius:980px}.pair{display:flex;align-items:center;gap:8px;margin:2px 0}.bval2{font-size:12px;color:var(--ink2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.brow2{display:grid;grid-template-columns:180px 1fr;grid-gap:12px;gap:12px;align-items:center;padding:8px 20px}.brow2:hover{background:#f5f5f7}.brow2 .lbl{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alertbar{margin-bottom:14px;background:#fdece4;border-radius:var(--r);padding:13px 18px;font-size:14px;color:#8a3d1c}.dash2{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:18px;align-items:start}@media (max-width:900px){.dash2{grid-template-columns:1fr}}.wgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;align-items:start;margin-top:18px}.wslot{position:relative;min-width:0}.wslot.wfull{grid-column:1/-1}.wctrl{position:absolute;top:12px;right:14px;z-index:6;display:flex;gap:5px;opacity:.55;transition:opacity .15s}.wslot:hover .wctrl{opacity:1}.wctrl button{width:26px;height:26px;border-radius:980px;border:1px solid var(--line);background:hsla(0,0%,100%,.92);cursor:pointer;font-size:12px;color:var(--ink2);display:flex;align-items:center;justify-content:center;padding:0}.wctrl button:hover{background:#fff;color:var(--ink);border-color:var(--muted)}.w-add{width:auto!important;height:34px!important;padding:0 28px 0 12px!important;border-radius:980px!important;font-size:13px;font-weight:500}.wslot .tiles{margin-bottom:0}@media (max-width:900px){.wgrid{grid-template-columns:1fr}}.cal-head{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px 4px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;padding:10px 14px 14px}.cal-dow{font-size:11px;color:var(--muted);text-align:center;padding:4px 0}.cal-cell{min-height:58px;border-radius:10px;padding:5px 7px;font-size:12px;background:#f5f5f7}.cal-cell.mt{background:transparent}.cal-cell .d{font-size:11.5px;color:var(--ink2)}.cal-cell.due{background:#e8f1fc;cursor:pointer}.cal-cell.over{background:#fbe7e7;cursor:pointer}.cal-cell.over .s{color:#8f1f1f}.cal-cell.paidday{background:#e6f4ea;cursor:pointer}.cal-cell.paidday .s{color:#0c6b2c}.cal-cell.today{outline:2px solid var(--blue)}.cal-cell.sel{outline:2px solid var(--ink)}.cal-cell .s{font-weight:600;font-size:12px;margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-cell .c{font-size:10.5px;color:var(--ink2)}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:rgba(29,29,31,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:13.5px;padding:10px 20px;border-radius:980px;z-index:99;max-width:88vw;text-align:center}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--surface);border-radius:22px;box-shadow:0 8px 40px rgba(0,0,0,.08);padding:40px;max-width:400px;width:100%;text-align:center}@media (max-width:640px){main{padding:14px 12px 48px}nav.tabs{padding:12px 12px 2px}.form-grid{grid-template-columns:1fr}.kv{grid-template-columns:110px 1fr}.hide-sm{display:none}header.app{padding:10px 14px}.tiles{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.tile{padding:14px 16px}.tile .v{font-size:22px}.brow{grid-template-columns:112px 1fr 88px;padding:9px 12px}.brow2{grid-template-columns:112px 1fr;padding:8px 12px}.kanban{display:flex;overflow-x:auto;padding:12px;gap:10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;align-items:flex-start}.kb-col{flex:0 0 82vw;min-width:0;max-width:none;scroll-snap-align:start}.kind-pick{grid-template-columns:1fr 1fr;gap:8px;padding:14px 12px 0}.kind-card{padding:11px 12px}.subform{grid-template-columns:1fr}.form-grid{padding:16px 14px}.dash-controls{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:12px 14px}.dash-controls .btn,.dash-controls input,.dash-controls select{flex:none}.batch-bar{padding:10px 14px}.batch-bar .batch-hint{display:none}.cal-grid{gap:3px;padding:8px 10px 12px}.cal-cell{min-height:44px;padding:4px 5px}.cal-cell .s{font-size:10.5px}.cal-cell .c{display:none}.viewas-banner{margin:12px 12px 0;font-size:12px;padding:8px 12px}.login-card{padding:28px 22px}.tut-card{padding:26px 20px 20px}}