:root{--n-0:#ffffff;--n-25:#fcfcfd;--n-50:#f7f8fa;--n-100:#eef0f4;--n-200:#e2e5eb;--n-300:#cbd0da;--n-400:#8b93a3;--n-500:#656d7c;--n-600:#4a5364;--n-700:#333b4a;--n-900:#0f1420;--a-50:#eef2ff;--a-100:#e0e7ff;--a-500:#3b5bdb;--a-600:#2f4bc4;--a-700:#25399e;--ok-500:#16a34a;--warn-500:#d97706;--err-500:#e11d48;--info-500:#0891b2;--fs-xs:11px;--lh-xs:16px;--ls-xs:0.02em;--fs-sm:12px;--lh-sm:18px;--ls-sm:0;--fs-md:13px;--lh-md:20px;--ls-md:0;--fs-lg:14px;--lh-lg:20px;--ls-lg:-0.005em;--fs-xl:18px;--lh-xl:26px;--ls-xl:-0.015em;--fs-2xl:24px;--lh-2xl:30px;--ls-2xl:-0.02em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--r-sm:4px;--r-md:6px;--r-lg:10px;--bd:1px;--sh-none:none;--sh-1:0 1px 2px rgba(15,20,32,0.06);--sh-2:0 8px 24px rgba(15,20,32,0.12),0 2px 6px rgba(15,20,32,0.06);--ease:cubic-bezier(0.2,0,0.2,1);--t-fast:120ms;--t-base:160ms;--t-panel:200ms;--nav-h:52px;--side-w:224px;--row-h:40px;--container:1600px;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:var(--fs-md);line-height:var(--lh-md);color:var(--n-600);background:var(--n-25);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{margin:0;color:var(--n-900)}p{margin:0;line-height:var(--lh-md)}button{cursor:pointer;border:none;background:none;color:inherit}button,input,select,textarea{font:inherit}a{color:var(--a-700);text-decoration:none}a:hover{text-decoration:underline}ul{margin:0;padding:0;list-style:none}table{border-collapse:collapse}:focus-visible{outline:2px solid var(--a-500);outline-offset:2px}.mono{font-family:var(--mono)}.mono,.tnum{font-variant-numeric:tabular-nums}.t-xs{font-size:var(--fs-xs);line-height:var(--lh-xs);letter-spacing:var(--ls-xs)}.t-sm{font-size:var(--fs-sm);line-height:var(--lh-sm)}.t-md{font-size:var(--fs-md);line-height:var(--lh-md)}.t-lg{font-size:var(--fs-lg);line-height:var(--lh-lg);letter-spacing:var(--ls-lg)}.t-xl{font-size:var(--fs-xl);line-height:var(--lh-xl);letter-spacing:var(--ls-xl);font-weight:600}.t-2xl{font-size:var(--fs-2xl);line-height:var(--lh-2xl);letter-spacing:var(--ls-2xl);font-weight:650}.c-n900{color:var(--n-900)}.c-n700{color:var(--n-700)}.c-n600{color:var(--n-600)}.c-n500{color:var(--n-500)}.c-n400{color:var(--n-400)}.c-a500{color:var(--a-500)}.c-a700{color:var(--a-700)}.c-ok{color:var(--ok-500)}.c-warn{color:var(--warn-500)}.c-err{color:var(--err-500)}.shell{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);max-width:var(--container);margin:0 auto}.topbar{position:sticky;top:0;z-index:60;height:var(--nav-h);background:var(--n-0);border-bottom:var(--bd) solid var(--n-200)}.topbar,.topbar-inner{display:flex;align-items:center}.topbar-inner{gap:var(--sp-3);width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--sp-6)}.crumb{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.crumb,.crumb a{color:var(--n-500)}.crumb a:hover{color:var(--n-900);text-decoration:none}.crumb .cur{color:var(--n-900);font-weight:500}.crumb .sep{color:var(--n-300)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.icon-btn{width:32px;height:32px;display:grid;place-items:center;padding:0;border-radius:var(--r-sm);color:var(--n-500);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.icon-btn:hover{background:var(--n-50);color:var(--n-900)}.icon-btn:active{background:var(--n-100)}.icon-btn.on{background:var(--a-50);color:var(--a-700)}.gsearch{position:relative;width:240px}.gsearch input{width:100%;height:32px;padding:0 var(--sp-6) 0 var(--sp-3);border-radius:var(--r-md);border:var(--bd) solid var(--n-200);background:var(--n-50);color:var(--n-900);font-size:var(--fs-sm);transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.gsearch input::-moz-placeholder{color:var(--n-400)}.gsearch input::placeholder{color:var(--n-400)}.gsearch input:hover{background:var(--n-0);border-color:var(--n-300)}.gsearch input:focus{outline:none;background:var(--n-0);border-color:var(--a-500);box-shadow:0 0 0 3px rgba(59,91,219,.12)}.gsearch kbd{position:absolute;right:var(--sp-2);top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:var(--fs-xs);color:var(--n-400);pointer-events:none}.usermenu{display:flex;align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-2);border-radius:var(--r-md);cursor:pointer;transition:background-color var(--t-fast) var(--ease)}.usermenu:hover{background:var(--n-50)}.avatar{width:24px;height:24px;border-radius:50%;background:var(--a-50);color:var(--a-700);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:600}.usermenu span{font-size:var(--fs-sm);color:var(--n-600)}.side{position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));overflow-y:auto;background:var(--n-0);border-right:var(--bd) solid var(--n-200);padding:var(--sp-3) var(--sp-2) var(--sp-6)}.side-brand{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-4)}.side-logo{width:24px;height:24px;border-radius:var(--r-sm);background:var(--n-900);color:#fff;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700}.side-brand b{font-size:var(--fs-md);color:var(--n-900);font-weight:600;letter-spacing:.02em}.side-group{margin-bottom:var(--sp-4)}.side-group-title{padding:0 var(--sp-2);margin-bottom:var(--sp-1);font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--n-400)}.side-link{display:flex;align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-md);color:var(--n-600);cursor:pointer;position:relative;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.side-link:hover{background:var(--n-50);color:var(--n-900);text-decoration:none}.side-link:active{background:var(--n-100)}.side-link.on{background:var(--a-50);color:var(--a-700);font-weight:500}.side-link.on:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:2px;height:16px;border-radius:0 2px 2px 0;background:var(--a-500)}.side-ico{flex:none;width:16px;height:16px;color:var(--n-400)}.side-link:hover .side-ico{color:var(--n-500)}.side-link.on .side-ico{color:var(--a-500)}.side-count{margin-left:auto;min-width:18px;padding:0 var(--sp-1);height:16px;display:grid;place-items:center;border-radius:8px;background:var(--n-100);color:var(--n-600);font-family:var(--mono);font-size:var(--fs-xs)}.side-count.hot{background:var(--a-50);color:var(--a-700)}.side-foot{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:var(--bd) solid var(--n-200)}.side-collapse{display:flex;align-items:center;gap:var(--sp-2);width:100%;height:32px;padding:0 var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--n-500);transition:background-color var(--t-fast) var(--ease)}.side-collapse:hover{background:var(--n-50);color:var(--n-900)}.main{min-width:0;padding:var(--sp-6) var(--sp-6) var(--sp-8)}.page-head{display:flex;align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-6);flex-wrap:wrap}.page-title{font-size:var(--fs-2xl);line-height:var(--lh-2xl);letter-spacing:var(--ls-2xl);font-weight:650}.page-desc{font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--n-500);margin-top:var(--sp-1)}.page-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);height:32px;padding:0 var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{background:var(--a-500);color:#fff}.btn-primary:hover{background:var(--a-600)}.btn-primary:active{background:var(--a-700)}.btn-secondary{background:var(--n-0);color:var(--n-700);border:var(--bd) solid var(--n-300)}.btn-secondary:hover{background:var(--n-50);border-color:var(--n-400)}.btn-secondary:active{background:var(--n-100)}.btn-ghost{color:var(--n-600)}.btn-ghost:hover{background:var(--n-50);color:var(--n-900)}.btn-danger{background:var(--n-0);color:var(--err-500);border:var(--bd) solid rgba(225,29,72,.32)}.btn-danger:hover{background:rgba(225,29,72,.06);border-color:var(--err-500)}.btn-lg{height:36px;padding:0 var(--sp-4);font-size:var(--fs-md)}.btn-sm{height:24px;padding:0 var(--sp-2);font-size:var(--fs-xs)}.btn-icon{width:32px;padding:0}.field{display:flex;flex-direction:column;gap:var(--sp-1)}.field-label{font-size:var(--fs-xs);font-weight:500;letter-spacing:.02em;color:var(--n-500)}.input,.select,.textarea{width:100%;height:32px;padding:0 var(--sp-2);border-radius:var(--r-md);background:var(--n-0);border:var(--bd) solid var(--n-300);color:var(--n-900);font-size:var(--fs-sm);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.textarea{height:auto;min-height:80px;padding:var(--sp-2);line-height:var(--lh-md);resize:vertical}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--n-400)}.input::placeholder,.textarea::placeholder{color:var(--n-400)}.input:hover,.select:hover,.textarea:hover{border-color:var(--n-400)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--a-500);box-shadow:0 0 0 3px rgba(59,91,219,.12)}.input.error,.select.error,.textarea.error{border-color:var(--err-500)}.input.error:focus{box-shadow:0 0 0 3px rgba(225,29,72,.12)}.select{cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0 var(--sp-6) 0 var(--sp-2);height:32px;line-height:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7484' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-2) center}.select option{background:var(--n-0);color:var(--n-900)}.field-err{font-size:var(--fs-xs);color:var(--err-500)}.field-hint{font-size:var(--fs-xs);color:var(--n-500)}.tbl-wrap{overflow:auto;background:var(--n-0);border:var(--bd) solid var(--n-200);border-radius:var(--r-lg)}.tbl{width:100%;font-size:var(--fs-md)}.tbl thead th{position:sticky;top:0;z-index:2;background:var(--n-50);padding:0 var(--sp-3);height:32px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--n-500);text-align:left;white-space:nowrap;border-bottom:var(--bd) solid var(--n-200)}.tbl thead th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tbl thead th.sortable:hover{color:var(--n-900);background:var(--n-100)}.th-in{display:flex;align-items:center;gap:var(--sp-1)}.th-sort{opacity:0;transition:opacity var(--t-fast) var(--ease)}th.sortable:hover .th-sort{opacity:.5}th[aria-sort] .th-sort{opacity:1;color:var(--a-500)}.th-filter{width:20px;height:20px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--n-400);opacity:0;transition:opacity var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}th:hover .th-filter{opacity:1}.th-filter:hover{background:var(--n-200);color:var(--n-700)}.th-filter.on{opacity:1;color:var(--a-500);background:var(--a-50)}.tbl tbody td{height:var(--row-h);padding:0 var(--sp-3);border-bottom:var(--bd) solid var(--n-200);color:var(--n-600);vertical-align:middle;white-space:nowrap}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background-color var(--t-fast) var(--ease)}.tbl tbody tr:hover{background:var(--n-25)}.tbl tbody tr.sel,.tbl tbody tr.sel:hover{background:var(--a-50)}.tbl .num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.tbl .strong{color:var(--n-900);font-weight:500}.tbl .wrap{white-space:normal}.tbl .muted{color:var(--n-400)}.tbl .w-check{width:40px;padding-right:0}.tbl .w-act{width:84px;text-align:right}.row-act{opacity:0;transition:opacity var(--t-fast) var(--ease)}tr.sel .row-act,tr:hover .row-act{opacity:1}.cbx{width:16px;height:16px;accent-color:var(--a-500);cursor:pointer;vertical-align:middle}.st{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--n-600)}.st-dot{width:6px;height:6px;border-radius:50%;flex:none}.st-new .st-dot{background:#3b82f6}.st-contacted .st-dot{background:#f59e0b}.st-quoted .st-dot{background:#a855f7}.st-won .st-dot{background:#22c55e}.st-lost .st-dot{background:var(--n-400)}.st-spam .st-dot{background:#f43f5e}.gr{gap:var(--sp-1);font-size:var(--fs-sm)}.gr-dot{width:6px;height:6px;border-radius:2px;flex:none}.gr-A .gr-dot{background:var(--a-500)}.gr-A .gr-txt{color:var(--a-700);font-weight:600}.gr-B .gr-dot{background:var(--n-400)}.gr-B .gr-txt{color:var(--n-600)}.gr-C .gr-dot{background:var(--n-300)}.gr-C .gr-txt{color:var(--n-500)}.tag{display:inline-flex;align-items:center;height:18px;padding:0 var(--sp-1);border-radius:var(--r-sm);font-size:var(--fs-xs);background:var(--n-100);color:var(--n-600);white-space:nowrap}.tag-a{background:var(--a-50);color:var(--a-700)}.tag-ok{background:rgba(22,163,74,.1);color:var(--ok-500)}.tag-warn{background:rgba(217,119,6,.1);color:var(--warn-500)}.tag-err{background:rgba(225,29,72,.1);color:var(--err-500)}.bulkbar{display:none;align-items:center;gap:var(--sp-3);height:40px;padding:0 var(--sp-3);margin-bottom:var(--sp-2);border-radius:var(--r-md);background:var(--n-900);color:#fff;animation:bulkIn var(--t-base) var(--ease)}.bulkbar.on{display:flex}@keyframes bulkIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.bulkbar b{font-size:var(--fs-sm);font-weight:600}.bulkbar .btn{height:24px;font-size:var(--fs-xs)}.bulkbar .btn-secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}.bulkbar .btn-secondary:hover{background:rgba(255,255,255,.18)}.bulkbar .sep{width:1px;height:16px;background:rgba(255,255,255,.2)}.bulk-clear{margin-left:auto;padding:0;font-size:var(--fs-xs);color:rgba(255,255,255,.7);background:none;border:none;cursor:pointer}.bulk-clear:hover{color:#fff}.filters{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap}.filters .input,.filters .select{width:auto;min-width:120px}.filter-count{margin-left:auto;font-size:var(--fs-sm);color:var(--n-500)}.density{display:flex;gap:var(--sp-1);padding:var(--sp-1);border-radius:var(--r-md);background:var(--n-100)}.density button{width:24px;height:24px;padding:0;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--n-500);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.density button:hover{color:var(--n-900)}.density button.on{background:var(--n-0);color:var(--a-700);box-shadow:var(--sh-1)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-8) var(--sp-4);text-align:center}.empty-ico{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r-lg);background:var(--n-50);color:var(--n-300);margin-bottom:var(--sp-1)}.empty-title{font-size:var(--fs-md);color:var(--n-700);font-weight:500}.empty-hint{font-size:var(--fs-sm);color:var(--n-500);max-width:44ch}.panel{background:var(--n-0);border:var(--bd) solid var(--n-200);border-radius:var(--r-lg);overflow:hidden}.panel-head{display:flex;align-items:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-4);border-bottom:var(--bd) solid var(--n-200)}.panel-title{font-size:var(--fs-lg);font-weight:600;letter-spacing:var(--ls-lg);color:var(--n-900)}.panel-desc{font-size:var(--fs-sm);color:var(--n-500)}.panel-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.panel-body{padding:var(--sp-4)}.panel-body.tight{padding:0}.section{margin-bottom:var(--sp-6)}.block{margin-bottom:var(--sp-8)}.section-head{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-3)}.section-title{font-size:var(--fs-lg);font-weight:600;color:var(--n-900)}.section-desc{font-size:var(--fs-sm);color:var(--n-500)}.section-right{margin-left:auto}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-3);margin-bottom:var(--sp-6)}.kpi{padding:var(--sp-3) var(--sp-4);background:var(--n-0);border:var(--bd) solid var(--n-200);border-radius:var(--r-lg)}.kpi-k{display:block;font-size:var(--fs-xs);letter-spacing:.02em;color:var(--n-500);margin-bottom:var(--sp-1)}.kpi-v{display:block;font-family:var(--mono);font-size:var(--fs-xl);line-height:var(--lh-xl);letter-spacing:var(--ls-xl);font-weight:600;color:var(--n-900);font-variant-numeric:tabular-nums}.kpi.good .kpi-v{color:var(--a-700)}.kpi.warn .kpi-v{color:var(--warn-500)}.kpi-hint{display:block;font-size:var(--fs-xs);color:var(--n-400);margin-top:var(--sp-1)}.viz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.viz{padding:var(--sp-4);background:var(--n-0);border:var(--bd) solid var(--n-200);border-radius:var(--r-lg)}.viz-tag{display:inline-flex;align-items:center;gap:var(--sp-1);font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.08em;color:var(--a-700);margin-bottom:var(--sp-1)}.viz-title{font-size:var(--fs-md);font-weight:600;color:var(--n-900)}.viz-sub{font-size:var(--fs-xs);color:var(--n-500);margin-top:var(--sp-1);margin-bottom:var(--sp-3)}.viz svg{display:block;width:100%;height:auto;overflow:visible}.cmdk-mask{position:fixed;inset:0;z-index:100;background:rgba(15,20,32,.4);backdrop-filter:blur(2px);display:none;align-items:flex-start;justify-content:center;padding-top:96px}.cmdk-mask.on{display:flex;animation:maskIn var(--t-fast) var(--ease)}@keyframes maskIn{0%{opacity:0}to{opacity:1}}.cmdk{width:640px;max-width:calc(100vw - 32px);background:var(--n-0);border-radius:var(--r-lg);box-shadow:var(--sh-2);overflow:hidden;animation:cmdkIn var(--t-base) var(--ease)}@keyframes cmdkIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.cmdk-input{width:100%;height:48px;padding:0 var(--sp-4);border:none;border-bottom:var(--bd) solid var(--n-200);font-size:var(--fs-lg);color:var(--n-900)}.cmdk-input:focus{outline:none}.cmdk-input::-moz-placeholder{color:var(--n-400)}.cmdk-input::placeholder{color:var(--n-400)}.cmdk-list{max-height:380px;overflow-y:auto;padding:var(--sp-2)}.cmdk-group{padding:var(--sp-2) var(--sp-2) var(--sp-1);font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--n-400)}.cmdk-item{display:flex;align-items:center;gap:var(--sp-3);height:36px;padding:0 var(--sp-2);border-radius:var(--r-sm);cursor:pointer}.cmdk-item.on{background:var(--a-50)}.cmdk-ico{width:16px;height:16px;color:var(--n-400);flex:none}.cmdk-item.on .cmdk-ico{color:var(--a-500)}.cmdk-txt{font-size:var(--fs-md);color:var(--n-900)}.cmdk-item.on .cmdk-txt{color:var(--a-700)}.cmdk-key,.cmdk-sub{font-size:var(--fs-xs);color:var(--n-400)}.cmdk-key{margin-left:auto;font-family:var(--mono)}.cmdk-foot{gap:var(--sp-3);height:32px;padding:0 var(--sp-4);border-top:var(--bd) solid var(--n-200);background:var(--n-50);font-size:var(--fs-xs);color:var(--n-500)}.cmdk-foot,.status-flow{display:flex;align-items:center}.status-flow{gap:var(--sp-1);flex-wrap:wrap}.sflow-step{height:28px;padding:0 var(--sp-2);border-radius:var(--r-md);border:var(--bd) solid var(--n-300);background:var(--n-0);font-size:var(--fs-sm);color:var(--n-500);cursor:pointer;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.sflow-step:hover{border-color:var(--a-500);color:var(--a-700)}.sflow-step:active{background:var(--a-50)}.sflow-step.on{background:var(--a-500);border-color:var(--a-500);color:#fff;font-weight:500}.sflow-step.done{background:var(--n-50);color:var(--n-700);border-color:var(--n-200)}.sflow-arrow{color:var(--n-300);font-size:var(--fs-xs)}.panel-body>*+*{margin-top:var(--sp-4)}.panel-body>.tbl-wrap{margin-left:calc(var(--sp-4) * -1);margin-right:calc(var(--sp-4) * -1)}main>.panel+.panel{margin-top:var(--sp-6)}.src-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}.src{padding:var(--sp-3);border-radius:var(--r-lg);border:var(--bd) solid var(--n-200);background:var(--n-0);text-align:left;cursor:pointer;transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.src:hover{border-color:var(--n-400)}.src:active{background:var(--n-50)}.src.on{border-color:var(--a-500);background:var(--a-50)}.src-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);color:var(--n-500)}.src.on .src-head{color:var(--a-600)}.src-name{font-size:var(--fs-md);font-weight:600;color:var(--n-900)}.src-badge{margin-left:auto;padding:0 var(--sp-1);height:18px;display:inline-flex;align-items:center;border-radius:var(--r-sm);background:var(--n-100);color:var(--n-500);font-size:var(--fs-xs)}.src-badge.ready{background:rgba(22,163,74,.1);color:var(--ok-500)}.src-badge.plan{background:rgba(217,119,6,.1);color:var(--warn-500)}.src-desc{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--n-500)}.drop{padding:var(--sp-8) var(--sp-4);border:var(--bd) dashed var(--n-300);border-radius:var(--r-lg);background:var(--n-0);text-align:center;cursor:pointer;transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.drop.over,.drop:hover{border-color:var(--a-500);background:var(--a-50)}.drop-title{font-size:var(--fs-lg);font-weight:500;color:var(--n-900);margin-bottom:var(--sp-1)}.drop-hint{font-size:var(--fs-sm);color:var(--n-500)}.drop-formats{margin-top:var(--sp-3);display:flex;gap:var(--sp-1);justify-content:center;flex-wrap:wrap}.map-tbl{width:100%;font-size:var(--fs-sm)}.map-tbl th{text-align:left;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--n-500);background:var(--n-50)}.map-tbl td,.map-tbl th{padding:var(--sp-2) var(--sp-3);border-bottom:var(--bd) solid var(--n-200)}.map-tbl td{color:var(--n-600)}.map-tbl .select{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm)}.pipe{display:flex;background:var(--n-0);border:var(--bd) solid var(--n-200);border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--sp-4)}.pipe-step{flex:1;padding:var(--sp-3);border-right:var(--bd) solid var(--n-200);min-width:0}.pipe-step:last-child{border-right:none}.pipe-n{display:flex;align-items:center;gap:var(--sp-1);font-family:var(--mono);color:var(--n-400);margin-bottom:var(--sp-1)}.pipe-dot,.pipe-n{font-size:var(--fs-xs)}.pipe-dot{width:16px;height:16px;border-radius:50%;border:var(--bd) solid var(--n-300);display:grid;place-items:center;color:var(--n-400);flex:none}.pipe-t{font-size:var(--fs-sm);color:var(--n-500)}.pipe-step.done .pipe-dot{background:var(--ok-500);border-color:var(--ok-500);color:#fff}.pipe-step.done .pipe-t{color:var(--n-900)}.pipe-step.active .pipe-dot{background:var(--a-500);border-color:var(--a-500);color:#fff}.pipe-step.active .pipe-t{color:var(--n-900);font-weight:600}.pipe-s{font-size:var(--fs-xs);color:var(--n-400);margin-top:var(--sp-1)}.check-line{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:var(--bd) solid var(--n-200);font-size:var(--fs-sm)}.check-line:last-child{border-bottom:none}.check-ico{width:16px;height:16px;flex:none;margin-top:2px}.check-msg{color:var(--n-600)}.check-msg b{color:var(--n-900)}.check-msg.err{color:var(--err-500)}.check-msg.warn{color:var(--warn-500)}.toolbar{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap}.toolbar .input,.toolbar .select{width:auto;min-width:120px}.toolbar-search{position:relative;flex:1;min-width:180px;max-width:300px}.toolbar-search .input{width:100%;padding-left:var(--sp-4)}.toolbar-search .search-ico{position:absolute;left:var(--sp-2);top:50%;transform:translateY(-50%);color:var(--n-400);pointer-events:none}.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.enrich-row{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:var(--bd) solid var(--n-200);font-size:var(--fs-sm)}.enrich-row:last-child{border-bottom:none}.enrich-ico{width:16px;height:16px;flex:none;margin-top:var(--sp-1)}.enrich-name{font-size:var(--fs-md);font-weight:500;color:var(--n-900)}.enrich-code{font-family:var(--mono);font-size:var(--fs-xs);color:var(--n-500);margin-left:var(--sp-2)}.enrich-body{margin-top:var(--sp-1);line-height:var(--lh-xs);color:var(--n-600)}.enrich-body,.enrich-body .c-a700,.enrich-err{font-size:var(--fs-xs)}.enrich-err{margin-top:var(--sp-1);color:var(--err-500)}.commit-box{text-align:center;padding:var(--sp-6) 0}.commit-ico{margin-bottom:var(--sp-3)}.commit-title{font-size:var(--fs-lg);font-weight:600;color:var(--n-900)}.commit-sub{font-size:var(--fs-sm);color:var(--n-500);margin-top:var(--sp-1)}.commit-actions{justify-content:center;margin-top:var(--sp-4)}.btn-row,.commit-actions{display:flex;gap:var(--sp-2)}.btn-row{flex-wrap:wrap;margin-top:var(--sp-2)}.divider-block{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:var(--bd) solid var(--n-200)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.form-grid .span-2{grid-column:1/-1}.opacity-75{opacity:.75}.fn-row{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1)}.fn-label{width:48px;font-size:var(--fs-xs);color:var(--n-600);flex:none}.fn-bar-wrap{flex:1;min-width:0}.fn-bar{height:24px;border-radius:var(--r-sm);display:flex;align-items:center;padding-left:var(--sp-2);color:#fff;font-family:var(--mono);font-size:var(--fs-xs);font-weight:600;transition:width .6s var(--ease);min-width:24px}.fn-bar.light{color:var(--a-700)}.fn-conv{font-family:var(--mono);font-size:var(--fs-xs);color:var(--n-500);width:40px;text-align:right;flex:none}.histo{align-items:flex-end;height:96px}.histo,.histo-col{display:flex;gap:var(--sp-1)}.histo-col{flex:1;height:100%;flex-direction:column;justify-content:flex-end;align-items:center}.histo-bar{width:100%;border-radius:var(--r-sm) var(--r-sm) 0 0;background:var(--n-200);transition:height .6s var(--ease);min-height:2px}.histo-col.g-A .histo-bar{background:var(--a-500)}.histo-col.g-B .histo-bar{background:var(--n-300)}.histo-col.g-C .histo-bar{background:var(--n-200)}.histo-n{font-family:var(--mono);font-size:var(--fs-xs);color:var(--n-500)}.histo-axis{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:var(--bd) solid var(--n-200)}.histo-axis,.trend-axis{display:flex;justify-content:space-between;font-family:var(--mono);font-size:var(--fs-xs);color:var(--n-500)}.trend-axis{margin-top:var(--sp-1)}.trend-legend{display:flex;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fs-xs);color:var(--n-500);margin-top:var(--sp-2)}.trend-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:var(--sp-1);vertical-align:baseline}.map-wrap{position:relative}.map-dot{transition:r .3s var(--ease)}.map-legend{display:flex;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--fs-xs);color:var(--n-500);margin-top:var(--sp-2)}.map-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:var(--sp-1)}.d-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--sp-6);align-items:start}.d-col{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}@media (max-width:1240px){.d-layout{grid-template-columns:1fr}}.margin-cell{display:inline-flex;align-items:center;gap:var(--sp-2)}.margin-num{font-family:var(--mono);font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums;width:38px;text-align:right;flex:none}.margin-num.m-good{color:var(--ok-500)}.margin-num.m-mid{color:var(--ink-900)}.margin-num.m-low{color:var(--err-500)}.margin-track{width:56px;height:5px;border-radius:3px;background:var(--n-100);overflow:hidden;flex:none}.margin-track>i{display:block;height:100%;border-radius:3px;transition:width .6s var(--ease)}.margin-track>i.m-good{background:var(--ok-500)}.margin-track>i.m-mid{background:var(--n-400)}.margin-track>i.m-low{background:var(--err-500)}.cat-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:var(--bd) solid var(--n-200)}.cat-row:last-child{border-bottom:none}.cat-row-main{flex:1;min-width:0}.cat-row-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1)}.cat-name{font-size:var(--fs-md);font-weight:600;color:var(--n-900)}.cat-row-meta{display:block}.cat-row-act{align-items:center;flex:none;text-align:right;min-width:180px;flex-direction:column;align-items:flex-end}.cat-row-act,.rule-line{display:flex;gap:var(--sp-2)}.rule-line{align-items:flex-start;padding:var(--sp-2) 0;font-size:var(--fs-sm);line-height:var(--lh-sm)}.rule-dot{width:6px;height:6px;border-radius:50%;margin-top:6px;flex:none}.rule-dot.warn{background:var(--warn-500)}.rule-dot.ok{background:var(--ok-500)}.rule-txt{color:var(--text-mid)}.rule-txt b{color:var(--text-hi)}.conv-list{display:flex;flex-direction:column;gap:var(--sp-2)}.conv-row{display:grid;grid-template-columns:64px minmax(0,1fr) 40px 62px 44px;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs)}.conv-code{color:var(--n-500)}.conv-track{height:6px;border-radius:3px;background:var(--n-100);overflow:hidden}.conv-track>i{display:block;height:100%;border-radius:3px}.conv-track>i.m-good{background:var(--a-500)}.conv-track>i.m-low{background:var(--n-200)}.conv-num{color:var(--n-900);font-variant-numeric:tabular-nums}.conv-inq,.conv-num,.conv-rate{text-align:right}.conv-rate{font-weight:600}.stack-bar{display:flex;height:24px;border-radius:var(--r-sm);overflow:hidden;background:var(--n-100)}.stack-seg{height:100%;transition:width .6s var(--ease)}.stack-legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--n-500)}.stack-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:var(--sp-1)}.link-preview{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--n-50);border:var(--bd) solid var(--n-200)}.link-preview-k{font-size:var(--fs-xs);font-weight:600;color:var(--n-500);letter-spacing:.04em;flex:none}.link-preview code{flex:1;min-width:0;font-size:var(--fs-xs);color:var(--n-900);word-break:break-all}.link-code{padding:1px var(--sp-1);border-radius:var(--r-sm);background:var(--cy-50);color:var(--cy-700)}.matrix-tbl td{text-align:center}.matrix-tbl td:first-child{text-align:left}.matrix-empty{color:var(--ink-300);font-size:var(--fs-md)}.cov{display:inline-flex;align-items:center;gap:var(--sp-2)}.cov-track{width:52px;height:5px;border-radius:3px;background:var(--n-100);overflow:hidden}.cov-track>i{display:block;height:100%;border-radius:3px;background:var(--a-500)}.cov-num{font-size:var(--fs-xs);color:var(--n-500)}.tpl-item{padding:var(--sp-3) 0;border-bottom:var(--bd) solid var(--n-200)}.tpl-item:last-child{border-bottom:none}.tpl-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.tpl-locale{padding:1px var(--sp-1);border-radius:var(--r-sm);background:var(--n-100);font-size:var(--fs-xs);font-weight:600;color:var(--n-600);flex:none}.tpl-subject{font-size:var(--fs-sm);color:var(--n-900);font-weight:500;min-width:0}.tpl-time{margin-left:auto;flex:none}.tpl-act{flex:none}.tpl-body{font-size:var(--fs-xs);line-height:var(--lh-sm);color:var(--n-500);white-space:pre-wrap;font-family:var(--mono);max-height:96px;overflow-y:auto;padding:var(--sp-2);border-radius:var(--r-sm);background:var(--n-25)}.vars-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.var-item{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2);border-radius:var(--r-md);border:var(--bd) solid var(--n-200);background:var(--surface);text-align:left;transition:border-color var(--t-fast) var(--ease)}.var-item:hover{border-color:var(--a-500)}.var-item code{font-size:var(--fs-xs);color:var(--cy-700)}.var-desc{font-size:var(--fs-xs);color:var(--n-500)}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.locale-tabs{display:flex;gap:var(--sp-1);margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:var(--bd) solid var(--n-200)}.locale-tab{display:inline-flex;align-items:center;gap:var(--sp-1);height:28px;padding:0 var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--n-500);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.locale-tab:hover{background:var(--n-50);color:var(--n-900)}.locale-tab.on{background:var(--n-900);color:#fff;font-weight:500}.locale-warn{font-size:var(--fs-xs);color:var(--warn-500);padding:0 4px;border-radius:3px;background:rgba(217,119,6,.12)}.locale-tab.on .locale-warn{color:#fcd34d;background:rgba(252,211,77,.16)}.locale-pane{padding:var(--sp-4);border-radius:var(--r-md);background:var(--n-25)}.form-actions{display:flex;align-items:center;gap:var(--sp-2);padding-top:var(--sp-4);border-top:var(--bd) solid var(--n-200)}.form-actions-hint{font-size:var(--fs-xs);color:var(--n-500);margin-left:auto}.login-body{background:var(--n-25);min-height:100vh}.login-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);min-height:100vh}.login-side{padding:var(--sp-8) var(--sp-8) var(--sp-8) 5vw;display:flex;flex-direction:column;justify-content:flex-start;padding-top:12vh;background:var(--surface);border-right:var(--bd) solid var(--n-200)}.login-side-inner{max-width:480px;width:100%}.login-brand{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--mono);font-size:var(--fs-md);font-weight:700;letter-spacing:.04em;color:var(--n-900);margin-bottom:var(--sp-8)}.login-title{font-size:var(--fs-2xl);line-height:var(--lh-2xl);letter-spacing:var(--ls-2xl);font-weight:650}.login-sub{font-size:var(--fs-md);color:var(--n-500);margin-top:var(--sp-1)}.login-points{margin-top:var(--sp-8);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4) var(--sp-6);max-width:560px}.login-points li{display:flex;flex-direction:column;gap:var(--sp-1)}.lp-k{font-size:var(--fs-xs);font-weight:600;color:var(--cy-700);letter-spacing:.04em}.lp-v{font-size:var(--fs-sm);color:var(--n-600);line-height:var(--lh-sm)}.login-main{display:flex;align-items:center;justify-content:center;padding:var(--sp-8) var(--sp-6)}.login-card{width:100%;max-width:360px}.login-card-title{font-size:var(--fs-xl);line-height:var(--lh-xl);letter-spacing:var(--ls-xl);font-weight:600}.login-card-sub{font-size:var(--fs-sm);color:var(--n-500);margin:var(--sp-1) 0 var(--sp-6)}.login-submit{margin-top:var(--sp-3)}.login-err{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--err-50);box-shadow:inset 2px 0 0 var(--err-500);font-size:var(--fs-sm);color:#9f1239;animation:fadeUp .2s var(--ease)}.pwd-wrap{position:relative}.pwd-wrap .input{padding-right:var(--sp-8)}.pwd-eye{position:absolute;right:var(--sp-2);top:50%;transform:translateY(-50%);width:24px;height:24px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--n-400);transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.pwd-eye:hover{color:var(--n-700);background:var(--n-100)}.pwd-eye.on{color:var(--a-600)}.login-foot{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:var(--bd) solid var(--n-200);font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--n-500)}@media (max-width:1000px){.login-wrap{grid-template-columns:1fr}.login-side{padding:var(--sp-6) var(--sp-4);border-right:none;border-bottom:var(--bd) solid var(--n-200)}.login-points{display:none}.login-main{padding:var(--sp-6) var(--sp-4)}.vars-grid{grid-template-columns:1fr}}.note{display:block;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--n-50);box-shadow:inset 2px 0 0 var(--n-300);font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--n-600)}.note.warn{background:rgba(217,119,6,.07);color:#92400e;box-shadow:inset 2px 0 0 var(--warn-500)}.note.info{box-shadow:inset 2px 0 0 var(--a-500)}.note.err{box-shadow:inset 2px 0 0 var(--err-500)}.note.info{background:var(--a-50);color:var(--a-700)}.note.err{background:rgba(225,29,72,.06);color:#9f1239}.score-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-4)}.score-big{font-family:var(--mono);font-size:var(--fs-2xl);line-height:var(--lh-2xl);letter-spacing:var(--ls-2xl);font-weight:650;color:var(--n-900);font-variant-numeric:tabular-nums}.score-big .of{font-size:var(--fs-sm);color:var(--n-400);font-weight:400;letter-spacing:0}.score-why{margin-left:auto;text-align:right}.score-why-t{font-size:var(--fs-xs);color:var(--n-500)}.score-why-v{font-size:var(--fs-sm);color:var(--n-900);font-weight:500;margin-top:var(--sp-1)}.sdims{display:flex;flex-direction:column;gap:var(--sp-2)}.sdim{display:grid;grid-template-columns:72px minmax(0,1fr) 56px;align-items:center;gap:var(--sp-3)}.sdim-k{font-size:var(--fs-sm);color:var(--n-600)}.sdim-track{height:6px;border-radius:3px;background:var(--n-100);overflow:hidden}.sdim-fill{display:block;height:100%;border-radius:3px;background:var(--n-300);transition:width .6s var(--ease)}.sdim-fill.got{background:var(--a-500)}.sdim-fill.max{background:var(--warn-500)}.sdim-v{font-family:var(--mono);font-size:var(--fs-xs);text-align:right;color:var(--n-500);font-variant-numeric:tabular-nums}.sdim-v b{color:var(--n-900)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.anim-in{opacity:0}.loaded .anim-in{animation:fadeUp .3s var(--ease) both}.d1{animation-delay:40ms}.d2{animation-delay:80ms}.d3{animation-delay:.12s}.d4{animation-delay:.16s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}.anim-in{opacity:1!important;transform:none!important}}@media (max-width:1240px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.viz-grid{grid-template-columns:1fr}}@media (max-width:1000px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;display:flex;gap:var(--sp-1);overflow-x:auto;border-right:none;border-bottom:var(--bd) solid var(--n-200);padding:var(--sp-2)}.side-brand,.side-foot,.side-group-title{display:none}.side-group{display:flex;gap:var(--sp-1);margin:0}.side-link{white-space:nowrap;flex:0 0 auto}.side-link.on:before{display:none}.main{padding:var(--sp-4) var(--sp-3) var(--sp-6)}}@media (max-width:720px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.page-title{font-size:var(--fs-xl)}.gsearch{width:140px}.gsearch kbd,.usermenu span{display:none}.cmdk{max-width:calc(100vw - 16px)}}.rd{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) 0;border-bottom:var(--bd) solid var(--n-200);font-size:var(--fs-sm)}.rd:last-child{border-bottom:none}.rd-k{color:var(--n-500)}.rd-v{color:var(--n-900);word-break:break-word}.rd-v.mono{font-family:var(--mono);font-size:var(--fs-xs)}.quote-block{padding:var(--sp-3);border-radius:var(--r-md);background:var(--n-50);box-shadow:inset 2px 0 0 var(--n-300);font-size:var(--fs-sm);line-height:var(--lh-md);color:var(--n-900)}.quote-meta{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--n-500)}.timeline{display:flex;flex-direction:column}.tl-item{display:grid;grid-template-columns:16px minmax(0,1fr);gap:var(--sp-3)}.tl-rail{display:flex;flex-direction:column;align-items:center}.tl-dot{width:6px;height:6px;border-radius:50%;background:var(--a-500);margin-top:var(--sp-2);flex:none}.tl-line{flex:1;width:1px;background:var(--n-200);margin:var(--sp-1) 0}.tl-item:last-child .tl-line{display:none}.tl-body{padding-bottom:var(--sp-3);min-width:0}.tl-time{font-family:var(--mono);font-size:var(--fs-xs);color:var(--n-500)}.tl-text{font-size:var(--fs-sm);color:var(--n-600);margin-top:var(--sp-1);line-height:var(--lh-md);word-break:break-word}.score-panel{padding:var(--sp-4)}.w-auto{width:auto;min-width:120px}.crumbs{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);margin-bottom:var(--sp-2)}.crumbs,.crumbs a{color:var(--n-500)}.crumbs a:hover{color:var(--n-900);text-decoration:none}.crumbs .sep{color:var(--n-300)}.crumbs .cur{color:var(--n-900);font-weight:500}.panel-head-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.tag-cy{background:var(--a-50);color:var(--a-700)}.kbd-hint{position:fixed;left:50%;bottom:var(--sp-6);transform:translateX(-50%) translateY(120%);display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-radius:999px;background:var(--n-900);box-shadow:var(--sh-2);font-size:var(--fs-xs);color:var(--ink-300);z-index:60;opacity:0;transition:transform var(--t-base) var(--ease),opacity var(--t-base) var(--ease);pointer-events:none;white-space:nowrap}.kbd-hint.show{transform:translateX(-50%) translateY(0);opacity:1}.kbd-hint b{color:#fff;font-weight:500}.table-wrap{overflow:auto}.offer-ck,.row-cbx{width:16px;height:16px;accent-color:var(--a-500);cursor:pointer;vertical-align:middle}.co-name{display:block;color:var(--n-900);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.co-name{color:var(--a-700)}a.co-name:hover{color:var(--a-500);text-decoration:underline}.co-sub{display:block;font-size:var(--fs-xs);color:var(--n-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm)}.score-top{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-4)}.score-grade-tag{display:inline-flex;align-items:center;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);font-family:var(--mono);font-size:var(--fs-sm);font-weight:700;background:var(--a-50);color:var(--a-700)}.score-dims{display:flex;flex-direction:column;gap:var(--sp-2)}.score-miss{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--warn-50);box-shadow:inset 2px 0 0 var(--warn-500);font-size:var(--fs-sm);line-height:var(--lh-sm);color:#92400e}.score-miss.ok{background:var(--ok-50);box-shadow:inset 2px 0 0 var(--ok-500);color:#166534}.shell.side-narrow .side-brand{justify-content:center;padding-inline:0}.shell.side-narrow .side-link{justify-content:center;padding:0}.shell.side-narrow .side-link .side-ico{margin:0}.shell.side-narrow .side-collapse{justify-content:center;padding:0}.qcard{position:relative;background:var(--n-0);border:var(--bd) solid var(--n-200);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-2);overflow:hidden}.qcard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--n-300)}.qcard.g-a:before{background:var(--a-500);box-shadow:0 0 8px var(--a-500)}.qcard.g-b:before{background:var(--n-300)}.qcard.g-c:before{background:var(--n-400);opacity:.55}.qcard.is-cursor{border-color:var(--a-500)}.qcard-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);flex-wrap:wrap}.qcard-company{font-size:var(--fs-md);font-weight:600;color:var(--n-900)}.qcard-meta{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);color:var(--n-500);margin-bottom:var(--sp-2)}.qcard-msg{font-size:var(--fs-sm);color:var(--n-600);line-height:var(--lh-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qcard-action{margin-top:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-left:3px solid var(--a-500);background:var(--a-50);font-size:var(--fs-xs);color:var(--a-700)}.qcard-action.warn{border-left-color:var(--warn-500);background:var(--warn-50);color:var(--warn-500)}.qcard-foot{display:flex;justify-content:space-between;align-items:center;margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--n-400)}.qcard-open{color:var(--a-700);font-weight:500}.gr{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:22px;height:22px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:700;flex:none}.gr-dot{display:none}.gr-a{background:var(--a-50);color:var(--a-700)}.gr-b{background:var(--warn-50);color:var(--warn-500)}.gr-c{background:var(--n-100);color:var(--n-500)}.tbl tbody tr.cursor{position:relative;background:var(--a-50)}.tbl tbody tr.cursor:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--a-600)}.qcard.is-cursor{box-shadow:inset 3px 0 0 var(--a-600)}.kbd{display:inline-flex;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:var(--bd) solid var(--n-200);border-bottom-width:2px;border-radius:4px;background:var(--n-0);font-family:var(--font-mono);font-size:11px;color:var(--n-500)}.kbd,.list-tools{align-items:center}.list-tools{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}.kbd-hint-inline{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:var(--fs-xs);color:var(--n-400)}.kbd-hint-inline .kbd{height:16px;min-width:16px;font-size:10px}@media (max-width:960px){.kbd-hint-inline{display:none}}.tbl td.c-msg{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--n-600)}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--n-500)}.score-grade-tag.grade-b{background:var(--warn-50);color:var(--warn-500)}.score-grade-tag.grade-c{background:var(--n-100);color:var(--n-500)}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) var(--sp-4);font-size:var(--fs-sm)}.kv-full{grid-column:1/-1}.kv dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-2,.04em);color:var(--n-400)}.kv dd{margin-top:2px;color:var(--n-800,var(--n-900))}.kv dd a{color:var(--a-700)}.kv dd a:hover{text-decoration:underline}.quote-block{margin-top:var(--sp-3)}.quote-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--n-400);margin-bottom:var(--sp-1)}.quote-text{white-space:pre-wrap}.link-danger{color:var(--n-400)}.link-danger:hover{color:var(--err-500)}.trunc{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}