:root{color-scheme:light;--plum-900: #2e1250;--plum-800: #3f1a6b;--plum-700: #522286;--plum-600: #6a32a8;--plum-500: #8452c4;--plum-300: #c7b0e6;--plum-200: #e1d3f3;--plum-100: #f0e9fa;--plum-50: #f8f4fd;--bg: #f6f3fa;--surface: #ffffff;--surface-2:#faf8fd;--ink: #221a35;--ink-2: #4a4260;--muted: #736b88;--line: #e4dcef;--line-2: #d4c8e6;--ok: #0e7f63;--ok-bg: #e4f5ef;--warn: #a86308;--warn-bg: #fcf1df;--bad: #b93127;--bad-bg: #fbe9e7;--info: #2f5fb3;--info-bg: #e8effb;--water: #1f7fa8;--water-bg:#e3f2f8;--font: "IBM Plex Sans Thai", "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif;--fs-xs: 12px;--fs-sm: 13.5px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 21px;--fs-2xl: 27px;--r-panel: 14px;--r-ctl: 8px;--r-pill: 999px;--shadow-pop: 0 10px 30px rgba(46, 18, 80, .14);--focus: 0 0 0 3px rgba(132, 82, 196, .35);--sidebar-w: 248px;--sidebar-w-mini: 64px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-md);line-height:1.6;color:var(--ink);background:var(--bg)}h1,h2,h3,h4{margin:0 0 .4em;line-height:1.3;font-weight:700;color:var(--ink)}h1{font-size:var(--fs-2xl);letter-spacing:-.01em}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg);font-weight:600}h4{font-size:var(--fs-md);font-weight:600}p{margin:0 0 .8em}a{color:var(--plum-700);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--line);margin:20px 0}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-ctl)}::selection{background:var(--plum-200)}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.strong{font-weight:600}.money,.num{font-variant-numeric:tabular-nums;white-space:nowrap}.money.neg,.text-bad{color:var(--bad)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.right{text-align:right}.center{text-align:center}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.stack>*+*{margin-top:12px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hide{display:none!important}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.app.mini{grid-template-columns:var(--sidebar-w-mini) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--surface);border-right:1px solid var(--line);padding:16px 12px 24px;display:flex;flex-direction:column;gap:2px}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 14px;margin-bottom:6px;border-bottom:1px solid var(--line)}.brand-mark{width:34px;height:34px;border-radius:10px;flex:none;background:var(--plum-700);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px}.brand-name{font-weight:700;font-size:16px;line-height:1.2}.brand-sub{font-size:var(--fs-xs);color:var(--muted)}.project-switch{margin:6px 4px 10px}.project-switch label{display:block;font-size:var(--fs-xs);color:var(--muted);margin-bottom:4px}.project-switch select{width:100%}.nav-group{margin-top:2px}.nav-head{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;background:none;cursor:pointer;font:inherit;font-weight:600;font-size:var(--fs-md);color:var(--ink-2);border-radius:var(--r-ctl);text-align:left}.nav-head:hover{background:var(--plum-50);color:var(--ink);text-decoration:none}.nav-head .ico{width:22px;text-align:center;flex:none}.nav-head .caret{margin-left:auto;color:var(--muted);font-size:12px}.nav-group.active>.nav-head{color:var(--plum-800)}.nav-items{display:flex;flex-direction:column;padding:2px 0 6px 32px}.nav-items a{position:relative;display:block;padding:7px 10px;border-radius:var(--r-ctl);color:var(--ink-2);font-size:var(--fs-sm)}.nav-items a:hover{background:var(--plum-50);text-decoration:none}.nav-items a.active,a.nav-head.active{background:var(--plum-100);color:var(--plum-800);font-weight:600}.nav-items a.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--plum-700)}.nav-alert{display:inline-grid;place-items:center;margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--bad);color:#fff;font-size:11px;font-weight:700;line-height:1}.nav-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.nav-collapse{font-size:var(--fs-xs);color:var(--muted)}.app.mini .sidebar{padding:14px 8px;align-items:center}.app.mini .brand-name,.app.mini .brand-sub,.app.mini .nav-items,.app.mini .nav-head .label,.app.mini .nav-head .caret,.app.mini .project-switch{display:none}.app.mini .nav-head{justify-content:center;padding:10px}.main{min-width:0;padding:22px 28px 48px}.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.topbar h1{margin:0}.topbar .spacer{flex:1}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--r-pill);background:var(--plum-100);color:var(--plum-800);font-size:var(--fs-sm);font-weight:600}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:20px 22px;margin-bottom:18px}.panel-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.panel-head h2,.panel-head h3{margin:0}.panel-head .desc{color:var(--muted);font-size:var(--fs-sm);margin:2px 0 0}.panel-head .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.panel.flat{background:var(--surface-2)}.panel.tight{padding:14px 16px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);margin-bottom:18px;overflow:hidden}.kpi{padding:16px 20px;border-left:1px solid var(--line)}.kpi:first-child{border-left:0}.kpi-label{font-size:var(--fs-sm);color:var(--muted)}.kpi-value{font-size:26px;font-weight:700;line-height:1.25;font-variant-numeric:tabular-nums;margin-top:2px}.kpi-note{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.kpi.is-ok .kpi-value{color:var(--ok)}.kpi.is-bad .kpi-value{color:var(--bad)}.kpi.is-main{background:var(--plum-50)}.kpi.is-main .kpi-value{color:var(--plum-800)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;min-height:40px;border-radius:var(--r-ctl);border:1px solid transparent;background:var(--surface);color:var(--ink);font:inherit;font-weight:600;font-size:var(--fs-md);line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}.btn:hover{text-decoration:none}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--plum-700);color:#fff}.btn-primary:hover:not(:disabled){background:var(--plum-800)}.btn-outline{border-color:var(--line-2);color:var(--plum-800)}.btn-outline:hover:not(:disabled){border-color:var(--plum-500);background:var(--plum-50)}.btn-soft{background:var(--plum-100);color:var(--plum-800)}.btn-soft:hover:not(:disabled){background:var(--plum-200)}.btn-ghost{background:none;color:var(--ink-2)}.btn-ghost:hover:not(:disabled){background:var(--plum-50);color:var(--ink)}.btn-ok{background:var(--ok);color:#fff}.btn-ok:hover:not(:disabled){filter:brightness(.92)}.btn-danger{background:var(--surface);border-color:#efc4bf;color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad-bg)}.btn-sm{min-height:32px;padding:5px 11px;font-size:var(--fs-sm)}.btn-lg{min-height:48px;padding:12px 24px;font-size:var(--fs-lg)}.btn-block{width:100%}.link-btn{border:0;background:none;padding:0;font:inherit;color:var(--plum-700);cursor:pointer}.link-btn:hover{text-decoration:underline}.field{display:block;margin-bottom:14px}.field>span,.label{display:block;font-weight:600;font-size:var(--fs-sm);color:var(--ink-2);margin-bottom:5px}.field .req{color:var(--bad);margin-left:2px}.field .opt{font-weight:400;color:var(--muted);margin-left:6px}.field .hint{display:block;font-size:var(--fs-xs);color:var(--muted);margin-top:4px}.field .error{display:block;font-size:var(--fs-xs);color:var(--bad);margin-top:4px}.input,select,textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line-2);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-md)}textarea{min-height:90px;resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23522286' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--plum-500);box-shadow:var(--focus)}.input::placeholder,textarea::placeholder{color:#a9a1bb}.input.is-error{border-color:var(--bad)}.input.money-in{text-align:right;font-variant-numeric:tabular-nums}.input-suffix{position:relative}.input-suffix .input{padding-right:52px}.input-suffix em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted);font-size:var(--fs-sm)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid .span-2{grid-column:1 / -1}.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:6px}.check{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:var(--fs-md)}.check input{width:18px;height:18px;margin-top:3px;accent-color:var(--plum-700)}.switch{position:relative;display:inline-block;width:46px;height:26px;flex:none}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:#cfc6dd;border-radius:var(--r-pill);transition:background-color .15s;cursor:pointer}.switch span:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .15s;box-shadow:0 1px 3px #0003}.switch input:checked+span{background:var(--plum-700)}.switch input:checked+span:before{transform:translate(20px)}.switch input:focus-visible+span{box-shadow:var(--focus)}.picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.pick{position:relative;display:flex;gap:10px;padding:14px;cursor:pointer;border:1.5px solid var(--line);border-radius:12px;background:var(--surface)}.pick:hover{border-color:var(--plum-300)}.pick input{position:absolute;opacity:0}.pick .pick-ico{font-size:22px;line-height:1}.pick strong{display:block;font-size:var(--fs-md)}.pick small{display:block;color:var(--muted);font-size:var(--fs-xs);line-height:1.5;margin-top:2px}.pick.selected,.pick:has(input:checked){border-color:var(--plum-700);background:var(--plum-50);box-shadow:inset 0 0 0 1px var(--plum-700)}.pick:has(input:focus-visible){box-shadow:var(--focus)}.pick.disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar .input,.toolbar select{width:auto;min-width:160px}.toolbar .grow{flex:1;min-width:200px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}.tabs button,.tabs a{border:0;background:none;font:inherit;font-weight:600;font-size:var(--fs-sm);color:var(--muted);padding:10px 14px;cursor:pointer;white-space:nowrap;border-bottom:2.5px solid transparent;margin-bottom:-1px}.tabs .active{color:var(--plum-800);border-bottom-color:var(--plum-700)}.tabs .count{margin-left:6px;padding:0 7px;border-radius:var(--r-pill);background:var(--plum-100);color:var(--plum-800);font-size:11px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th{background:var(--surface-2);color:var(--ink-2);font-weight:600;text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--plum-50)}.table .num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tr.is-cancelled td{color:var(--muted);text-decoration:line-through}.table tr.is-selected td{background:var(--plum-100)}.table tfoot td{font-weight:700;background:var(--surface-2);border-top:1px solid var(--line-2)}.table .actions{text-align:right;white-space:nowrap}.table input.input{min-height:34px;padding:5px 9px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;background:var(--plum-100);color:var(--plum-800)}.badge-paid{background:var(--ok-bg);color:var(--ok)}.badge-partial{background:var(--warn-bg);color:var(--warn)}.badge-open{background:var(--info-bg);color:var(--info)}.badge-overdue{background:var(--bad-bg);color:var(--bad)}.badge-cancel{background:#eeebf2;color:var(--muted)}.badge-water{background:var(--water-bg);color:var(--water)}.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid;font-size:var(--fs-sm);margin-bottom:14px}.alert .alert-ico{flex:none;font-size:16px;line-height:1.4}.alert .alert-body{flex:1}.alert .alert-body b{display:block;font-size:var(--fs-md)}.alert .btn{margin-left:auto;flex:none}.alert-info{background:var(--info-bg);border-color:#c8d7f2;color:#22467f}.alert-ok{background:var(--ok-bg);border-color:#bfe5d7;color:#0b5e4a}.alert-warn{background:var(--warn-bg);border-color:#f0d6a8;color:#7c4a06}.alert-err{background:var(--bad-bg);border-color:#f0c7c2;color:#8f2620}.alert-plum{background:var(--plum-50);border-color:var(--plum-200);color:var(--plum-900)}.flow{margin-bottom:18px}.flow-track{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:4px 2px 8px;counter-reset:flow}.flow-step{position:relative;flex:1 0 150px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:0 6px;border:0;background:none;font:inherit;color:var(--ink-2);cursor:pointer}.flow-step:before{content:"";position:absolute;top:21px;left:calc(-50% + 24px);right:calc(50% + 24px);height:4px;border-radius:4px;background:var(--line)}.flow-step:first-child:before{display:none}.flow-step.done:before,.flow-step.next:before,.flow-step.skipped:before{background:var(--plum-300)}.flow-dot{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:17px;background:var(--surface);border:2.5px solid var(--line-2);color:var(--muted)}.flow-name{font-weight:600;font-size:var(--fs-sm);line-height:1.35;color:var(--ink)}.flow-info{font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.flow-step:hover .flow-dot{border-color:var(--plum-500)}.flow-step.done .flow-dot{background:var(--plum-700);border-color:var(--plum-700);color:#fff}.flow-step.done .flow-info{color:var(--ok)}.flow-step.next .flow-dot{border-color:var(--plum-700);color:var(--plum-700);background:var(--plum-50);box-shadow:0 0 0 5px var(--plum-100)}.flow-step.next .flow-name{color:var(--plum-800)}.flow-step.skipped .flow-dot{border-style:dashed;color:var(--muted)}.flow-step.locked{cursor:not-allowed;opacity:.55}.flow-step.open .flow-dot{outline:3px solid var(--plum-300);outline-offset:3px}.flow-step.open:after{content:"";position:absolute;bottom:-14px;left:50%;transform:translate(-50%);border:9px solid transparent;border-bottom-color:var(--plum-200)}.flow-next{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px;padding:10px 14px;border-radius:10px;background:var(--plum-50);border:1px dashed var(--plum-300);font-size:var(--fs-sm)}.flow-next .btn{margin-left:auto}.flow-done{margin-top:6px;padding:10px 14px;border-radius:10px;background:var(--ok-bg);color:var(--ok);font-size:var(--fs-sm);font-weight:600}.flow-panel{margin-top:12px;border:1.5px solid var(--plum-200);border-radius:var(--r-panel);background:var(--surface);padding:18px 20px}.flow-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.flow-panel-head .step-no{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--plum-700);color:#fff;font-weight:700;font-size:14px}.flow-panel-head h3{margin:0}.flow-panel-head .close{margin-left:auto}.wizard{max-width:920px;margin:0 auto}.wz-hero{background:var(--plum-800);color:#fff;border-radius:18px 18px 0 0;padding:26px 28px 22px;background-image:radial-gradient(circle at 92% -20%,rgba(255,255,255,.14) 0 140px,transparent 141px)}.wz-hero h1{color:#fff;margin:0 0 4px;font-size:24px}.wz-hero p{color:var(--plum-200);margin:0;font-size:var(--fs-sm)}.wz-steps{display:flex;gap:6px;list-style:none;margin:18px 0 0;padding:0;overflow-x:auto}.wz-steps li{flex:1 0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#ffffff14;color:var(--plum-200);font-size:var(--fs-sm);white-space:nowrap}.wz-steps .dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;background:#ffffff24;font-weight:700;font-size:12px}.wz-steps li.done{color:#fff}.wz-steps li.done .dot{background:#fff;color:var(--plum-800)}.wz-steps li.now{background:#fff;color:var(--plum-900);font-weight:600}.wz-steps li.now .dot{background:var(--plum-700);color:#fff}.wz-steps li.skip .dot{background:transparent;border:1.5px dashed rgba(255,255,255,.5)}.wz-steps li.click{cursor:pointer}.wz-body{background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;padding:24px 28px}.wz-hint{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px;font-size:var(--fs-sm);color:var(--ink-2)}.wz-hint b{color:var(--plum-800);white-space:nowrap}.wz-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.wz-nav .tip{color:var(--muted);font-size:var(--fs-xs)}.wz-nav .btn-primary{margin-left:auto;min-width:140px}.wz-done{text-align:center;padding:24px 0 8px}.wz-done .big{font-size:46px;line-height:1;margin-bottom:10px}.meter-row{display:grid;grid-template-columns:90px minmax(0,1fr) 110px 130px 90px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.meter-prev{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}.meter-input{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.meter-units{text-align:right;font-weight:700;color:var(--water);font-variant-numeric:tabular-nums}.meter-units.warn{color:var(--warn)}.empty{text-align:center;padding:36px 20px;color:var(--muted)}.empty .empty-ico{font-size:38px;line-height:1;margin-bottom:10px}.empty h3{color:var(--ink)}.empty .btn{margin-top:8px}.loading{padding:30px;text-align:center;color:var(--muted)}.toast-host{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;flex-direction:column;gap:8px}.toast{background:var(--plum-900);color:#fff;padding:11px 16px;border-radius:10px;box-shadow:var(--shadow-pop);font-size:var(--fs-sm);max-width:360px}.toast.is-err{background:var(--bad)}.portal{max-width:560px;margin:0 auto;padding:18px 14px 40px}.portal-head{background:var(--plum-800);color:#fff;border-radius:16px;padding:18px 20px;margin-bottom:14px}.portal-head h1{color:#fff;font-size:20px;margin:0}.portal-head p{color:var(--plum-200);margin:2px 0 0;font-size:var(--fs-sm)}.portal-due{text-align:center;padding:18px}.portal-due .amount{font-size:34px;font-weight:700;color:var(--plum-800);font-variant-numeric:tabular-nums;line-height:1.2}.portal-due .amount.zero{color:var(--ok)}.qr-box{display:grid;place-items:center;gap:6px;padding:14px;border:1px dashed var(--line-2);border-radius:12px;background:var(--surface-2)}.qr-box img{width:200px;height:200px}.bill-lines{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.bill-lines td{padding:6px 0;border-bottom:1px dashed var(--line)}.bill-lines td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px}.bill-lines tr.total td{border-bottom:0;border-top:1.5px solid var(--ink);font-weight:700;font-size:var(--fs-md);padding-top:8px}.doc{width:210mm;min-height:297mm;margin:0 auto 20px;background:#fff;color:#111;padding:16mm 16mm 14mm;box-shadow:0 2px 14px #2e12501f;font-size:13px;line-height:1.55}.doc-head{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:2px solid var(--plum-700)}.doc-org h2{font-size:17px;margin:0;color:#111}.doc-org p{margin:0;font-size:12px;color:#444}.doc-title{text-align:right}.doc-title h1{font-size:22px;margin:0;color:var(--plum-800)}.doc-title .copy{font-size:11px;color:#555}.doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;margin:12px 0;font-size:12.5px}.doc-meta dt{color:#555;float:left;min-width:92px}.doc-meta dd{margin:0 0 2px;font-weight:600}.doc-table{width:100%;border-collapse:collapse;margin:10px 0}.doc-table th{background:var(--plum-50);border:1px solid #cfc4de;padding:6px 8px;font-size:12px;text-align:left}.doc-table td{border:1px solid #ddd5e8;padding:6px 8px;vertical-align:top}.doc-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.doc-table tfoot td{font-weight:700;background:#faf8fd}.doc-words{font-size:12px;margin-top:4px}.doc-pay{display:flex;gap:14px;align-items:center;margin-top:12px;padding:10px;border:1px dashed #c9bddb;border-radius:8px;font-size:12px}.doc-pay img{width:110px;height:110px}.doc-sign{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:36px;text-align:center;font-size:12px}.doc-sign .line{border-top:1px dotted #555;margin:34px 20px 4px}.doc-stamp{display:inline-block;border:2.5px solid var(--ok);color:var(--ok);padding:4px 14px;border-radius:6px;font-weight:700;transform:rotate(-6deg)}.doc-stamp.void{border-color:var(--bad);color:var(--bad)}.print-bar{display:flex;gap:10px;justify-content:center;padding:12px;position:sticky;top:0;background:var(--bg);z-index:5}@media print{@page{size:A4;margin:0}body{background:#fff}.print-bar,.sidebar,.topbar,.no-print,.toast-host{display:none!important}.app{display:block}.main{padding:0}.doc{box-shadow:none;margin:0;page-break-after:always}.doc:last-child{page-break-after:auto}}.mobile-nav{display:none}@media (max-width: 980px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi:nth-child(3){border-left:0}.kpi:nth-child(n+3){border-top:1px solid var(--line)}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 820px){.app,.app.mini{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.mobile-nav{display:block;position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}.mobile-nav .groups,.mobile-nav .items{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;scrollbar-width:none}.mobile-nav .items{padding-top:0}.mobile-nav a,.mobile-nav button{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:var(--r-pill);padding:6px 13px;font:inherit;font-size:var(--fs-sm);white-space:nowrap;cursor:pointer}.mobile-nav .active{background:var(--plum-700);border-color:var(--plum-700);color:#fff}.mobile-nav .items a.active{background:var(--plum-100);border-color:var(--plum-300);color:var(--plum-800)}.main{padding:16px 14px 40px}.panel{padding:16px}.grid-2,.grid-3,.form-grid{grid-template-columns:minmax(0,1fr)}.wz-hero,.wz-body{padding-left:18px;padding-right:18px}.meter-row{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:6px}.meter-row>:nth-child(2){grid-column:span 2}.meter-row .meter-prev{text-align:left}.meter-head{display:none}.doc{width:100%;min-height:0;padding:18px}}@media (max-width: 480px){.kpi-value{font-size:22px}h1{font-size:23px}.btn{min-height:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.lp{background:linear-gradient(180deg,#f7f3fd,#f3edfb);min-height:100vh;overflow-x:hidden}.lp-wrap{max-width:1180px;margin:0 auto;padding:0 20px}.lp-head{position:sticky;top:0;z-index:30;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #ece6f5}.lp-head .lp-wrap{display:flex;align-items:center;gap:8px;height:68px}.lp-brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:700;font-size:20px}.lp-brand:hover{text-decoration:none}.lp-logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--plum-600),var(--plum-800));color:#fff;font-size:20px;font-weight:700;box-shadow:0 6px 14px #52228647}.lp-logo svg{width:24px;height:24px}.lp-nav{margin-left:auto;display:flex;align-items:center;gap:4px}.lp-nav a{position:relative;padding:10px 14px;color:var(--ink-2);font-weight:600;font-size:15px;text-decoration:none}.lp-nav a:hover{color:var(--plum-800);text-decoration:none}.lp-nav a.active{color:var(--plum-800)}.lp-nav a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:3px;border-radius:3px;background:var(--plum-700)}.lp-nav a.lp-btn{padding:8px 18px;margin-left:6px}.lp-nav a.lp-btn-primary{color:#fff}.lp-nav a.lp-btn-ghost{color:var(--plum-800)}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .15s,box-shadow .15s,background-color .15s;white-space:nowrap}.lp-btn:hover{text-decoration:none;transform:translateY(-1px)}.lp-btn-sm{padding:8px 18px;font-size:15px}.lp-btn-lg{padding:13px 30px;font-size:17px}.lp-btn-primary{background:var(--plum-800);color:#fff;box-shadow:0 6px 16px #3f1a6b4d}.lp-btn-primary:hover{background:var(--plum-900);color:#fff}.lp-btn-ghost{background:transparent;color:var(--plum-800);border-color:var(--plum-300)}.lp-btn-white{background:#fff;color:var(--plum-900);box-shadow:0 8px 22px #14042840}.lp-btn-white .tri{width:0;height:0;border-left:12px solid var(--plum-800);border-top:8px solid transparent;border-bottom:8px solid transparent}.lp-btn-line{background:transparent;color:#fff;border-color:#ffffffd9}.lp-btn-line:hover{background:#ffffff1f;color:#fff}.lp-btn-outline{background:#fff;color:var(--plum-800);border-color:var(--plum-700)}.lp-btn-outline:hover{background:var(--plum-50)}.lp-hero{position:relative;color:#fff;background:linear-gradient(105deg,#2c0d5a,#3f1a7a 38%,#6a2fc0 70%,#8a5bd8);overflow:hidden}.lp-hero-img{position:absolute;top:0;right:0;bottom:0;width:64%;background-size:cover;background-position:center right}.lp-hero-img.empty{background:radial-gradient(circle at 70% 40%,rgba(255,255,255,.22) 0 120px,transparent 121px),radial-gradient(circle at 88% 70%,rgba(255,255,255,.12) 0 180px,transparent 181px)}.lp-hero-fade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,#2c0d5a 0%,#3a157a 34%,rgba(74,30,150,.88) 44%,rgba(106,47,192,.45) 56%,rgba(138,91,216,.12) 68%,transparent 78%)}.lp-hero-arc{position:absolute;z-index:1;pointer-events:none;top:-30%;left:46%;width:900px;height:900px;border-radius:50%;border-left:2px solid rgba(255,255,255,.28);border-top:1px solid rgba(255,255,255,.12)}.lp-hero:before{content:"";position:absolute;z-index:1;top:-40%;left:30%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(170,120,255,.3),transparent 65%);pointer-events:none}.lp-hero-in{position:relative;z-index:2;padding:64px 20px 110px;max-width:1180px;margin:0 auto}.lp-hero h1{color:#fff;font-size:clamp(30px,4.6vw,52px);line-height:1.22;margin:0 0 16px;max-width:760px;text-shadow:0 2px 18px rgba(20,4,40,.35)}.lp-hero p{color:#eadffa;font-size:clamp(16px,1.6vw,20px);line-height:1.65;max-width:600px;margin:0 0 26px;white-space:pre-wrap;text-shadow:0 1px 10px rgba(20,4,40,.3)}.lp-hero .lp-actions{display:flex;gap:14px;flex-wrap:wrap}.lp-wave{position:absolute;left:0;right:0;bottom:-1px;z-index:3;line-height:0}.lp-wave svg{width:100%;height:90px;display:block}.lp-sec{padding:46px 0 50px;position:relative}.lp-sec>.lp-wrap{position:relative;z-index:1}.lp-title{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 0 6px}.lp-title h2{margin:0;font-size:clamp(24px,2.6vw,32px);color:var(--plum-900);text-align:center}.lp-title:before,.lp-title:after{content:"";height:2px;width:min(140px,14vw);border-radius:2px;background:linear-gradient(90deg,transparent,var(--plum-600))}.lp-title:after{background:linear-gradient(90deg,var(--plum-600),transparent)}.lp-sub{text-align:center;color:var(--ink-2);font-size:16px;margin:0 0 26px}.lp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lp-card{display:flex;align-items:center;gap:18px;background:#fff;border-radius:18px;padding:18px 20px;box-shadow:0 8px 26px #3f1a6b14;border:1px solid #efe8f8;transition:transform .15s,box-shadow .15s}.lp-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px #3f1a6b24}.lp-ic{flex:none;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font-size:30px}.lp-ic.c0{background:#ede3fb}.lp-ic.c1{background:#e1ecfd}.lp-ic.c2{background:#dcf5f8}.lp-ic.c3{background:#fdeedc}.lp-ic.c4{background:#dff5e6}.lp-ic.c5{background:#fde3ee}.lp-card h3{margin:0 0 4px;font-size:18px;color:var(--plum-900)}.lp-card p{margin:0;font-size:14.5px;color:var(--ink-2);line-height:1.55;white-space:pre-wrap}.lp-card .go{flex:none;margin-left:auto;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--plum-50);color:var(--plum-700);font-weight:700;border:1px solid var(--plum-100)}.lp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lp-step{text-align:center;background:#fff;border-radius:18px;padding:24px 20px;box-shadow:0 8px 26px #3f1a6b12}.lp-step .no{width:50px;height:50px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;background:linear-gradient(145deg,var(--plum-600),var(--plum-800));color:#fff;font-weight:700;font-size:20px}.lp-step h3{margin:0 0 4px;font-size:18px;color:var(--plum-900)}.lp-step p{margin:0;font-size:14.5px;color:var(--ink-2)}.lp-white{background:#fff;border-radius:40px 40px 0 0;box-shadow:0 -10px 40px #3f1a6b0d}.lp-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:10px}.lp-plan{background:#fff;border:1.5px solid #ece4f7;border-radius:20px;padding:24px;box-shadow:0 8px 26px #3f1a6b12;display:flex;flex-direction:column}.lp-plan.hl{border-color:var(--plum-700);box-shadow:0 14px 34px #5222862e}.lp-plan h3{margin:0;color:var(--plum-900)}.lp-plan .price{font-size:36px;font-weight:700;color:var(--plum-800);margin:6px 0 2px}.lp-plan ul{padding-left:18px;font-size:14.5px;color:var(--ink-2);flex:1}.lp-center{text-align:center}.lp-faq{max-width:820px;margin:0 auto}.lp-faq details{background:#fff;border-radius:14px;padding:16px 20px;margin-bottom:10px;box-shadow:0 6px 18px #3f1a6b0f}.lp-faq summary{font-weight:600;cursor:pointer;color:var(--plum-900)}.lp-faq p{margin:10px 0 0;color:var(--ink-2);white-space:pre-wrap}.lp-cta{background:linear-gradient(105deg,#2c0d5a,#6a2fc0);color:#fff;border-radius:26px;padding:40px 24px;text-align:center;box-shadow:0 18px 40px #3f1a6b40}.lp-cta h2{color:#fff;margin:0 0 8px}.lp-cta p{color:#eadffa;margin:0 0 20px}.lp-foot{text-align:center;color:var(--muted);font-size:14px;padding:30px 20px 40px}.lp-foot a{color:var(--plum-700)}.lp-blob{position:absolute;pointer-events:none;z-index:0;border-radius:50%}@media (max-width: 980px){.lp-cards,.lp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-hero-img{width:100%}.lp-hero-fade{background:linear-gradient(180deg,#2c0d5aeb,#3a157ad1 55%,#6a2fc08c)}.lp-hero-arc{display:none}}@media (max-width: 680px){.lp-head .lp-wrap{height:60px}.lp-nav a:not(.lp-btn){display:none}.lp-nav a.lp-btn{padding:7px 14px;font-size:14px}.lp-brand{font-size:17px}.lp-logo{width:38px;height:38px}.lp-cards,.lp-steps{grid-template-columns:minmax(0,1fr)}.lp-hero-in{padding:44px 20px 90px}.lp-wave svg{height:50px}.lp-title{gap:12px}.lp-title:before,.lp-title:after{width:36px}}.lp-brand{white-space:nowrap}@media (max-width: 420px){.lp-brand{font-size:15px;gap:8px}.lp-nav a.lp-btn{padding:6px 11px;font-size:13px;margin-left:4px}}.portal-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}.portal-card .pc-qr{text-align:center;padding:10px;border:1px solid var(--line, #e6e0f0);border-radius:14px;background:#fff}.portal-card .pc-body{min-width:0;display:flex;flex-direction:column;gap:10px}.portal-card .pc-link{display:flex;gap:8px}.portal-card .pc-link .input{flex:1;min-width:0;font-size:13px}.portal-card .pc-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted, #6b6880)}.portal-card .pc-actions{display:flex;flex-wrap:wrap;gap:8px}.portal-card .alert{margin:0}@media (max-width: 640px){.portal-card{grid-template-columns:1fr}.portal-card .pc-qr{justify-self:center}.portal-card .pc-actions .btn{flex:1 1 100%}}.portal-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.portal-bar .pb-brand{font-weight:700;color:var(--plum-700, #4b2a7b);display:inline-flex;align-items:center;gap:6px}.portal-bar .pb-mark{width:30px;height:30px;border-radius:9px;background:var(--plum-100, #efe7fb);display:inline-grid;place-items:center}.pin-card{max-width:380px;margin:40px auto 20px;background:var(--surface, #fff);border:1px solid var(--line, #e6e0f0);border-radius:20px;padding:28px 22px;text-align:center;box-shadow:0 12px 34px #4b2a7b14}.pin-card h1{margin:4px 0 14px;font-size:24px}.pin-card .pin-ico{width:56px;height:56px;margin:0 auto 10px;border-radius:16px;background:var(--plum-100, #efe7fb);display:grid;place-items:center;font-size:26px}.pin-boxes{display:flex;justify-content:center;gap:10px;margin:16px 0 18px}.pin-box{width:54px;height:62px;text-align:center;font-size:26px;font-weight:700;border:2px solid var(--line, #e0d8ee);border-radius:14px;background:#fff;outline:none}.pin-box:focus{border-color:var(--plum-500, #7c4dcc);box-shadow:0 0 0 4px #7c4dcc26}.pin-card .btn-block+.btn-block{margin-top:8px}.portal-foot{margin:22px 0 8px;padding-top:14px;border-top:1px solid var(--line, #e6e0f0);text-align:center;font-size:13px;color:var(--muted, #6b6880);display:grid;gap:4px}.portal-foot a{color:inherit}.fac-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:12px}.fac-pick{display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px 12px;border:1.5px solid var(--line, #e0d8ee);border-radius:12px;background:#fff;cursor:pointer;font:inherit}.fac-pick.on{border-color:var(--plum-500, #7c4dcc);background:var(--plum-50, #f7f2fe)}.portal .tabs{overflow-x:auto;flex-wrap:nowrap}.portal .tabs button{white-space:nowrap}.time-range{display:flex;align-items:center;gap:6px}.time-range .input{flex:1 1 0;min-width:0}.sys-notices{display:grid;gap:8px;margin-bottom:14px}.sys-notices.inline{flex:1 1 320px;min-width:0;margin:0;justify-items:stretch}.sys-notice{position:relative;border:1px solid #e3d6f7;background:#f7f1ff;border-radius:12px;padding:0 34px 0 0;min-width:0}.sys-notice.lv-warn{background:#fff6e6;border-color:#f3d39a}.sys-notice.lv-urgent{background:#fdecec;border-color:#f1b4b4;padding-right:0;animation:snPulse 2s ease-in-out infinite}@keyframes snPulse{50%{box-shadow:0 0 0 4px #d9534f1f}}.sys-notice .sn-head{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;background:none;border:0;font:inherit;text-align:left;cursor:pointer;color:inherit;min-width:0}.sys-notice .sn-title{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-notice .sn-more{font-size:12px;color:var(--plum-600, #6a3fb5);text-decoration:underline;flex:none}.sys-notice .sn-x{position:absolute;right:6px;top:6px;width:26px;height:26px;border:0;background:transparent;border-radius:8px;cursor:pointer;color:#8a7fa0}.sys-notice .sn-x:hover{background:#0000000f}.sys-notice .sn-body{padding:0 14px 12px 40px;font-size:14px;white-space:pre-wrap}@media (max-width: 720px){.sys-notices.inline{flex-basis:100%}}.portal{max-width:900px}.portal .tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;overflow:visible;flex-wrap:initial;padding:6px!important;border-bottom:1px solid var(--line)}.portal .tabs button{white-space:nowrap;justify-content:center;text-align:center;border-bottom:0;border-radius:10px;padding:9px 4px;margin:0;font-size:14px}.portal .tabs button.active{background:var(--plum-100, #efe7fb);color:var(--plum-800)}@media (min-width: 760px){.portal .tabs{grid-template-columns:repeat(8,1fr)}}@media (max-width: 380px){.portal .tabs button{font-size:13px;padding:8px 2px}}.wd-checks .btn{white-space:normal;height:auto;line-height:1.35;text-align:center}.tabs{display:flex;flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;padding:5px;margin-bottom:16px;overflow:visible;background:var(--plum-50, #f6f2fc);border:1px solid var(--plum-100, #e7ddf7);border-bottom:1px solid var(--plum-100, #e7ddf7);border-radius:12px}.tabs button,.tabs a{display:inline-flex;align-items:center;gap:4px;margin:0;padding:8px 16px;border:1px solid var(--plum-200, #d9c8f1);border-radius:9px;background:#fff;color:var(--plum-800, #3f1f6e);font-weight:600;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s,transform .05s}.tabs button:hover,.tabs a:hover{background:var(--plum-100, #efe7fb);border-color:var(--plum-300, #c3a8ea)}.tabs button:active,.tabs a:active{transform:translateY(1px)}.tabs button:focus-visible,.tabs a:focus-visible{outline:3px solid rgba(124,77,204,.35);outline-offset:1px}.tabs .active,.tabs .active:hover{background:var(--plum-700, #5b2d9e);border-color:var(--plum-700, #5b2d9e);color:#fff;box-shadow:0 3px 8px #4b2a7b40}.tabs .active .count{background:#ffffff38;color:#fff}@media (max-width: 640px){.tabs{width:100%}.tabs button,.tabs a{flex:1 1 auto;justify-content:center;padding:8px 10px}}.portal .tabs{width:auto}.portal .tabs button.active{background:var(--plum-700, #5b2d9e);color:#fff}.slip-credit{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:14px;background:linear-gradient(135deg,#f3ecfd,#fff);border:1px solid var(--plum-100, #e7ddf7)}.slip-credit .sc-n{font-size:30px;font-weight:800;color:var(--plum-800, #3f1f6e);line-height:1.2}.slip-credit .sc-n small{font-size:15px;font-weight:600}.slip-credit.low{background:linear-gradient(135deg,#fff6e6,#fff);border-color:#f3d39a}.slip-credit.empty{background:linear-gradient(135deg,#fdecec,#fff);border-color:#f1b4b4}.slip-credit.empty .sc-n{color:#c0392b}.lp-slips{margin-top:34px;padding:22px;border-radius:18px;background:#faf7ff;border:1px solid #ece3fa}.lp-slips h3{margin:0 0 6px}.lp-slip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}.lp-slip{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:14px;background:#fff;border:1px solid #ece3fa;text-align:center}.lp-slip .price{font-size:24px;font-weight:800;color:var(--plum-700, #5b2d9e)}.to-top{position:fixed;right:18px;bottom:22px;z-index:900;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;background:var(--plum-700, #5b2d9e);color:#fff;font-size:20px;line-height:1;box-shadow:0 6px 18px #4b2a7b59;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .2s,transform .2s,background .15s}.to-top.show{opacity:1;transform:none;pointer-events:auto}.to-top:hover{background:var(--plum-800, #3f1f6e)}.to-top:focus-visible{outline:3px solid rgba(124,77,204,.45);outline-offset:2px}@media (max-width: 640px){.to-top{right:12px;bottom:16px;width:42px;height:42px}}@media print{.to-top{display:none!important}}.seo-preview{max-width:640px;padding:14px 16px;margin:6px 0 16px;border:1px solid var(--line, #e6e0f0);border-radius:12px;background:#fff;font-family:Arial,sans-serif}.seo-preview .sp-url{font-size:13px;color:#202124;margin-top:4px}.seo-preview .sp-title{font-size:19px;color:#1a0dab;line-height:1.3;margin:2px 0}.seo-preview .sp-desc{font-size:13.5px;color:#4d5156;line-height:1.5}
