@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--floral-green: #81BF48;--floral-green-600: #6EA83A;--floral-green-700: #5A8A2D;--floral-green-800: #486F24;--floral-green-100: #EAF4D8;--floral-green-050: #F4F9EC;--ink-1000: #0D120B;--ink-900: #1A1F17;--ink-700: #3D443A;--ink-500: #6B7266;--ink-300: #A8ADA3;--ink-200: #CED2C8;--ink-100: #E7E8E2;--ink-050: #F0F1EC;--ink-025: #F7F8F4;--surface: #FFFFFF;--canvas: #FAFAF8;--success: var(--floral-green);--success-bg: var(--floral-green-100);--warning: #E8A33D;--warning-bg: #FBF1DD;--danger: #D64545;--danger-bg: #FBE6E6;--info: #3B82F6;--info-bg: #E5EEFD;--viz-1: var(--floral-green);--viz-2: #2F8F8A;--viz-3: #C77A2B;--viz-4: #7B5EA7;--viz-5: #4A5A6E;--viz-6: #B9C94E;--font-display: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ui: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs: 12px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--fs-4xl: 48px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-heavy: 800;--lh-tight: 1.15;--lh-display: 1.2;--lh-snug: 1.35;--lh-body: 1.45;--lh-loose: 1.6;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-14: 56px;--sp-20: 80px;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-pill: 999px;--elev-0: none;--elev-1: 0 1px 2px rgba(15, 23, 10, .06);--elev-2: 0 6px 20px -8px rgba(15, 23, 10, .12);--elev-3: 0 20px 40px -12px rgba(15, 23, 10, .18);--focus-ring: 0 0 0 3px rgba(129, 191, 72, .35);--dur-micro: .12s;--dur-std: .18s;--dur-enter: .24s;--ease-std: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--gutter-mobile: 16px;--gutter-tablet: 24px;--gutter-desktop: 32px;--content-max: 1280px;--header-h-mobile: 56px;--header-h-desktop: 64px;--tabbar-h: 64px}html,body{font-family:var(--font-ui);color:var(--ink-900);background:var(--canvas);font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,.h1{font-family:var(--font-display);font-size:var(--fs-4xl);font-weight:var(--fw-heavy);line-height:var(--lh-display);letter-spacing:-.02em;color:var(--ink-900);margin:0}h2,.h2{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:var(--lh-display);letter-spacing:-.015em;margin:0}h3,.h3{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:-.01em;margin:0}h4,.h4{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin:0}h5,.h5{font-family:var(--font-ui);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin:0}.eyebrow{font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}p,.body{font-family:var(--font-ui);font-size:var(--fs-md);line-height:var(--lh-body);color:var(--ink-900);margin:0}.body-sm{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--ink-700)}.caption{font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--ink-500)}.num,.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}code,.mono{font-family:var(--font-mono);font-size:.9em}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{box-sizing:border-box}html,body{margin:0;background:var(--canvas);color:var(--ink-900);font-family:var(--font-ui)}#root{min-height:100vh}button{font-family:var(--font-ui);cursor:pointer}::selection{background:var(--floral-green-100)}.app{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.side{background:#fff;border-right:1px solid var(--ink-100);padding:16px 12px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.side::-webkit-scrollbar{width:6px}.side::-webkit-scrollbar-thumb{background:var(--ink-100);border-radius:3px}.brand{display:flex;align-items:center;gap:9px;padding:4px 8px;margin-bottom:6px}.brand img{height:26px}.brand .sub{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--ink-300);text-transform:uppercase;border-left:1px solid var(--ink-100);padding-left:9px;line-height:1.2}.nav-sec{font-size:10px;color:var(--ink-300);letter-spacing:.1em;text-transform:uppercase;font-weight:800;padding:14px 10px 5px}.item{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink-700);cursor:pointer;transition:background var(--dur-micro) var(--ease-std),color var(--dur-micro) var(--ease-std);position:relative}.item:hover{background:var(--ink-025);color:var(--ink-900)}.item.on{background:var(--floral-green-100);color:var(--floral-green-800)}.item svg{width:18px;height:18px;flex-shrink:0}.item .badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:10.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;background:var(--danger-bg);color:var(--danger);font-variant-numeric:tabular-nums}.item.on .badge{background:#fff}.side-foot{margin-top:auto;padding:12px 8px 4px;border-top:1px solid var(--ink-050);display:flex;align-items:center;gap:10px}.side-foot .avatar{flex-shrink:0}.side-foot .who{line-height:1.25;overflow:hidden}.side-foot .who .n{font-size:12.5px;font-weight:800;color:var(--ink-900);white-space:nowrap}.side-foot .who .r{font-size:11px;color:var(--ink-500)}main{min-width:0;display:flex;flex-direction:column}.top{height:64px;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-100);display:flex;align-items:center;padding:0 28px;gap:14px;position:sticky;top:0;z-index:20}.top .crumb{font-size:12px;color:var(--ink-500);font-weight:700}.top h1{font-size:20px;font-weight:800;letter-spacing:-.01em;margin:0}.top .sub{font-size:12.5px;color:var(--ink-500);font-weight:600;margin-top:1px}.spacer{flex:1}.iconbtn{width:38px;height:38px;border-radius:9px;border:1px solid var(--ink-100);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-700);position:relative;transition:background var(--dur-micro)}.iconbtn:hover{background:var(--ink-025)}.iconbtn svg{width:18px;height:18px}.iconbtn .dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:999px;background:var(--danger);border:2px solid #fff}.page{padding:26px 28px 60px;max-width:1320px;width:100%}.btn{height:36px;padding:0 14px;border-radius:9px;font-weight:700;font-size:13px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background var(--dur-micro) var(--ease-std),transform var(--dur-micro);white-space:nowrap}.btn:active{transform:scale(.98)}.btn svg{width:16px;height:16px}.btn.pri{background:var(--floral-green);color:#fff}.btn.pri:hover{background:var(--floral-green-600)}.btn.sec{background:#fff;color:var(--ink-900);border:1px solid var(--ink-100)}.btn.sec:hover{background:var(--ink-025)}.btn.ghost{background:transparent;color:var(--ink-700)}.btn.ghost:hover{background:var(--ink-025)}.btn.dgr{background:#fff;color:var(--danger);border:1px solid #F1C2C2}.btn.dgr:hover{background:var(--danger-bg)}.btn.amb{background:var(--warning);color:#fff}.btn.amb:hover{filter:brightness(.96)}.btn.sm{height:30px;padding:0 11px;font-size:12px;border-radius:8px}.btn.lg{height:44px;padding:0 20px;font-size:14px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:active{transform:none}.btn.block{width:100%}.linkbtn{background:none;border:0;padding:0;font-size:12px;font-weight:800;color:var(--floral-green-800);cursor:pointer}.linkbtn:hover{text-decoration:underline}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.search{flex:1;min-width:220px;max-width:380px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ink-100);border-radius:9px;height:38px;padding:0 12px;color:var(--ink-500)}.search:focus-within{border-color:var(--floral-green);box-shadow:var(--focus-ring)}.search svg{width:16px;height:16px;flex-shrink:0}.search input{border:0;outline:none;flex:1;font-family:var(--font-ui);font-size:13px;background:transparent;color:var(--ink-900)}.select{height:38px;border:1px solid var(--ink-100);background:#fff;border-radius:9px;padding:0 32px 0 12px;font-size:13px;font-weight:700;color:var(--ink-700);font-family:var(--font-ui);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7266' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.select:focus{outline:none;border-color:var(--floral-green);box-shadow:var(--focus-ring)}.count{color:var(--ink-500);font-size:12px;font-weight:600}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--ink-100);margin-bottom:18px;overflow-x:auto}.tab{padding:9px 13px;font-size:13px;font-weight:700;color:var(--ink-500);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:7px}.tab:hover{color:var(--ink-900)}.tab.on{color:var(--ink-900);border-color:var(--floral-green)}.tab .c{font-size:11px;font-weight:800;color:var(--ink-500);background:var(--ink-050);border-radius:999px;padding:1px 7px}.tab.on .c{background:var(--floral-green-100);color:var(--floral-green-800)}.card{background:#fff;border:1px solid var(--ink-100);border-radius:14px}.card.pad{padding:20px}.card-h{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--ink-050)}.card-h h3{font-size:15px;font-weight:800}.card-h .sub{font-size:12px;color:var(--ink-500);font-weight:600}.tbl{background:#fff;border:1px solid var(--ink-100);border-radius:14px;overflow:hidden}.tbl.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--ink-050);vertical-align:middle}th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);font-weight:800;background:var(--ink-025);position:sticky;top:0;white-space:nowrap}tbody tr{transition:background var(--dur-micro)}tbody tr:last-child td{border-bottom:0}tbody tr.clk{cursor:pointer}tbody tr.clk:hover td{background:var(--ink-025)}tr.sel td{background:var(--floral-green-050)}.num{font-variant-numeric:tabular-nums;text-align:right}.mono{font-family:var(--font-mono)}.itemcode{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-500)}.thumb{width:38px;height:38px;border-radius:9px;background:var(--ink-050);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-500);font-weight:800;font-size:11px;flex-shrink:0;overflow:hidden}.thumb.g{background:var(--floral-green-100);color:var(--floral-green-800)}.cellflex{display:flex;align-items:center;gap:11px}.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.pill svg{width:12px;height:12px}.pill.ok{background:var(--floral-green-100);color:var(--floral-green-800)}.pill.wn{background:var(--warning-bg);color:#8a5e1b}.pill.dg{background:var(--danger-bg);color:var(--danger)}.pill.nf{background:var(--ink-050);color:var(--ink-700)}.pill.info{background:var(--info-bg);color:#1d5fd4}.pill.pend{background:#eee7f7;color:#6a4b94}.stat{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700}.stat .d{width:8px;height:8px;border-radius:999px;flex-shrink:0}.stat.ok .d{background:var(--floral-green)}.stat.ok{color:var(--floral-green-800)}.stat.wn .d{background:var(--warning)}.stat.wn{color:#8a5e1b}.stat.dg .d{background:var(--danger)}.stat.dg{color:var(--danger)}.stat.pend .d{background:#7b5ea7}.stat.pend{color:#6a4b94}.stat.nf .d{background:var(--ink-300)}.stat.nf{color:var(--ink-500)}.vis{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700}.vis svg{width:13px;height:13px}.vis.cust{color:var(--floral-green-800)}.vis.int{color:var(--ink-500)}.vis.req{color:#8a5e1b}.scope{display:inline-flex;align-items:center;height:21px;padding:0 8px;border-radius:6px;background:var(--ink-025);border:1px solid var(--ink-100);font-size:11px;font-weight:700;color:var(--ink-700)}.meter{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--ink-050);width:100%;min-width:90px}.meter span{display:block;height:100%}.meter .s-ok{background:var(--floral-green)}.meter .s-pend{background:#7b5ea7}.meter .s-exp{background:var(--warning)}.meter .s-miss{background:var(--ink-200)}.meter .s-expd{background:var(--danger)}.meterwrap{display:flex;align-items:center;gap:10px;min-width:150px}.meterwrap .pct{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink-700);min-width:34px;text-align:right}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--ink-100);border-radius:14px;padding:16px 18px;cursor:pointer;transition:box-shadow var(--dur-std),transform var(--dur-std)}.kpi:hover{box-shadow:var(--elev-1)}.kpi .top{all:unset;display:flex;align-items:center;gap:9px;margin-bottom:12px}.kpi .ic{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.kpi .ic svg{width:18px;height:18px}.kpi .lbl{font-size:12.5px;font-weight:700;color:var(--ink-500)}.kpi .val{font-size:30px;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi .delta{font-size:11.5px;font-weight:700;margin-top:7px;display:flex;align-items:center;gap:4px}.kpi .delta svg{width:13px;height:13px}.ic.green{background:var(--floral-green-100);color:var(--floral-green-800)}.ic.amber{background:var(--warning-bg);color:#8a5e1b}.ic.red{background:var(--danger-bg);color:var(--danger)}.ic.slate{background:var(--ink-050);color:var(--ink-700)}.ic.purple{background:#eee7f7;color:#6a4b94}.ic.teal{background:#dbf0ee;color:#1f6b66}.ic.blue{background:var(--info-bg);color:#1d5fd4}.grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.arow{display:flex;align-items:center;gap:13px;padding:13px 20px;border-bottom:1px solid var(--ink-050);transition:background var(--dur-micro);cursor:pointer}.arow:last-child{border-bottom:0}.arow:hover{background:var(--ink-025)}.arow .meta{flex:1;min-width:0}.arow .meta .t{font-size:13.5px;font-weight:800}.arow .meta .s{font-size:12px;color:var(--ink-500);font-weight:600}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f170a73;z-index:40;animation:fade var(--dur-enter) var(--ease-std)}@keyframes fade{0%{opacity:0}}.drawer{position:fixed;right:0;top:0;bottom:0;width:480px;max-width:94vw;background:#fff;border-left:1px solid var(--ink-100);box-shadow:var(--elev-3);z-index:41;display:flex;flex-direction:column;animation:slidein var(--dur-enter) var(--ease-std)}@keyframes slidein{0%{transform:translate(24px);opacity:.4}}.drawer .dh{padding:18px 22px;border-bottom:1px solid var(--ink-100);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drawer .dh h3{font-size:18px;font-weight:800}.drawer .dh .sub{font-size:12.5px;color:var(--ink-500);font-weight:600;margin-top:3px}.drawer .db{padding:20px 22px;overflow:auto;flex:1}.drawer .df{padding:16px 22px;border-top:1px solid var(--ink-100);display:flex;gap:9px;align-items:center;background:var(--ink-025)}.field{margin-bottom:16px}.field label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-700);font-weight:700;margin-bottom:7px}.field label .req{color:var(--danger)}.field .hint{font-size:11.5px;color:var(--ink-500);font-weight:600;margin-top:6px}.field.prefilled label:after{content:"prefilled from rule";font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--floral-green-800);background:var(--floral-green-100);padding:1px 6px;border-radius:999px;margin-left:auto}.input,.ta,select.fs{width:100%;min-height:38px;border:1px solid var(--ink-100);border-radius:9px;padding:8px 12px;font-size:13.5px;background:#fff;font-family:var(--font-ui);color:var(--ink-900)}select.fs{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7266' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;padding-right:34px}.ta{resize:none;min-height:84px;line-height:1.5}.input:focus,.ta:focus,select.fs:focus{outline:none;border-color:var(--floral-green);box-shadow:var(--focus-ring)}.input.ro{background:var(--ink-025);color:var(--ink-700)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.seg{display:flex;gap:6px}.seg .opt{flex:1;border:1px solid var(--ink-100);border-radius:9px;padding:9px 10px;font-size:12.5px;font-weight:700;color:var(--ink-700);cursor:pointer;display:flex;align-items:center;gap:7px;background:#fff;transition:all var(--dur-micro)}.seg .opt:hover{background:var(--ink-025)}.seg .opt.on{border-color:var(--floral-green);background:var(--floral-green-050);color:var(--floral-green-800)}.seg .opt svg{width:15px;height:15px}.drop{border:1.5px dashed var(--ink-200);border-radius:11px;padding:22px;text-align:center;background:var(--ink-025);cursor:pointer;transition:all var(--dur-std)}.drop:hover{border-color:var(--floral-green);background:var(--floral-green-050)}.drop .ic{width:42px;height:42px;border-radius:11px;background:#fff;border:1px solid var(--ink-100);display:inline-flex;align-items:center;justify-content:center;color:var(--floral-green-800);margin-bottom:10px}.drop .t{font-size:13px;font-weight:800}.drop .s{font-size:11.5px;color:var(--ink-500);font-weight:600;margin-top:3px}.filechip{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--ink-100);border-radius:10px;background:#fff}.filechip .fic{width:36px;height:44px;border-radius:6px;background:var(--danger-bg);color:var(--danger);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;flex-shrink:0}.filechip .fn{font-size:13px;font-weight:700}.filechip .fs2{font-size:11.5px;color:var(--ink-500);font-weight:600}.prog{height:6px;border-radius:999px;background:var(--ink-050);overflow:hidden;margin-top:6px}.prog span{display:block;height:100%;background:var(--floral-green);border-radius:999px;transition:width .2s linear}.avatar{width:30px;height:30px;border-radius:999px;background:var(--floral-green-100);color:var(--floral-green-800);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:11.5px;flex-shrink:0}.avatar.sq{border-radius:9px}.dethead{display:flex;align-items:flex-start;gap:18px;margin-bottom:18px}.dethead .big{width:66px;height:66px;border-radius:14px;background:var(--floral-green-100);color:var(--floral-green-800);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0}.dethead .info{flex:1;min-width:0}.dethead .info h2{font-size:24px;font-weight:800;letter-spacing:-.01em}.dethead .info .line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:6px;font-size:13px;color:var(--ink-500);font-weight:600}.dethead .info .line .sep{width:3px;height:3px;border-radius:999px;background:var(--ink-200)}.statgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--ink-100);border:1px solid var(--ink-100);border-radius:12px;overflow:hidden;margin-bottom:20px}.statgrid .cell{background:#fff;padding:14px 16px}.statgrid .cell .v{font-size:24px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.statgrid .cell .l{font-size:11.5px;font-weight:700;color:var(--ink-500);margin-top:6px;display:flex;align-items:center;gap:6px}.statgrid .cell .l .d{width:7px;height:7px;border-radius:999px}.banner{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-radius:11px;margin-bottom:18px}.banner svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.banner .bt{font-size:13px;font-weight:800}.banner .bs{font-size:12.5px;font-weight:600;margin-top:2px}.banner.warn{background:var(--warning-bg);color:#8a5e1b}.banner.danger{background:var(--danger-bg);color:var(--danger)}.banner.ok{background:var(--floral-green-050);color:var(--floral-green-800)}.banner.info{background:var(--info-bg);color:#1d5fd4}.empty{text-align:center;padding:60px 20px}.empty .ec{width:64px;height:64px;border-radius:16px;background:var(--floral-green-050);display:inline-flex;align-items:center;justify-content:center;color:var(--floral-green);margin-bottom:16px}.empty .ec svg{width:30px;height:30px}.empty .et{font-size:16px;font-weight:800}.empty .es{font-size:13px;color:var(--ink-500);font-weight:600;margin-top:5px;max-width:360px;margin-left:auto;margin-right:auto}.stepper{display:flex;align-items:center;gap:0;margin-bottom:24px}.step{display:flex;align-items:center;gap:9px}.step .num{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;background:var(--ink-050);color:var(--ink-500);border:1px solid var(--ink-100);flex-shrink:0}.step.on .num{background:var(--floral-green);color:#fff;border-color:var(--floral-green)}.step.done .num{background:var(--floral-green-100);color:var(--floral-green-800);border-color:var(--floral-green-100)}.step .lab{font-size:12.5px;font-weight:700;color:var(--ink-500)}.step.on .lab,.step.done .lab{color:var(--ink-900)}.step .line{width:36px;height:2px;background:var(--ink-100);margin:0 12px}.step.done .line{background:var(--floral-green-100)}.label-prev{width:360px;border:1px solid var(--ink-200);border-radius:8px;background:#fff;padding:18px}.label-prev .lh{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink-900);padding-bottom:10px;margin-bottom:12px}.label-prev .lh img{height:22px}.label-prev .lh .pc{font-size:10px;font-weight:800;color:var(--ink-500);text-transform:uppercase;letter-spacing:.08em}.label-prev .lrow{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.label-prev .lrow .k{color:var(--ink-500);font-weight:700}.label-prev .lrow .v{font-weight:800;font-family:var(--font-mono)}.label-prev .qrbox{display:flex;gap:14px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dashed var(--ink-200)}.label-prev .qrbox .qr{width:96px;height:96px;border-radius:6px;background:#fff;flex-shrink:0}.label-prev .qrbox .qr canvas,.label-prev .qrbox .qr img{width:96px!important;height:96px!important;display:block}.label-prev .scaninfo .t{font-size:12px;font-weight:800}.label-prev .scaninfo .u{font-size:10px;color:var(--ink-500);font-family:var(--font-mono);word-break:break-all;margin-top:3px}.portal-stage{display:flex;gap:36px;align-items:flex-start;flex-wrap:wrap}.phone{width:390px;height:800px;border-radius:46px;background:#1a1f17;padding:11px;box-shadow:var(--elev-3);flex-shrink:0;position:relative}.phone .scr{width:100%;height:100%;border-radius:36px;overflow:hidden;background:#fff;position:relative;display:flex;flex-direction:column}.phone .notch{position:absolute;top:11px;left:50%;transform:translate(-50%);width:126px;height:30px;background:#1a1f17;border-radius:0 0 18px 18px;z-index:10}.qp{display:flex;flex-direction:column;height:100%;overflow-y:auto;background:var(--canvas)}.qp::-webkit-scrollbar{display:none}.qp-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--ink-100);padding:46px 18px 12px;display:flex;align-items:center;gap:10px;z-index:5}.qp-head img{height:22px}.qp-head .nm{font-size:13px;font-weight:800;line-height:1.1}.qp-head .nm small{display:block;font-size:10px;color:var(--ink-500);font-weight:700}.qp-head .lang{margin-left:auto;font-size:11px;font-weight:800;color:var(--ink-500);border:1px solid var(--ink-100);border-radius:999px;padding:4px 9px}.qp-body{padding:16px;display:flex;flex-direction:column;gap:14px}.qp-card{background:#fff;border:1px solid var(--ink-100);border-radius:14px;padding:18px}.qp-prod .pn{font-size:20px;font-weight:800;line-height:1.2}.qp-prod .pc{font-family:var(--font-mono);font-size:12px;color:var(--ink-500);margin-top:4px}.qp-kv{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.qp-kv .k{font-size:11px;color:var(--ink-500);font-weight:700}.qp-kv .v{font-size:15px;font-weight:800;margin-top:2px}.qp-quality{display:flex;align-items:center;gap:12px;background:var(--floral-green-050);border:1px solid var(--floral-green-100);border-radius:14px;padding:15px 16px}.qp-quality .qic{width:42px;height:42px;border-radius:999px;background:var(--floral-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.qp-quality .qt{font-size:15px;font-weight:800;color:var(--floral-green-800)}.qp-quality .qs{font-size:12px;color:var(--floral-green-800);font-weight:600;opacity:.85}.qp-seclbl{font-size:12px;font-weight:800;color:var(--ink-500);text-transform:uppercase;letter-spacing:.06em;margin:4px 2px -2px}.qp-doc{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--ink-100);border-radius:13px;padding:14px;cursor:pointer;transition:border-color var(--dur-micro),background var(--dur-micro)}.qp-doc:hover,.qp-doc:active{border-color:var(--floral-green);background:var(--floral-green-050)}.qp-doc .dgo{width:34px;height:34px;border-radius:9px;background:var(--floral-green-100);color:var(--floral-green-800);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.qp-doc .dic{width:40px;height:48px;border-radius:7px;background:var(--danger-bg);color:var(--danger);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;flex-shrink:0}.qp-doc .dmeta{flex:1;min-width:0}.qp-doc .dmeta .dn{font-size:14px;font-weight:800;line-height:1.25}.qp-doc .dmeta .ds{font-size:11.5px;color:var(--ink-500);font-weight:600;margin-top:2px}.qp-dl{width:100%;height:48px;border-radius:11px;background:var(--floral-green);color:#fff;border:0;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.qp-dl:active{transform:scale(.99)}.qp-foot{padding:18px 16px 28px;text-align:center}.qp-foot .tid{font-size:11px;color:var(--ink-500);font-family:var(--font-mono)}.qp-foot .dt{font-size:11px;color:var(--ink-300);font-weight:600;margin-top:4px}.qp-invalid{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center;gap:14px}.qp-invalid .ic{width:70px;height:70px;border-radius:999px;background:var(--danger-bg);color:var(--danger);display:inline-flex;align-items:center;justify-content:center}.pdfsheet{background:#fff;border:1px solid var(--ink-100);box-shadow:var(--elev-1);width:100%;aspect-ratio:1 / 1.414;padding:9% 9% 11%;position:relative;overflow:hidden;container-type:inline-size}.pdfsheet .pt{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:2px solid var(--ink-900);padding-bottom:12px}.pdfsheet .pt img{height:24px}.pdfsheet .pt .doctag{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);text-align:right;line-height:1.5}.pdfsheet .ptitle{font-size:clamp(15px,3.4cqw,22px);font-weight:800;margin-top:18px;line-height:1.2;letter-spacing:-.01em}.pdfsheet .psub{font-size:11px;color:var(--ink-500);font-weight:700;margin-top:5px;font-family:var(--font-mono)}.pdfsheet .pkv{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin-top:18px}.pdfsheet .pkv .r{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink-050);padding-bottom:5px;font-size:10.5px}.pdfsheet .pkv .r .k{color:var(--ink-500);font-weight:700}.pdfsheet .pkv .r .v{font-weight:800}.pdfsheet .plines{margin-top:20px;display:flex;flex-direction:column;gap:9px}.pdfsheet .plines .ln{height:7px;border-radius:999px;background:var(--ink-050)}.pdfsheet .pblock{font-size:9px;font-weight:800;color:var(--ink-500);text-transform:uppercase;letter-spacing:.07em;margin:22px 0 10px}.pdfsheet .pstamp{position:absolute;right:7%;bottom:9%;border:3px solid var(--floral-green);color:var(--floral-green-800);border-radius:10px;padding:7px 13px;transform:rotate(-9deg);text-align:center;opacity:.82}.pdfsheet .pstamp .s1{font-size:13px;font-weight:800;letter-spacing:.04em}.pdfsheet .pstamp .s2{font-size:8px;font-weight:700;letter-spacing:.05em}.pdfsheet .pwm{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.pdfsheet .pwm img{width:60%;opacity:.035}.pdfview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:flex;flex-direction:column}.pdfview .pv-bar{height:56px;background:var(--ink-900);display:flex;align-items:center;gap:14px;padding:0 18px;color:#fff;position:relative;z-index:1}.pdfview .pv-bar .fic{width:28px;height:34px;border-radius:5px;background:var(--danger);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;flex-shrink:0}.pdfview .pv-bar .nm{font-size:14px;font-weight:800}.pdfview .pv-bar .mt{font-size:11px;color:#fff9;font-weight:600}.pdfview .pv-scroll{flex:1;overflow:auto;background:#3d443a;padding:30px;display:flex;justify-content:center;position:relative;z-index:1}.pdfview .pv-page{width:700px;max-width:100%;height:max-content}.pdfview .pv-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f170a8c;z-index:0}.qp-sheet{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--canvas);z-index:20;display:flex;flex-direction:column;animation:sheetup var(--dur-enter) var(--ease-std)}@keyframes sheetup{0%{transform:translateY(16px);opacity:.5}}.qp-sheet .sh-head{padding:46px 16px 12px;background:#fff;border-bottom:1px solid var(--ink-100);display:flex;align-items:center;gap:10px}.qp-sheet .sh-head .bk{width:36px;height:36px;border-radius:999px;border:1px solid var(--ink-100);background:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.qp-sheet .sh-head .ti{font-size:14px;font-weight:800;line-height:1.2;min-width:0}.qp-sheet .sh-head .ti small{display:block;font-size:10.5px;color:var(--ink-500);font-weight:700}.qp-sheet .sh-body{flex:1;overflow:auto;padding:16px}.qp-sheet .sh-foot{padding:12px 16px 22px;background:#fff;border-top:1px solid var(--ink-100)}.readycard{display:flex;align-items:center;gap:16px;padding:18px 20px}.readycard .ring{flex-shrink:0}.readycard .rinfo h3{font-size:17px;font-weight:800}.readycard .rinfo p{font-size:13px;color:var(--ink-500);font-weight:600;margin-top:3px}.spin{width:18px;height:18px;border:2.5px solid var(--floral-green-100);border-top-color:var(--floral-green);border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:none}@media (prefers-reduced-motion: no-preference){.fade-in{animation:fadein var(--dur-enter) var(--ease-std)}}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}}.toast-wrap{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{display:flex;align-items:center;gap:10px;background:var(--ink-900);color:#fff;padding:11px 16px;border-radius:11px;box-shadow:var(--elev-3);font-size:13px;font-weight:700;animation:toastin var(--dur-enter) var(--ease-std)}.toast svg{width:17px;height:17px}.toast .ti{width:20px;height:20px;border-radius:999px;background:var(--floral-green);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}@keyframes toastin{0%{opacity:0;transform:translateY(10px)}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal .scrim{z-index:0}.modal .mbox{position:relative;z-index:1;background:#fff;border-radius:16px;box-shadow:var(--elev-3);width:440px;max-width:100%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:slidein var(--dur-enter) var(--ease-std);overflow:hidden}.modal .mh{padding:20px 22px 0;display:flex;gap:13px;align-items:flex-start;flex-shrink:0}.modal .mh .ic{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.modal .mh h3{font-size:17px;font-weight:800}.modal .mh p{font-size:13px;color:var(--ink-500);font-weight:600;margin-top:4px}.modal .mb{padding:16px 22px;overflow:auto;flex:1 1 auto}.modal .mf{padding:14px 22px;display:flex;gap:9px;justify-content:flex-end;background:var(--ink-025);border-top:1px solid var(--ink-100);flex-shrink:0}.modal .mbox.wide{width:560px}.msel{position:relative}.msel-trigger{width:100%;min-height:38px;display:flex;align-items:center;gap:8px;padding:5px 10px;background:#fff;border:1px solid var(--ink-150);border-radius:9px;cursor:pointer;font-family:var(--font-ui);text-align:left}.msel.open .msel-trigger{border-color:var(--floral-green);box-shadow:0 0 0 3px var(--floral-green-050)}.msel-val{flex:1;display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-width:0}.msel-ph{color:var(--ink-300);font-size:13px;font-weight:600}.msel-chip{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 4px 0 8px;border-radius:6px;background:var(--floral-green-050);border:1px solid var(--floral-green-100);font-size:11.5px;font-weight:700;color:var(--floral-green-800);font-family:var(--font-mono)}.msel-chip.more{padding:0 8px;background:var(--ink-050);border-color:var(--ink-100);color:var(--ink-500)}.msel-chip .x{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:4px}.msel-chip .x:hover{background:var(--floral-green-100)}.msel-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:#fff;border:1px solid var(--ink-100);border-radius:10px;box-shadow:var(--elev-2);max-height:220px;overflow:auto;padding:5px}.msel-opt{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:7px;cursor:pointer}.msel-opt:hover{background:var(--ink-025)}.msel-opt.on{background:var(--floral-green-050)}.msel-opt input{width:15px;height:15px;accent-color:var(--floral-green);flex-shrink:0}.msel-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.msel-txt .c{font-size:12.5px;font-weight:800;color:var(--ink-900);font-family:var(--font-mono)}.msel-txt .n{font-size:11.5px;color:var(--ink-500);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msel-empty{padding:12px;text-align:center;color:var(--ink-300);font-size:12px}.misslist{display:flex;flex-direction:column;gap:8px}.missrow{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;padding:9px 12px;background:var(--danger-bg);border-radius:9px;color:var(--danger)}.missrow svg{width:15px;height:15px}.editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:56;background:var(--canvas);display:flex;flex-direction:column;animation:fade var(--dur-enter) var(--ease-std)}.editor .ed-top{height:60px;background:#fff;border-bottom:1px solid var(--ink-100);display:flex;align-items:center;gap:14px;padding:0 18px;flex-shrink:0}.editor .ed-top .tic{width:36px;height:36px;border-radius:9px;background:var(--floral-green-100);color:var(--floral-green-800);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.editor .ed-top .tt{font-size:15px;font-weight:800;line-height:1.15}.editor .ed-top .ts{font-size:11.5px;color:var(--ink-500);font-weight:600}.editor .ed-main{flex:1;display:grid;grid-template-columns:minmax(380px,1fr) 1.05fr;min-height:0}.editor .ed-form{overflow:auto;padding:22px 26px 60px;border-right:1px solid var(--ink-100)}.editor .ed-prev{overflow:auto;background:#2f352b;padding:30px}.editor .ed-prev-inner{display:flex;justify-content:center;min-height:100%}.ed-tplbar{display:flex;align-items:center;gap:10px;background:var(--floral-green-050);border:1px solid var(--floral-green-100);border-radius:11px;padding:11px 14px;margin-bottom:20px}.ed-tplbar .lbl{font-size:12px;font-weight:800;color:var(--floral-green-800)}.ed-sec{margin-bottom:24px}.ed-sec .st{font-size:13px;font-weight:800;margin-bottom:12px;display:flex;align-items:center;gap:8px;color:var(--ink-900)}.ed-sec .st .n{width:20px;height:20px;border-radius:6px;background:var(--ink-900);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.fgrid .full{grid-column:1 / -1}.etbl-wrap{border:1px solid var(--ink-100);border-radius:10px;overflow:hidden}.etbl{width:100%;border-collapse:collapse}.etbl th{background:var(--ink-025);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--ink-500);text-align:left;padding:8px 10px;border-bottom:1px solid var(--ink-100)}.etbl th.act{width:34px}.etbl td{border-bottom:1px solid var(--ink-050);padding:0;vertical-align:middle}.etbl tr:last-child td{border-bottom:0}.etbl input{width:100%;border:0;background:transparent;font-family:var(--font-ui);font-size:12.5px;padding:9px 10px;color:var(--ink-900)}.etbl input:focus{outline:none;background:var(--floral-green-050);box-shadow:inset 0 0 0 1px var(--floral-green)}.etbl .delrow{width:28px;height:28px;border:0;background:transparent;color:var(--ink-300);display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer}.etbl .delrow:hover{background:var(--danger-bg);color:var(--danger)}.addrow{margin-top:8px}.ed-attach{border:1px dashed var(--ink-200);border-radius:10px;padding:13px 14px;display:flex;align-items:center;gap:11px}.ed-attach .ai{width:34px;height:34px;border-radius:8px;background:var(--ink-025);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-500);flex-shrink:0}.tplpage{background:#fff;width:100%;max-width:640px;box-shadow:var(--elev-2);padding:48px 50px 60px;position:relative;align-self:flex-start}.tplpage.compact{padding:22px 20px 28px;box-shadow:none}.tplpage.compact .tp-title{font-size:17px}.tplpage.compact .tp-h img{height:20px}.tp-pages{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.tplpage.paged{width:700px;max-width:700px;min-height:990px;padding:42px 50px 0;display:flex;flex-direction:column;align-self:center;flex-shrink:0;overflow:hidden}.tplpage.paged .tp-page-body{flex:1 1 auto;min-height:0}.tplpage.paged .tp-page-body>:first-child{margin-top:0!important}.tp-pagefoot{margin-top:auto}.tp-pageno{text-align:right;font-size:8px;font-weight:800;letter-spacing:.08em;color:var(--ink-300);text-transform:uppercase;padding:8px 2px 10px;border-top:1px solid var(--ink-100);margin-top:10px}.tp-measure{position:absolute;left:-99999px;top:0;width:600px;visibility:hidden;pointer-events:none;z-index:-1}.tp-measure .tp-pagefoot{margin-top:0}.tp-titleblock{padding-top:2px}.tp-wm{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}.tp-wm img{width:62%;opacity:.035}.tp-h{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:2.5px solid var(--ink-900);padding-bottom:14px;position:relative}.tp-h img{height:26px}.tp-h .meta{text-align:right;font-size:9.5px;color:var(--ink-500);font-weight:700;line-height:1.7}.tp-h .meta b{color:var(--ink-900)}.tp-doctype{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--floral-green-800);margin-top:16px}.tp-title{font-size:21px;font-weight:800;line-height:1.18;letter-spacing:-.01em;margin-top:3px;position:relative}.tp-sub{font-size:11px;color:var(--ink-500);font-weight:700;margin-top:5px;font-family:var(--font-mono)}.tp-sec{margin-top:22px;position:relative}.tp-sec .sh{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-900);border-bottom:1px solid var(--ink-100);padding-bottom:5px;margin-bottom:10px}.tp-kv{display:grid;grid-template-columns:1fr 1fr;gap:7px 26px}.tp-kv.one{grid-template-columns:1fr}.tp-kv .r{display:flex;justify-content:space-between;gap:12px;font-size:11px;border-bottom:1px dotted var(--ink-100);padding-bottom:4px}.tp-kv .r .k{color:var(--ink-500);font-weight:700;flex-shrink:0}.tp-kv .r .v{font-weight:700;text-align:right;color:var(--ink-900)}.tp-para{font-size:11px;line-height:1.6;color:var(--ink-700);white-space:pre-wrap}.tp-tbl{width:100%;border-collapse:collapse;font-size:10.5px}.tp-tbl th{background:var(--ink-025);text-align:left;font-weight:800;color:var(--ink-700);padding:6px 9px;border:1px solid var(--ink-100);font-size:9.5px;text-transform:uppercase;letter-spacing:.03em}.tp-tbl td{padding:6px 9px;border:1px solid var(--ink-100);font-weight:600;color:var(--ink-900)}.tp-tbl td.pass{color:var(--floral-green-800);font-weight:800}.tp-tbl td.fail{color:var(--danger);font-weight:800}.tp-foot{margin-top:30px;display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--ink-100);padding-top:14px}.tp-sign{font-size:10px;color:var(--ink-500);font-weight:700}.tp-sign .nm{color:var(--ink-900);font-weight:800;font-size:12px;margin-top:16px;border-top:1px solid var(--ink-300);padding-top:4px;display:inline-block;min-width:130px}.tp-stamp{border:3px solid var(--floral-green);color:var(--floral-green-800);border-radius:9px;padding:7px 14px;transform:rotate(-7deg);text-align:center}.tp-stamp.draft{border-color:var(--ink-300);color:var(--ink-500)}.tp-stamp.pend{border-color:#7b5ea7;color:#6a4b94}.tp-stamp .s1{font-size:13px;font-weight:800;letter-spacing:.04em}.tp-stamp .s2{font-size:7.5px;font-weight:700;letter-spacing:.06em}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tpl-card{background:#fff;border:1px solid var(--ink-100);border-radius:14px;padding:18px;cursor:pointer;transition:box-shadow var(--dur-std),border-color var(--dur-std);display:flex;flex-direction:column}.tpl-card:hover{box-shadow:var(--elev-2);border-color:var(--ink-200)}.tpl-card .tnum{font-size:11px;font-weight:800;color:var(--ink-300);font-variant-numeric:tabular-nums}.tpl-card .ti{width:44px;height:44px;border-radius:11px;background:var(--floral-green-100);color:var(--floral-green-800);display:inline-flex;align-items:center;justify-content:center;margin:6px 0 12px}.tpl-card .tn{font-size:15px;font-weight:800;line-height:1.25}.tpl-card .tc{font-size:11px;font-weight:700;color:var(--ink-500);font-family:var(--font-mono);margin-top:4px}.tpl-card .ta{font-size:12px;color:var(--ink-700);font-weight:600;margin-top:10px;line-height:1.5;flex:1}.tpl-card .tact{margin-top:14px}@media (max-width: 720px){.app{grid-template-columns:1fr}.side{display:none}}.tp-lh-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px}.tp-lh-col-left{flex:1}.tp-lh-col-right{flex-shrink:0;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.tp-lh-company{font-size:11px;font-weight:800;color:var(--ink-900);letter-spacing:.02em}.tp-lh-addr{font-size:8.5px;color:var(--ink-500);font-weight:600;margin-top:2px;line-height:1.5}.tp-lh-logo{height:22px}.tp-lh-docmeta{font-size:8.5px;color:var(--ink-500);font-weight:700;text-align:right;line-height:1.8}.tp-lh-docmeta b{color:var(--ink-900)}.tp-lh-divider{height:2.5px;background:linear-gradient(to right,var(--floral-green-800),var(--floral-green),var(--floral-green-100));border-radius:999px}.tp-lh-footer-bar{display:flex;justify-content:space-between;align-items:center;font-size:7.5px;color:var(--ink-300);font-weight:600;margin-top:18px;padding-top:6px;border-top:1px solid var(--ink-100)}.tag-chip{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:6px;background:var(--floral-green-050);border:1px solid var(--floral-green-100);font-size:11px;font-weight:700;color:var(--floral-green-800);font-family:var(--font-mono)}.tag-chips{display:flex;flex-wrap:wrap;gap:4px}.tp-lang-toggle{position:absolute;top:14px;right:14px;display:flex;border:1px solid var(--ink-100);border-radius:7px;overflow:hidden;z-index:2}.tp-lang-toggle button{height:26px;padding:0 10px;border:0;background:#fff;font-size:11px;font-weight:800;color:var(--ink-500);cursor:pointer;font-family:var(--font-ui)}.tp-lang-toggle button.on{background:var(--floral-green);color:#fff}.tp-applies{margin-top:10px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 10px;background:var(--floral-green-050);border-radius:7px;font-size:10px;font-weight:800;color:var(--floral-green-800)}.tp-sigs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px;padding-top:14px;border-top:1px solid var(--ink-100)}.tp-sig{display:flex;flex-direction:column;align-items:center;text-align:center}.tp-sig-space{height:40px}.tp-sig-line{width:100%;border-bottom:1px solid var(--ink-400);margin-bottom:6px}.tp-sig-name{font-size:10.5px;font-weight:800;color:var(--ink-900);min-height:14px}.tp-sig-pos{font-size:9.5px;font-weight:600;color:var(--ink-500);min-height:13px;margin-top:2px}.tp-sig-label{font-size:9px;font-weight:800;color:var(--floral-green-800);margin-top:6px;letter-spacing:.03em}.tp-sig-date{font-size:8.5px;color:var(--ink-400);font-weight:600;margin-top:3px}.tp-doc-meta-row{display:flex;align-items:center;margin-top:14px;padding-top:10px}.tp-doc-date{font-size:8.5px;color:var(--ink-400);font-weight:600;text-align:right;line-height:1.7}.tp-footer-img{display:block;height:40px;object-fit:cover;object-position:top center;width:calc(100% + 100px);margin-left:-50px;margin-top:18px}.tplpage.compact .tp-footer-img{width:calc(100% + 40px);margin-left:-20px;margin-top:12px;height:34px}.tplpage.paged .tp-footer-img{margin-top:0}.tp-measure .tp-footer-img{width:calc(100% + 100px);margin-left:-50px}.review-banner{background:#eef1ff;border:1px solid #C5CCFF;border-radius:11px;padding:14px 18px;display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.review-banner .ric{color:#3a4ac7}.review-banner .rt{font-size:14px;font-weight:800;color:#2a36a3}.review-banner .rs{font-size:12px;color:#4b5dba;font-weight:600;margin-top:3px}
