:root{--bg: #f5f6f8;--card: #fff;--fg: #111827;--muted: #6b7280;--line: #e5e7eb;--line-2: #eef0f3;--accent: #2456d6;--accent-ink: #fff;--accent-soft: #e8eefc;--danger: #c62828;--danger-soft: #fdecec;--ok: #15803d;--ok-soft: #e7f6ec;--warn: #b45309;--warn-soft: #fef4e6;--side: #0f172a;--side-fg: #cbd5e1;--side-hover: #1e293b;--radius: 10px;--shadow: 0 1px 2px rgb(16 24 40 / .06), 0 1px 3px rgb(16 24 40 / .08);--shadow-lg: 0 12px 32px rgb(16 24 40 / .18);font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}h1{font-size:20px;line-height:1.25;margin:0;font-weight:650}h2{font-size:16px;margin:0;font-weight:600}a{color:var(--accent);text-decoration:none}code{font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.icon{flex:none}.muted{color:var(--muted)}.small,small{font-size:12px}.ellipsis{min-width:0;overflow-wrap:break-word}.grow{flex:1}.err{color:var(--danger)}.ok{color:var(--ok)}.splash{display:grid;place-items:center;height:100%;min-height:50vh;color:var(--muted)}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;color:inherit;background:#fff;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:84px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[readonly],textarea[readonly]{background:#f9fafb}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent);margin:0;flex:none}select{width:auto;min-width:200px}label{display:block;margin-bottom:12px;font-weight:500}label>input,label>textarea,label>select{margin-top:4px}label.check{display:flex;gap:8px;align-items:center;font-weight:400;margin-bottom:6px}fieldset{border:0;padding:0;margin:0 0 8px;min-width:0}legend{font-weight:600;margin-bottom:6px}button{font:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:default}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--fg);font-weight:500;white-space:nowrap;box-shadow:var(--shadow)}.btn:hover:not(:disabled){background:#f9fafb}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:#1d47b5}.btn.danger{color:var(--danger)}.btn.danger.solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{border-color:transparent;box-shadow:none;background:transparent;color:var(--accent)}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted)}.icon-btn:focus:not(:focus-visible){outline:none}.icon-btn:hover:not(:disabled){background:var(--line-2);color:var(--fg)}.icon-btn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.link{border:0;background:none;padding:0;color:var(--accent);font:inherit}.link:hover{text-decoration:underline}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--line-2);border-radius:9px}.seg>button,.seg>label{margin:0;padding:6px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:500;cursor:pointer}.seg>label input{position:absolute;opacity:0;pointer-events:none}.seg>.on{background:#fff;color:var(--fg);box-shadow:var(--shadow)}.tag{display:inline-flex;align-items:center;font-style:normal;font-size:12px;font-weight:500;line-height:18px;padding:1px 8px;border-radius:10px;max-width:100%;overflow-wrap:anywhere;vertical-align:middle}.tag.blue{background:#e8eefc;color:#1e40af}.tag.green{background:#e7f6ec;color:#166534}.tag.amber{background:#fef4e6;color:#92400e}.tag.violet{background:#f1eafe;color:#6d28d9}.tag.teal{background:#e3f6f4;color:#0f766e}.tag.rose{background:#fdecef;color:#be123c}.tag.indigo{background:#eceefe;color:#4338ca}.tag.orange{background:#fff0e5;color:#c2410c}.tag.gray{background:#f1f2f4;color:#4b5563}.tags{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.note{padding:10px 12px;border-radius:8px;margin:0 0 12px}.note.err{background:var(--danger-soft);color:var(--danger)}.note.ok{background:var(--ok-soft);color:var(--ok)}.note.warn{background:var(--warn-soft);color:var(--warn)}.note.draft-note{background:var(--warn-soft);color:var(--fg);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.draft-actions{display:flex;gap:8px}.btn.small{padding:4px 10px;font-size:13px;min-height:0}.app{display:flex;height:100vh;height:100dvh}.sidebar{width:248px;flex:none;display:flex;flex-direction:column;background:var(--side);color:var(--side-fg)}.side-brand{display:flex;align-items:center;gap:10px;padding:18px 16px;color:#fff;font-size:15px}.side-brand .icon-btn{margin-left:auto;color:var(--side-fg)}.logo{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent);color:#fff;font-weight:700}.sidebar nav{flex:1;overflow-y:auto;padding:4px 10px}.nav-group{margin-bottom:8px}.nav-title,.nav-subtitle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;border:0;background:none;cursor:pointer;padding:6px 10px;font:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;border-radius:6px}.nav-title:hover,.nav-subtitle:hover{background:#94a3b81f}.nav-title .icon,.nav-subtitle .icon{width:14px;height:14px}.nav-subtitle{text-transform:none;letter-spacing:0;font-size:12.5px;padding-left:14px}.nav-sub{margin:2px 0 4px}.nav-sub .nav-link{padding-left:22px}.nav-link{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--side-fg);text-align:left}.nav-link:hover{background:var(--side-hover);color:#fff}.nav-link.active{background:var(--accent);color:#fff}.side-foot{padding:10px;border-top:1px solid #1e293b}.side-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:#fff;min-width:0}.side-user:hover,.side-user.active{background:var(--side-hover)}.side-user .who{display:flex;flex-direction:column;min-width:0}.side-user small{color:#94a3b8;overflow-wrap:anywhere}.avatar{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:#334155;color:#fff;font-weight:600}.avatar.lg{width:48px;height:48px;font-size:18px;background:var(--accent)}.scrim{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{align-items:center;gap:8px;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--line)}.mobile-only{display:none!important}.page{flex:1;min-height:0;display:flex;flex-direction:column;padding:24px 28px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-title p{margin:4px 0 0}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.search{position:relative;margin:0;flex:1;max-width:420px;min-width:200px}.search .icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted)}.search input[type=search]{padding-left:34px;margin:0}.empty{margin:auto;text-align:center;max-width:420px}.empty p{margin-top:8px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.panel.narrow{max-width:440px}.profile{display:flex;gap:12px;align-items:center;margin-bottom:8px}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:18px 0 8px;font-weight:600}.row-between{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.table{flex:1;min-height:240px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;position:relative}.vlist{flex:1;min-height:160px;overflow:auto;contain:strict}.vlist:not(.wide){overflow-x:hidden}.vinner{min-height:100%}.vhead{position:sticky;top:0;z-index:2}.vrow{position:absolute;left:0;right:0;top:0;will-change:transform}.vrow>.trow{height:auto;min-height:var(--rh);padding-top:8px;padding-bottom:8px}.vrow>.bulk-row{min-height:var(--rh)}.trow{display:flex;align-items:center;gap:14px;padding:0 16px;height:100%;border-bottom:1px solid var(--line-2)}.trow>span{min-width:0;overflow-wrap:break-word}.trow.clickable{cursor:pointer}.trow.clickable:hover{background:#f8fafc}.thead{min-height:40px;padding-top:8px;padding-bottom:8px;flex:none;background:#f9fafb;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.trow .c-grow,.trow .c-code,.trow .c-wide,.trow .c-date{display:flex;flex-direction:column;justify-content:center;gap:2px}.trow .c-wide{align-items:flex-start}.c-grow{flex:1}.c-code{width:180px;flex:none}.c-wide{flex:1.2}.c-mid{flex:1}.c-files{width:96px;flex:none}.c-date{width:170px;flex:none}.c-act{width:96px;flex:none;display:flex;justify-content:flex-end}.c-num{width:110px;flex:none}.c-roles{width:30%;flex:none}.c-status{width:90px;flex:none}.c-who,.c-what{width:240px;flex:none}.thead .c-grow,.thead .c-code,.thead .c-wide,.thead .c-date{display:block}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.02em}.row-actions{display:inline-flex;gap:2px}.list-note{padding:16px;text-align:center;position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,var(--card) 40%)}.card{min-height:calc(var(--rh, 0px) - 10px);margin:5px 12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;overflow-wrap:break-word;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.clickable{cursor:pointer}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.kv{display:grid;grid-template-columns:max-content 1fr;gap:2px 10px;margin:0;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:break-word}.modal{width:min(560px,94vw);max-height:92vh;border:0;border-radius:14px;padding:0;box-shadow:var(--shadow-lg);color:var(--fg)}.modal[open]{display:flex;flex-direction:column}.modal.wide{width:min(980px,96vw)}.modal::backdrop{background:#0f172a73}.modal>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);flex:none}.modal>form{display:flex;flex-direction:column;min-height:0;flex:1}.modal-body{padding:18px 20px;overflow-y:auto;flex:1;min-height:0}.modal-body>p:first-child{margin-top:0}.modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:#fafbfc;flex:none}.modal-foot .grow-right{margin-right:auto}.roles-pick{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.col-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 12px;max-height:44vh;overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:8px}.audit-detail pre{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:10px;overflow:auto;max-height:30vh;font-size:12px}.form-section{padding-bottom:6px}.form-section+.form-section{border-top:1px solid var(--line-2);padding-top:4px}.form-section h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:10px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid .span-all{grid-column:1 / -1}.meta{margin:10px 0 0}.file-field{margin-bottom:12px;min-width:0}.file-label{font-weight:500;display:flex;justify-content:space-between;gap:8px;align-items:baseline}.file-label small{color:var(--muted);font-weight:400}.file-box{display:flex;align-items:center;gap:10px;margin-top:4px;padding:8px;border:1px dashed #cfd5df;border-radius:8px;background:#fafbfc;min-height:58px}.file-field.has .file-box{border-style:solid;background:#fff}.file-icon,.thumb{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.thumb{padding:0;border:0;overflow:hidden;background:#eef0f3}.thumb img{width:100%;height:100%;object-fit:cover}.file-meta{flex:1;min-width:0;display:flex;flex-direction:column}.file-name{min-width:0;overflow-wrap:break-word}.file-actions{display:flex;gap:2px}.progress{height:4px;border-radius:4px;background:var(--line);margin-top:6px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);transition:width .2s}.perm-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.perm-table{width:100%;border-collapse:collapse}.perm-table th,.perm-table td{padding:9px 10px;border-bottom:1px solid var(--line-2);text-align:center}.perm-table thead th{background:#f9fafb;font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}.perm-table th[scope=row],.perm-table thead th:first-child{text-align:left}.perm-table th[scope=row]{font-weight:500;white-space:nowrap}.perm-table tr.extra td{text-align:left;padding-top:0}.perm-table tr.extra label{margin:0 0 0 4px;font-size:13px;color:var(--muted)}.perm-table input{vertical-align:middle}.toaster{position:fixed;inset:auto 20px 20px auto;margin:0;padding:0;border:0;background:transparent;overflow:visible;z-index:1000;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 32px))}.toaster[popover]:not(:popover-open){display:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 10px 12px 14px;border-radius:10px;background:#fff;box-shadow:var(--shadow-lg);border-left:4px solid var(--accent);animation:toast-in .18s ease-out}.toast>span{flex:1;padding-top:1px}.toast .icon-btn{width:24px;height:24px}.toast.ok{border-left-color:var(--ok)}.toast.ok>.icon{color:var(--ok)}.toast.err{border-left-color:var(--danger)}.toast.err>.icon{color:var(--danger)}.toast.info>.icon{color:var(--accent)}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}.auth-card{max-width:380px;margin:10vh auto;background:var(--card);padding:28px;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow)}.auth-card h1{margin-bottom:16px}.auth-card form{margin-bottom:14px}.auth-card button{width:100%;padding:10px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:600}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}.tabs>button{padding:9px 16px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--muted);font-weight:600}.tabs>button.on{color:var(--accent);border-bottom-color:var(--accent)}.tabs>button:hover:not(.on){color:var(--fg)}.filter-set{display:contents}.filter-set select{min-width:0;width:auto}.filter-item{width:220px}.date-range{display:inline-flex;align-items:center;gap:6px}.date-range input{width:150px}.btn.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.msel{position:relative}.msel .count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px}.msel-pop{position:absolute;z-index:50;top:calc(100% + 4px);left:0;width:260px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:8px}.msel-list{max-height:260px;overflow-y:auto}.msel-pop .link{align-self:flex-start}.picker{position:relative}.picker>input{margin-top:0}label>.picker{margin-top:4px}.picker .clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:26px;height:26px;font-size:12px}.picker:has(.clear)>input{padding-right:32px}.picker-list{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);min-width:260px;max-height:280px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);font-weight:400}.picker-list li{display:flex;flex-direction:column;padding:7px 10px;border-radius:6px;cursor:pointer}.picker-list li small{color:var(--muted)}.picker-list li.hi,.picker-list li:hover{background:var(--accent-soft)}.picker-list li.muted,.picker-list li.err{cursor:default;background:none}.picker-list li.off{cursor:not-allowed;background:none;color:var(--muted)}.trow.inv .c-code{width:130px}.trow.inv .c-num{width:100px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:2px}.c-stat{width:96px;flex:none}.trow.selected,.trow.selected:hover{background:var(--accent-soft)}.card.selected{border-color:var(--accent)}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label>select{display:block;width:100%;min-width:0}.trow .tags{flex-wrap:wrap}.form-grid .span-2{grid-column:span 2}.field{margin-bottom:12px;font-weight:500}.field>.seg{margin-top:4px;display:flex;width:max-content}.req{color:var(--danger);font-style:normal}.lines{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.line{display:grid;grid-template-columns:150px minmax(0,2.4fr) 100px 84px minmax(0,1fr) minmax(0,1.4fr) 36px;gap:8px;align-items:start}.line>label{margin:0;font-weight:400;min-width:0}.line>label>input,.line>label>select{margin-top:0}.line>label>small{display:block;margin-top:3px;overflow-wrap:break-word}.line select{width:100%;min-width:0}.form-section .row-between{gap:12px}.form-section .row-between h3{white-space:nowrap}.line-head{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.l-act{padding-top:3px}input[aria-invalid=true]{border-color:var(--danger)}.drawer-backdrop{position:fixed;inset:0;z-index:400;background:transparent}.drawer{position:fixed;z-index:401;top:0;right:0;bottom:0;width:min(760px,100vw);display:flex;flex-direction:column;background:var(--card);box-shadow:var(--shadow-lg);animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.drawer-head h2{margin-bottom:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.drawer-body{flex:1;overflow-y:auto;padding:16px 20px}.drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:#fafbfc}.drawer-sub{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:18px 0 8px}.kv.wide{gap:6px 14px}.kv.wide dd,.kv dd.wrap{white-space:normal;overflow-wrap:anywhere}.wrap{white-space:pre-wrap;overflow-wrap:anywhere}.entry-lines{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.entry-lines li{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:8px}.entry-lines .row-between{margin:0;gap:10px}.entry-lines .qty{font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:760px){.mobile-only{display:flex!important}.sidebar{position:fixed;inset:0 auto 0 0;z-index:900;transform:translate(-100%);transition:transform .2s ease;width:82vw;max-width:300px}.sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.scrim{display:block;position:fixed;inset:0;z-index:899;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .2s}.scrim.show{opacity:1;pointer-events:auto}.topbar{position:sticky;top:0;z-index:10}.page{padding:14px 0 0}.page-head,.filters,.page>.note{padding:0 14px}.page-head{flex-direction:column;align-items:stretch;gap:10px}.page-title h1{display:none}.page-title p{margin:0}.page-actions .btn{flex:1;justify-content:center}.search{max-width:none}.table{border:0;border-radius:0;box-shadow:none;background:transparent}.list-note{background:linear-gradient(transparent,var(--bg) 40%)}.panel{margin:0 14px}.modal,.modal.wide{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.form-grid,.roles-pick{grid-template-columns:1fr}.toaster{inset:auto 16px 16px;width:auto}.perm-wrap{border:0}.perm-table thead{display:none}.perm-table tr{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 4px;border-bottom:1px solid var(--line-2)}.perm-table tr.extra{border-top:0;padding-top:0}.perm-table th,.perm-table td{border:0;padding:0}.perm-table th[scope=row]{width:100%}.perm-table td[data-label]{display:inline-flex;align-items:center;gap:6px;font-size:13px}.perm-table td[data-label]:after{content:attr(data-label);color:var(--muted)}.perm-table td[data-label]:has(>span[aria-hidden]){display:none}.tabs{margin:0 14px 12px}.filter-set{display:flex;flex-wrap:wrap;gap:8px;width:100%}.filter-set>*{flex:1 1 45%}.filter-set .btn{width:100%;justify-content:space-between}.filter-item,.date-range{width:100%;flex-basis:100%}.date-range input{flex:1;width:auto}.msel-pop{width:min(300px,90vw)}.form-grid.three{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.line-head{display:none!important}.line{grid-template-columns:1fr 1fr;padding:10px;border:1px solid var(--line);border-radius:8px}.line>.l-item,.line>.l-note{grid-column:1 / -1}.line>label>.mobile-only{display:block!important;font-size:12px;color:var(--muted);margin-bottom:2px}.l-act{grid-column:1 / -1;display:flex;justify-content:flex-end;padding:0}.drawer{width:100vw}}.tabs.scroll{overflow-x:auto;scrollbar-width:thin}.tabs.scroll>button{white-space:nowrap;flex:none}.trow.md .c-grow{flex:2}.bulk-all input,.bulk-all select{font-size:14px;font-weight:400}.trow.md .c-sel,.c-sel{width:28px;flex:none;display:flex;align-items:center}.trow.md .c-n{width:110px;flex:none;text-align:right;font-variant-numeric:tabular-nums}.trow.md .c-date{width:160px;font-size:13px;color:var(--muted)}.trow.picked{background:#f5f8ff}.card.picked{border-color:#a9bdf1}.card-title{display:flex;align-items:center;gap:8px;min-width:0}.drawer-head h2.plain{font-family:inherit}.selbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;margin-bottom:10px;border-radius:10px;background:var(--accent-soft);border:1px solid #c9d6f7}.history li{gap:2px}.history .row-between{margin:0}.bulk-body{display:flex;flex-direction:column}.bulk-scroll{overflow-x:auto;display:flex;flex-direction:column;height:min(62vh,640px);border:1px solid var(--line);border-radius:8px}.bulk-row{display:flex;gap:10px;align-items:center;padding:6px 10px;height:100%;border-bottom:1px solid var(--line-2)}.bulk-head,.bulk-all{flex:none;height:auto;background:#f9fafb;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.bulk-all{background:var(--accent-soft);text-transform:none;letter-spacing:0;align-items:flex-start}.bulk-all .bulk-cell{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.bulk-name{width:200px;flex:none}.bulk-cell{width:190px;flex:none;min-width:0}.bulk-cell select,.bulk-cell input,.bulk-cell textarea{width:100%;min-width:0;padding:6px 8px}.bulk-cell textarea{min-height:34px;height:34px;resize:none}.bulk-cell.changed select,.bulk-cell.changed input,.bulk-cell.changed textarea{background:#fffbea;border-color:#f0c36d}.bulk-list{flex:1;min-height:0;display:flex;flex-direction:column}@media(max-width:760px){.selbar{margin:0 14px 10px}.selbar .btn{flex:1 1 45%;justify-content:center}.bulk-scroll{height:calc(100dvh - 190px)}.bulk-name{width:120px}.bulk-cell{width:170px}.bulk-count{display:none}}.line.bom{grid-template-columns:150px minmax(0,2.4fr) 100px 64px 84px minmax(0,1.4fr) 36px}.line.plan{grid-template-columns:150px minmax(0,2.4fr) 100px 64px 84px minmax(0,1.4fr) 72px}.line.plan .l-act{display:flex;gap:2px}.line.colour{grid-template-columns:minmax(0,1fr) minmax(0,2fr) 60px 36px}.line.colour.single{grid-template-columns:minmax(0,1fr)}.line.colour .l-active{justify-content:center;margin:0;padding-top:8px}.line.ret{grid-template-columns:minmax(0,1fr) 110px;align-items:center}.plain-list,.check-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.check-list{margin-bottom:12px}.sub-title{font-size:13px;font-weight:600;margin:12px 0 8px}.status-line{margin-top:10px}.trow .c-num.wide,.c-num.wide{width:140px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:2px}label.check.inline{margin:0;white-space:nowrap}.page-head .page-actions{flex-shrink:0}.trow.plan .c-grow{flex:2}.c-day{width:110px;flex:none}.qty.ok{color:var(--ok)}@media(max-width:760px){.line.bom,.line.plan,.line.colour{grid-template-columns:1fr 1fr}.line.colour>label:first-child{grid-column:1 / -1}.line.colour .l-active{justify-content:flex-start;padding:0}.line.ret{grid-template-columns:1fr 100px}.modal-foot{flex-wrap:wrap}}.modal.xwide{width:min(1240px,98vw)}.line.ind{grid-template-columns:140px minmax(0,2.4fr) 110px 70px 140px minmax(0,1.4fr) 36px}.line.po{grid-template-columns:130px minmax(0,2.2fr) minmax(0,1.5fr) 100px 64px 84px 100px 72px 110px 36px}.line.grn{grid-template-columns:140px minmax(0,2.4fr) 110px 64px 84px minmax(0,1fr) minmax(0,1.4fr) 36px}.line.grn.grn-po{grid-template-columns:minmax(0,2.4fr) 110px 64px 84px minmax(0,1fr) minmax(0,1.4fr) 36px}.qty-unit{display:flex;align-items:center;gap:6px}.qty-unit>input{flex:1;min-width:0;margin-top:0}.unit{flex:none;font-size:12px;color:var(--muted);min-width:24px}.l-alias{display:flex;flex-direction:column;gap:4px}.l-alias>input{margin-top:0}.l-rate input,.l-gst input{text-align:right}.l-amt{display:flex;flex-direction:column;align-items:flex-end;padding-top:8px;font-variant-numeric:tabular-nums}.l-amt small{font-size:11px}.line-head .l-amt,.line.po.line-head>span:nth-child(9){text-align:right}.l-unit input,.l-av input{background:var(--bg);color:var(--fg)}.l-av input.num{text-align:right;font-variant-numeric:tabular-nums}.l-av input.short{color:var(--danger);font-weight:600}.po-from{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:10px}.po-from>label{flex:1;min-width:260px;max-width:480px;margin:0}.totals{display:grid;grid-template-columns:auto 140px;gap:4px 16px;justify-content:end;margin:12px 0 0;font-variant-numeric:tabular-nums}.totals dt{color:var(--muted);text-align:right}.totals dd{margin:0;text-align:right}.drawer-body>.row-actions{display:flex;gap:8px;margin-bottom:12px}.filter-picker{display:inline-block;width:220px}.page-note{margin:0 0 12px}.file-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.trow.pur .c-code{width:170px}.trow.pur .c-stat{width:110px}@media(max-width:760px){.line.ind,.line.po,.line.grn,.line.grn.grn-po{grid-template-columns:1fr 1fr}.line.po>.l-alias{grid-column:1 / -1}.l-amt{align-items:flex-start;padding-top:0}.totals{grid-template-columns:auto 1fr}.filter-picker{width:100%}.po-from>label{min-width:0;max-width:none}}.list-note.top{top:44px;bottom:auto;padding:40px 16px;background:none}.btn,.icon-btn,.nav-link,.seg>button,.tabs button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn{transition:background-color .12s,border-color .12s,transform .06s}.btn:active:not(:disabled),.icon-btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible,.icon-btn:focus-visible,.nav-link:focus-visible,.link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal[open]{animation:modal-in .16s ease-out}.modal[open]::backdrop{animation:fade-in .16s ease-out}@keyframes modal-in{0%{transform:translateY(8px) scale(.985);opacity:0}}@keyframes fade-in{0%{opacity:0}}@media(max-width:760px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}.icon-btn{width:40px;height:40px}.modal[open]{animation-name:sheet-in}@keyframes sheet-in{0%{transform:translateY(24px);opacity:0}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after,::backdrop{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sub-tabs{margin:-4px 0 12px}.trow.so .c-code{width:150px}.trow.so .c-stat{width:140px}.trow.so .c-sel{width:28px}.card{position:relative}.card-sel{position:absolute;top:10px;right:10px}.card-sel+.card-head{padding-right:30px}.line.so{grid-template-columns:140px minmax(0,2.2fr) 64px 84px 90px 110px 72px 120px minmax(0,1.1fr) 36px}.line.dsp{grid-template-columns:minmax(0,2.4fr) 80px 80px 110px minmax(0,1.3fr);align-items:center}.line.dsp.done{opacity:.55}.line.dc{grid-template-columns:140px minmax(0,2fr) minmax(0,1.4fr) 64px 84px 90px 110px 110px 36px}.line.dcr{grid-template-columns:minmax(0,2.4fr) 90px 80px 110px 110px;align-items:center}.line.dcr.done{opacity:.55}.line.dcr .l-item,.line.dsp .l-item,.line.inv-add .l-item{display:flex;flex-direction:column;gap:2px;min-width:0}.line .l-num{text-align:right;font-variant-numeric:tabular-nums}.line.inv-add{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 140px 120px minmax(0,1fr) 36px;align-items:center}.drawer.wide{width:min(960px,100vw)}.scan-box{display:flex;flex-direction:column;gap:8px;padding:12px;margin:12px 0;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft)}.scan-box .row{display:flex;gap:8px}.scan-box .row input{flex:1;min-width:0;margin-top:0}.serials{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin-top:4px}.chip{display:inline-flex;align-items:center;gap:2px;padding:1px 4px 1px 8px;border:1px solid var(--line);border-radius:99px;font-size:12px;font-family:ui-monospace,monospace;background:#fff}.chip-x{border:0;background:none;padding:2px;display:inline-flex;color:var(--muted);cursor:pointer}.chip-x svg{width:12px;height:12px}.warn-text{color:#b45309}.file-pick-row{display:flex;flex-direction:column;gap:6px;margin:10px 0}.file-pick-row .file-label{display:flex;flex-direction:column;font-weight:500}.modal-foot .grow{flex:1}@media(max-width:760px){.line.so,.line.dsp,.line.inv-add,.line.dc,.line.dcr{grid-template-columns:1fr 1fr}.line.so>.l-item,.line.dsp>.l-item,.line.inv-add>.l-item,.line.so>.l-note,.line.dsp>.l-note,.line.dc>.l-item,.line.dc>.l-alias,.line.dcr>.l-item{grid-column:1 / -1}.line .l-num{text-align:left}.sub-tabs .seg{display:flex}.sub-tabs .seg>button{flex:1}}.nav-parent .nav-chev{margin-left:auto;display:inline-flex;color:#64748b;transition:transform .15s}.nav-parent[aria-expanded=true] .nav-chev{transform:rotate(180deg)}.nav-parent.inside{color:#fff}.nav-sub{display:flex;flex-direction:column;gap:1px;margin:2px 0 0 18px;padding-left:8px;border-left:1px solid #1e293b}.nav-sub .nav-link{padding:7px 10px;font-size:13.5px}.nav-sub .nav-link .icon{width:16px;height:16px}.page.tr-scroll{overflow-y:auto}.page.tr-scroll>*{flex-shrink:0}.tr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.tr-stats.compact{margin-bottom:12px}.tr-stat{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.tr-stats.compact .tr-stat{padding:10px 14px}.tr-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.tr-stat b{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tr-stats.compact .tr-stat b{font-size:18px}.tr-stat b.warn{color:var(--warn)}.tr-stat b.err{color:var(--danger)}.tr-todo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tr-todo-item{display:flex;align-items:center;gap:10px;padding:14px 16px;color:var(--fg)}.tr-todo-item .icon{color:var(--accent)}.tr-todo-item:hover,.tr-tile-link:hover{border-color:#c9d6f7;background:#fbfcff}.tr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.tr-tile-link{display:flex;gap:12px;align-items:flex-start;padding:16px;color:var(--fg)}.tr-tile-link>span:last-child{display:flex;flex-direction:column;gap:4px;min-width:0}.tr-tile-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.tr-empty{padding:48px 20px;text-align:center}.tr-right{text-align:right;justify-content:flex-end;align-items:flex-end!important}.trow.tr .c-num{display:flex;flex-direction:column;justify-content:center;gap:2px}.trow.tr .c-mid,.trow.tr .c-stat,.trow.tr .c-what{display:flex;flex-direction:column;justify-content:center;gap:2px;align-items:flex-start}.trow.tr .c-stat.tags{flex-direction:row;flex-wrap:wrap;align-items:center}.trow.tr .c-date,.trow.tr .c-grow{align-items:flex-start}.tr-nowrap{white-space:nowrap}.tr-seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.tr-seg>button{white-space:nowrap;flex:none}.tr-c-face{width:96px;flex:none;display:flex;gap:6px}.tr-c-photo{width:64px;flex:none}.tr-inline{display:inline-flex;align-items:center;gap:4px}.tr-inline-field{display:flex;align-items:center;gap:8px;margin:0}.tr-inline-field>span{color:var(--muted);font-weight:500}.tr-inline-field select{min-width:220px}.tr-inline-field input{width:170px;margin:0}.tr-thumb{display:inline-block;aspect-ratio:3 / 4;padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--line-2);cursor:zoom-in;flex:none}.tr-thumb.empty{cursor:default;background:repeating-linear-gradient(45deg,#f3f4f6 0 6px,#e5e7eb 6px 12px)}.tr-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tr-c-photo .tr-thumb{aspect-ratio:4 / 3}.tr-lightbox{position:fixed;inset:0;z-index:950;display:grid;place-items:center;padding:24px;background:#0f172ab3;cursor:zoom-out}.tr-lightbox img{max-width:min(520px,92vw);max-height:88vh;border-radius:10px;box-shadow:var(--shadow-lg)}.tr-faces{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}.tr-faces figure{margin:0;display:flex;flex-direction:column;gap:6px}.tr-faces img,.tr-faces .tr-thumb{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.tr-faces figcaption{font-size:12px;color:var(--muted)}.tr-photo{width:100%;border-radius:8px;border:1px solid var(--line);margin-bottom:12px;display:block}.tr-receipt{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px}.tr-split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}.tr-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto}.tr-person{width:100%;display:flex;flex-direction:column;gap:4px;padding:12px;text-align:left;color:var(--fg);font:inherit;cursor:pointer}.tr-person:hover{background:#fbfcff}.tr-person.on{border-color:var(--accent);background:var(--accent-soft)}.tr-person .row-between{margin:0;gap:8px}.tr-dot-name{display:inline-flex;align-items:center;gap:8px}.tr-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.tr-map{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#e8ecef;box-shadow:var(--shadow);touch-action:none;cursor:grab;user-select:none}.tr-map:active{cursor:grabbing}.tr-tile{position:absolute;left:0;top:0;width:256px;height:256px;pointer-events:none}.tr-tile.off{visibility:hidden}.tr-overlay{position:absolute;left:0;top:0;pointer-events:none}.tr-marker{position:absolute;left:-13px;top:-13px;width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #00000059;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0;cursor:pointer}.tr-marker.on{outline:3px solid rgb(36 86 214 / .45);z-index:2}.tr-pop{position:absolute;left:0;top:0;z-index:3;margin:-18px 0 0 18px;display:flex;flex-direction:column;gap:1px;max-width:240px;padding:8px 10px;background:#fff;border-radius:8px;box-shadow:var(--shadow-lg);pointer-events:none}.tr-zoom{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:var(--shadow)}.tr-attr{position:absolute;right:0;bottom:0;padding:1px 6px;font-size:11px;background:#fffc;color:var(--muted)}.tr-section{margin-bottom:16px}.tr-section h2,.tr-new-run h2,.tr-run h2{margin-bottom:12px}.tr-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.tr-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tr-bars li{display:grid;grid-template-columns:140px minmax(0,1fr) 90px;align-items:center;gap:10px;font-size:13px}.tr-bar-label{overflow-wrap:anywhere;color:var(--muted)}.tr-bar-track{height:10px;border-radius:5px;background:var(--line-2);overflow:hidden}.tr-bar{display:block;height:100%;border-radius:5px;background:var(--accent);min-width:2px}.tr-bar-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.tr-cols{display:flex;align-items:flex-end;gap:10px;height:180px;padding-top:8px}.tr-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:0;font-variant-numeric:tabular-nums}.tr-col-bar{width:100%;max-width:44px;border-radius:5px 5px 0 0;background:var(--accent);min-height:2px}.tr-col small:last-child{white-space:nowrap}.tr-table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}.tr-table{width:100%;border-collapse:collapse}.tr-table th,.tr-table td{padding:10px 14px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:middle}.tr-table thead th{background:#f9fafb;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.tr-table tbody tr:last-child td{border-bottom:0}.tr-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tr-table tr.clickable{cursor:pointer}.tr-table tr.clickable:hover{background:#f8fafc}.tr-table tr.selected,.tr-table tr.selected:hover{background:var(--accent-soft)}.drawer-body .tr-table{border:1px solid var(--line);border-radius:8px;margin-bottom:10px}.tr-new-run{margin-bottom:8px}.tr-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.tr-row label{margin:0}.tr-row input{width:170px}.tr-run{margin-bottom:16px}.tr-run-head{align-items:flex-start;gap:12px;margin:0 0 14px}.tr-run .tr-table-wrap{box-shadow:none;margin-bottom:0}.tr-warnings{margin:0;padding-left:18px}.tr-how{grid-template-columns:1fr auto;justify-content:stretch;margin:0}.tr-how dt{text-align:left}.tr-policy{display:flex;flex-direction:column;gap:8px}.tr-policy .row-between{margin:0}.tr-feed{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}.tr-post{display:flex;flex-direction:column;gap:4px;max-width:88%;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:#fff}.tr-post.remark{max-width:none;background:#fffbea;border-color:#f3e1a6}.tr-post.me{align-self:flex-end;background:var(--accent-soft);border-color:#c9d6f7}.tr-post.them{align-self:flex-start;background:#f8fafc}.tr-post audio{width:100%;max-width:280px;height:34px}.tr-composer{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.tr-composer textarea{min-height:64px}.tr-composer .btn{align-self:flex-end}.tr-follow-form>textarea,.tr-follow-form>input{width:100%}.tr-follow-form .tr-inline{flex-wrap:wrap;gap:6px}.tr-follow-form .tr-inline .btn{align-self:auto}.tr-follow-form>.tr-inline:last-child{align-self:flex-end}@media(max-width:1100px){.tr-stats,.tr-todo{grid-template-columns:repeat(2,minmax(0,1fr))}.tr-charts,.tr-split{grid-template-columns:1fr}.tr-people{max-height:none}}@media(max-width:760px){.page.tr-scroll{padding-bottom:16px}.tr-stats,.tr-todo,.tr-grid,.tr-charts,.tr-split,.tr-table-wrap,.tr-run,.tr-new-run,.tr-section,.section-title,.page-note{margin-left:14px;margin-right:14px}.tr-stats .tr-stat,.tr-todo .panel,.tr-grid .panel,.tr-charts .panel,.tr-split .panel{margin:0}.tr-run,.tr-new-run,.tr-section,.tr-empty{margin:0 14px 12px}.tr-bars li{grid-template-columns:90px minmax(0,1fr) 70px}.tr-row input,.tr-inline-field select,.tr-inline-field input{width:100%;min-width:0}.tr-inline-field{flex:1 1 100%}.tr-faces{grid-template-columns:1fr 1fr}}.tr-date-range-picker,.tr-custom-dates{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tr-custom-dates input{width:150px}.tr-live-meta{display:flex;flex-wrap:wrap;gap:4px 14px}.tr-live-meta span{display:inline-flex;align-items:center;gap:4px}.tr-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--muted)}.tr-empty-state .icon{opacity:.45}.tr-empty-state p{margin:0}.tr-roster{position:sticky;top:0;display:flex;flex-direction:column;gap:10px;min-width:0}.tr-roster .search{max-width:none;min-width:0;flex:none}.tr-roster .tr-people{max-height:calc(100vh - 290px);padding:1px}.tr-dossier{display:flex;flex-direction:column;gap:12px;min-width:0}.tr-dossier .panel{padding:16px}.tr-dossier .tr-stats{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));margin:0}.tr-dossier .tr-head{margin:0 0 8px;gap:12px;align-items:flex-start}.tr-dossier .tr-title{margin-bottom:12px}.tr-dossier .tr-inline-field select{min-width:150px}.tr-dossier .tr-table-wrap{margin:12px 0 0;box-shadow:none;max-height:280px;overflow-y:auto}.tr-dossier .tr-warnings{margin-top:10px}.tr-duo{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px;align-items:start}.tr-side{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto;min-width:0}@media(max-width:1180px){.tr-duo{grid-template-columns:1fr}.tr-side{max-height:none}}@media(max-width:1100px){.tr-roster{position:static}.tr-roster .tr-people{flex-direction:row;max-height:none;overflow-x:auto;padding-bottom:4px}.tr-roster .tr-people>li{flex:0 0 230px}}.tr-side .row-between>:last-child{flex:none;white-space:nowrap}.tr-dossier .tr-head h2{white-space:nowrap}.tr-dossier .tr-head .tr-inline-field{flex:0 1 auto;min-width:0}.entry-lines .tr-visit-row{padding:0}.tr-visit-row.on{border-color:var(--accent);background:var(--accent-soft)}.tr-visit{display:flex;flex-direction:column;gap:4px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:none;color:inherit;text-align:left}.tr-visit:hover{background:#fbfcff}.tr-visit-row.on .tr-visit:hover{background:none}.tr-sub{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--muted)}.tr-head .tr-sub{margin:0}.tr-day{display:flex;flex-direction:column;gap:6px}.tr-day-label{margin:6px 0 0;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.tr-export{display:flex;flex-direction:column;gap:12px;align-items:stretch}.tr-export label{margin:0}.tr-export>label{display:flex;flex-direction:column;gap:4px}.tr-export .tr-seg{align-self:flex-start}.tr-export p{margin:0}.tr-dossier .panel:empty{display:none}.quick-add{display:inline-flex;align-items:center;gap:2px;margin-left:8px;padding:0 4px;border:0;background:none;color:var(--accent);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.quick-add:hover:not(:disabled){text-decoration:underline}.quick-add:disabled{opacity:.5;cursor:default}.quick-add svg{width:12px;height:12px}.trow.so .c-mid{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.clip{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stage-chips{display:flex;flex-wrap:wrap;gap:6px}.stage-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:99px;background:var(--card);color:var(--fg);font-size:13px;cursor:pointer}.stage-chip.on{border-color:var(--accent);background:var(--accent);color:#fff}.stage-chip .late{font-style:normal;font-size:11px;padding:0 6px;border-radius:99px;background:#fee2e2;color:#b91c1c}.follow-form{padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:var(--line-2)}.follow-form label{display:block;margin-bottom:10px}.follow-form textarea,.follow-form input{width:100%}.follow-form>p:first-child{margin-top:0}.icon-btn.up svg{transform:rotate(180deg)}.icon-btn.left svg{transform:rotate(90deg)}.trow.so .c-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.pl-cols,.pl-types{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.pl-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) 90px 150px minmax(250px,2fr) 64px;gap:8px;align-items:center}.pl-col select,.pl-col input:not([type=checkbox]),.pl-type select,.pl-type input:not([type=checkbox]){width:100%;min-width:0}.pl-col>span:first-child{display:flex;flex-direction:column}.pl-type{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1.5fr) 80px 72px;gap:8px;align-items:center}.pl-col-head{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.pl-digits{display:flex;flex-wrap:wrap;gap:2px}.pl-digits label{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:26px;border:1px solid var(--line);border-radius:6px;font-size:12px;cursor:pointer;font-weight:500}.pl-digits label.on{background:var(--accent);border-color:var(--accent);color:#fff}.pl-digits input{position:absolute;opacity:0;pointer-events:none}.pl-add{width:auto}.pl-sub{font-size:12px;color:var(--muted);margin:12px 0 6px;text-transform:uppercase;letter-spacing:.04em}.pl-tabs{flex-wrap:wrap}.pl-sec-tools{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding-bottom:12px}.pl-sec-cols{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin-bottom:8px}.pl-sec-col{display:flex;flex-direction:column;gap:2px;width:150px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}.pl-sec-col .row-between{margin:0}.pl-sec-col input{padding:4px 6px;font-size:12px}.pl-grid-wrap{overflow:auto;max-height:60vh;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}.pl-grid{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.pl-grid th{position:sticky;top:0;z-index:1;background:#373f6b;color:#fff;font-weight:600;text-align:left;padding:6px;white-space:nowrap}.pl-grid td{border-top:1px solid var(--line-2);padding:4px;vertical-align:top}.pl-grid input,.pl-grid textarea{padding:4px 6px;font-size:12px;min-width:0;width:100%}.pl-grid td:nth-child(2){min-width:180px}.pl-grid td:nth-child(3){min-width:110px}.pl-grid td.pl-fg{min-width:230px}.pl-grid td:nth-child(5),.pl-grid td:nth-child(6),.pl-grid td:nth-child(7),.pl-grid td:nth-child(8){min-width:90px}.pl-grid td:nth-child(9){min-width:180px}.pl-fg .chip{margin:0 4px 4px 0;font-family:inherit}.pl-price{min-width:104px}.pl-price>span{display:flex;gap:2px;align-items:center}.pl-price>span.manual input{border-color:#f59e0b;background:#fffbeb}.pl-price .pl-prev{margin-top:2px;color:var(--muted);font-size:11px}.pl-row-act{white-space:nowrap}.pl-grid.view td{vertical-align:middle}.pl-grid .num,.pl-grid th.num{text-align:right}.pl-logo{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.pl-logo-box{height:70px;border:1px dashed var(--line);border-radius:8px;display:grid;place-items:center;padding:6px;background:#fff}.pl-logo-box img{display:block;max-height:58px;max-width:100%;object-fit:contain}.pl-logo .file-label{flex-direction:column;gap:2px}@media(max-width:760px){.pl-col,.pl-type{grid-template-columns:1fr 1fr}}
