.spinning[data-v-1a510419]{animation:spin-1a510419 .7s ease}@keyframes spin-1a510419{to{transform:rotate(360deg)}}.user-guest[data-v-1a510419]{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:#ffffffb3;color:var(--muted);font-size:14px}.user-guest[data-v-1a510419]:hover{color:var(--ink);border-color:var(--accent)}.user-menu[data-v-1a510419]{position:relative}.user-trigger[data-v-1a510419]{display:inline-flex;align-items:center;gap:9px;padding:7px 12px 7px 8px;border:1px solid var(--line);border-radius:12px;background:#ffffffb3;color:var(--ink)}.user-trigger[data-v-1a510419]:hover{border-color:var(--accent)}.user-avatar[data-v-1a510419]{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff9e8;background:linear-gradient(140deg,var(--accent),var(--navy));font-size:14px;font-weight:700}.user-name[data-v-1a510419]{font-size:14px;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta[data-v-1a510419]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.2}.user-trigger svg[data-v-1a510419]{color:var(--muted);transition:transform .15s}.user-trigger svg.flip[data-v-1a510419]{transform:rotate(180deg)}.user-dropdown[data-v-1a510419]{position:absolute;top:calc(100% + 8px);right:0;min-width:168px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);z-index:20}.user-dropdown button[data-v-1a510419]{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:var(--ink);font-size:14px;text-align:left}.user-dropdown button[data-v-1a510419]:hover{background:#1c2f3d0f}.user-dropdown button.danger[data-v-1a510419]{color:var(--danger)}.user-dropdown button.danger[data-v-1a510419]:hover{background:#c55f571a}.toast-host[data-v-ed6661aa]{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.toast[data-v-ed6661aa]{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:12px;font-size:14px;color:var(--ink);background:#ffffffeb;border:1px solid var(--line);box-shadow:0 12px 30px #122b3d29;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast.warn[data-v-ed6661aa]{color:var(--warn)}.toast.success[data-v-ed6661aa]{color:var(--accent-2)}.toast svg[data-v-ed6661aa]{flex:0 0 auto}.toast-enter-active[data-v-ed6661aa],.toast-leave-active[data-v-ed6661aa]{transition:opacity .3s ease,transform .3s ease}.toast-enter-from[data-v-ed6661aa],.toast-leave-to[data-v-ed6661aa]{opacity:0;transform:translateY(-12px)}.dialog-mask[data-v-2a356d71]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;background:#122b3d61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-card[data-v-2a356d71]{width:400px;max-width:calc(100vw - 40px);padding:26px 26px 22px;border-radius:20px;background:#fff;box-shadow:0 30px 70px #122b3d4d}.dialog-head[data-v-2a356d71]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.dialog-icon[data-v-2a356d71]{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px}.dialog-icon.primary[data-v-2a356d71]{color:var(--accent);background:#32759d1f}.dialog-icon.danger[data-v-2a356d71]{color:var(--danger);background:#c55f571f}.dialog-icon.success[data-v-2a356d71]{color:var(--accent-2);background:#1e8a781f}.dialog-row-val[data-v-2a356d71]{display:inline-flex;align-items:center;gap:8px}.dialog-copy[data-v-2a356d71]{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--accent)}.dialog-copy[data-v-2a356d71]:hover{border-color:var(--accent);background:#32759d14}.dialog-head h3[data-v-2a356d71]{margin:0;font-size:18px;color:var(--ink)}.dialog-message[data-v-2a356d71]{margin:0 0 16px;color:var(--muted);line-height:1.7;font-size:14px}.dialog-rows[data-v-2a356d71]{margin:0 0 20px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.dialog-row[data-v-2a356d71]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px}.dialog-row+.dialog-row[data-v-2a356d71]{border-top:1px solid var(--line)}.dialog-row span[data-v-2a356d71]{color:var(--muted)}.dialog-row strong[data-v-2a356d71]{color:var(--ink);font-size:15px}.dialog-row strong.accent[data-v-2a356d71]{color:var(--accent-2);font-size:17px}.dialog-actions[data-v-2a356d71]{display:flex;justify-content:flex-end;gap:12px}.dialog-btn[data-v-2a356d71]{min-width:84px;height:40px;padding:0 18px;border:0;border-radius:11px;font-size:14px;font-weight:600}.dialog-btn.ghost[data-v-2a356d71]{background:#1c2f3d0f;color:var(--muted)}.dialog-btn.ghost[data-v-2a356d71]:hover{color:var(--ink);background:#1c2f3d1a}.dialog-btn.primary[data-v-2a356d71]{color:#fff9e8;background:linear-gradient(140deg,var(--accent),var(--navy))}.dialog-btn.danger[data-v-2a356d71]{color:#fff;background:linear-gradient(140deg,#d8736b,var(--danger))}.dialog-btn.success[data-v-2a356d71]{color:#fff;background:linear-gradient(140deg,#2bb38a,var(--accent-2))}.dialog-btn[data-v-2a356d71]:hover{filter:brightness(1.05)}.dialog-enter-active[data-v-2a356d71],.dialog-leave-active[data-v-2a356d71]{transition:opacity .2s ease}.dialog-enter-active .dialog-card[data-v-2a356d71],.dialog-leave-active .dialog-card[data-v-2a356d71]{transition:transform .2s ease,opacity .2s ease}.dialog-enter-from[data-v-2a356d71],.dialog-leave-to[data-v-2a356d71]{opacity:0}.dialog-enter-from .dialog-card[data-v-2a356d71],.dialog-leave-to .dialog-card[data-v-2a356d71]{transform:scale(.94) translateY(8px);opacity:0}:root{--bg: #edf1f3;--panel: rgba(255, 255, 255, .78);--panel-strong: #ffffff;--ink: #1f2d38;--muted: #71808e;--line: rgba(28, 47, 61, .12);--navy: #122b3d;--navy-2: #1f4058;--accent: #32759d;--accent-2: #1e8a78;--gold: #b99754;--danger: #c55f57;--warn: #c58a35;--shadow: 0 20px 60px rgba(18, 43, 61, .12);font-family:Microsoft YaHei UI,Segoe UI,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh;background:radial-gradient(circle at 78% 8%,rgba(50,117,157,.2),transparent 30%),radial-gradient(circle at 12% 86%,rgba(30,138,120,.14),transparent 28%),linear-gradient(180deg,#f7f8f6,var(--bg))}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:18px 20px 16px;color:#f7f1e6;background:linear-gradient(180deg,#122b3dfa,#183950f5),linear-gradient(140deg,rgba(255,255,255,.08),transparent 48%);box-shadow:inset -1px 0 #ffffff14;overflow-y:auto;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.brand{display:grid;grid-template-columns:50px 1fr;gap:12px;align-items:center;width:100%;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:default}.brand-seal{width:50px;height:50px;place-items:center;display:grid;border-radius:16px;color:#fff9e8;font-family:STZhongsong,serif;font-size:26px;background:linear-gradient(160deg,#ffffff38,#ffffff0a),linear-gradient(180deg,#b9975494,#b997542e);box-shadow:inset 0 0 0 1px #fff0d22e}.brand-copy small,.eyebrow{display:block;color:#f7f1e69e;font-size:11px;letter-spacing:.2em;text-transform:uppercase}.brand-copy strong{display:block;margin-top:5px;font-size:23px;letter-spacing:0}.nav-list{display:grid;gap:clamp(12px,2.2vh,24px);margin-top:clamp(16px,2.8vh,32px)}.nav-item{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;width:100%;padding:clamp(10px,1.7vh,15px) 13px;border:1px solid rgba(255,255,255,.08);border-radius:16px;color:inherit;background:#ffffff0b;text-align:left;transition:transform .16s ease,background .16s ease,border-color .16s ease}.nav-item:hover,.nav-item.active{transform:translate(4px);border-color:#ffefcd47;background:#ffffff1a}.nav-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;color:#f7dfae;background:#ffffff14}.nav-item strong,.nav-item small{display:block}.nav-item strong{margin-bottom:3px;font-size:15px}.nav-item small{color:#f7f1e6a6}.sidebar-bottom{margin-top:auto;padding-top:clamp(12px,2vh,24px);display:grid;gap:clamp(10px,1.4vh,16px)}.sidebar-mini{display:grid;gap:clamp(8px,1.2vh,12px);padding:clamp(10px,1.4vh,14px);border:1px solid rgba(255,255,255,.11);border-radius:18px;background:linear-gradient(145deg,#ffffff1b,#ffffff0b),radial-gradient(circle at 100% 0%,rgba(247,223,174,.14),transparent 36%);box-shadow:inset 0 1px #ffffff0f,0 14px 34px #04121c2e}.sidebar-foot{padding-top:9px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:center}.legal-line{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;min-height:20px;color:#f7f1e661;white-space:nowrap}.icp-record{display:inline-flex;align-items:center;gap:5px;color:#f7f1e694;font-size:10.5px;line-height:13px;text-decoration:none;transition:color .16s ease}.icp-record:hover,.icp-record:focus-visible{color:#fff4dbe0;outline:none}.icp-record>svg{flex:0 0 auto;color:#f7dfaead}.legal-dot{width:2px;height:2px;flex:0 0 auto;border-radius:50%;background:#f7dfae57}.legal-year{color:#f7f1e657;display:inline-flex;align-items:center;height:13px;font-size:10.5px;line-height:13px;font-variant-numeric:tabular-nums;letter-spacing:0}.overview-title,.overview-hero,.overview-stats{display:flex;align-items:center;justify-content:space-between;gap:14px}.overview-title span{color:#fff4db;font-size:15px;font-weight:800}.overview-title small,.overview-total span,.overview-total small,.overview-stats small{color:#f7f1e69e}.overview-title small{padding:4px 8px;border-radius:999px;background:#ffffff13;font-size:11px}.overview-ring{--progress: 80%;width:66px;height:66px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle closest-side,rgba(25,55,77,.98) 72%,transparent 73%),conic-gradient(#f7dfae var(--progress),rgba(255,255,255,.12) 0);box-shadow:inset 0 0 0 1px #ffffff12}.overview-ring span{color:#fff7e7;font-size:17px;font-weight:900}.overview-total{min-width:0;text-align:right}.overview-total span,.overview-total small{display:block;font-size:12px}.overview-total strong{display:block;margin:3px 0;color:#fff7e7;font-size:31px;line-height:1}.overview-progress{height:7px;border-radius:999px;background:#ffffff1a;overflow:hidden}.overview-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f7dfae,#8ed6c8)}.overview-stats{align-items:stretch;gap:7px}.overview-stats article{flex:1;display:flex;align-items:center;gap:7px;min-width:0;padding:8px 7px;border-radius:12px;background:#ffffff13}.overview-mark{width:6px;height:26px;flex:0 0 auto;border-radius:999px}.overview-mark.done{background:#8ed6c8}.overview-mark.active{background:#f7dfae}.overview-mark.queue{background:#8fb3cc}.overview-stats small,.overview-stats strong{display:block}.overview-stats strong{margin-top:2px;color:#fff7e7;font-size:14px;white-space:nowrap}.main{padding:28px 34px}.main--fill{display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;padding:24px 26px;border:1px solid var(--line);border-radius:24px;background:#ffffffa3;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar .eyebrow{color:var(--accent)}.topbar h1{margin:7px 0 8px;font-family:STZhongsong,serif;font-size:34px;letter-spacing:0}.topbar p{margin:0;color:var(--muted)}.topbar-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.topbar-actions-row{display:flex;align-items:center;gap:10px}.icon-button,.primary-button,.ghost-button{min-height:42px;border-radius:14px;border:1px solid var(--line)}.icon-button{width:42px;display:grid;place-items:center;color:var(--navy);background:#fff}.primary-button{padding:0 18px;border-color:transparent;color:#fff;font-weight:700;background:linear-gradient(135deg,#245c80,#367aa1)}.primary-button:disabled{cursor:not-allowed;opacity:.55}.ghost-button{padding:0 16px;color:var(--navy);background:#ffffffc7}.view{display:grid;gap:20px}.review-view{min-height:calc(100vh - 220px);grid-template-rows:auto auto minmax(0,1fr)}.hero-panel,.upload-card,.status-card,.feature-card,.bid-table,.review-summary article,.dimension-panel,.detail-panel{border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 14px 38px #122b3d14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px;min-height:340px;padding:36px;overflow:hidden;background:linear-gradient(135deg,#122b3df0,#284c65e6),linear-gradient(90deg,rgba(185,151,84,.12),transparent);color:#f7f1e6}.hero-copy{display:flex;flex-direction:column}.hero-copy h2{margin:12px 0 18px;font-family:STZhongsong,serif;font-size:38px;line-height:1.3;letter-spacing:1px}.hero-copy p:last-child{position:relative;top:0;margin-top:28px;color:#f7f1e6b8;font-size:16px;line-height:1.9;white-space:nowrap}.hero-metrics{display:grid;gap:14px;align-content:center}.hero-metrics article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#ffffff14}.hero-metric-icon{flex:0 0 auto;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:#f7dfae;background:#ffffff14}.hero-metrics span,.hero-metrics small{display:block;color:#f7f1e6a8}.hero-metrics strong{display:block;margin:6px 0;font-size:32px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.feature-card{padding:22px}.feature-card svg{color:var(--accent)}.feature-card strong{display:block;margin:16px 0 8px;font-size:18px}.feature-card p,.upload-card p,.status-card p{margin:0;color:var(--muted);line-height:1.7}.upload-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.upload-card{position:relative;grid-column:span 3;min-height:190px;padding:24px}.upload-card.top-upload{grid-column:span 3}.upload-card.support-upload{grid-column:span 2}.clear-file-btn{position:absolute;top:14px;right:14px;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);transition:all .15s}.clear-file-btn:hover{color:var(--danger);border-color:var(--danger)}.file-chips{list-style:none;margin:12px 0 0;padding:0 0 6px;display:flex;flex-wrap:nowrap;gap:8px;max-width:100%;overflow-x:auto}.file-chip{flex:0 0 auto;width:130px;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:#fff}.file-chip-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;font-size:12px;color:var(--ink)}.file-chip-del{flex:0 0 auto;width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--muted)}.file-chip-del:hover{color:var(--danger);background:#c55f571a}.upload-card.wide{grid-column:1 / -1;min-height:160px}.upload-card span,.status-card small{color:var(--muted)}.upload-card strong{display:block;margin:8px 0;font-size:22px}.upload-card select{width:100%;height:48px;margin-top:18px;padding:0 14px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff}.project-fields{display:grid;grid-template-columns:1fr 220px;gap:14px;margin-top:18px}.project-fields .text-input{height:48px;padding:0 14px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff;outline:none}.project-fields .text-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #32759d1f}.project-fields select{margin-top:0}.file-button{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:10px 14px;border-radius:999px;color:var(--navy);background:#32759d1a}.file-button input{display:none}.upload-card small{display:block;margin-top:14px;color:var(--ink);font-weight:700}.action-bar{padding:20px;border-radius:22px;background:#ffffffb3;border:1px solid var(--line)}.stretch{width:100%;height:52px;font-size:17px}.action-bar p{margin:14px 0 0;color:var(--muted)}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.status-card{position:relative;min-height:140px;padding:20px}.status-card strong{display:block;margin:0 0 9px 18px}.status-dot{position:absolute;top:25px;left:20px;width:9px;height:9px;border-radius:50%;background:#9aa7b3}.status-dot.ready{background:var(--accent-2)}.status-dot.warn{background:var(--warn)}.status-dot.block{background:var(--danger)}.section-toolbar{display:flex;justify-content:space-between;gap:16px}.admin-bid-toolbar{align-items:center}.search-box{flex:1;display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border:1px solid var(--line);border-radius:15px;background:#fff}.search-box input{width:100%;border:0;outline:0}.admin-user-bid-search{flex:0 0 320px}.bid-filters{display:flex;gap:8px;align-items:center}.filter-chip{height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:13px;transition:all .15s}.filter-chip:hover{color:var(--ink);border-color:var(--accent)}.filter-chip.active{color:#fff;border-color:transparent;background:linear-gradient(140deg,var(--accent),var(--navy))}.sort-th{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.sort-th:hover{color:var(--accent)}.sort-th svg{opacity:.7}.bid-empty{padding:36px 22px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}.bid-pager{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:0 4px}.pager-total{color:var(--muted);font-size:13px}.pager-ctrl{display:flex;align-items:center;gap:6px}.pager-btn{min-width:34px;height:32px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:13px;transition:all .15s}.pager-btn:hover:not(:disabled):not(.dots){border-color:var(--accent);color:var(--accent)}.pager-btn.active{color:#fff;border-color:transparent;background:linear-gradient(140deg,var(--accent),var(--navy))}.pager-btn:disabled{opacity:.45;cursor:not-allowed}.pager-btn.dots{border:0;background:transparent;cursor:default}.bid-table{overflow:hidden;padding-bottom:0}.bid-table .table-row:last-child{padding-bottom:10px}.table-row{display:grid;grid-template-columns:1.6fr 2fr 1fr 1.05fr .7fr 1.3fr 1.4fr;gap:16px;align-items:center;padding:16px 24px;border-top:1px solid var(--line)}.bid-no{font-family:SF Mono,Consolas,monospace;font-size:16px;font-weight:700;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-text{max-width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-text:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.copy-text-main{display:block;width:100%;font-weight:400;word-break:break-word;white-space:normal}.bid-ops{display:flex;gap:8px}.op-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:0;border-radius:9px;font-size:13px;font-weight:600;transition:all .15s}.op-btn.detail{color:var(--accent);background:#32759d0f}.op-btn.detail:hover:not(:disabled){background:#32759d24}.op-btn.detail:disabled{color:var(--muted);background:#1c2f3d0d;cursor:not-allowed;opacity:.6}.op-btn.delete{color:var(--danger);background:#c55f570f}.op-btn.delete:hover{background:#c55f5724}.table-head{border-top:0;color:var(--muted);font-weight:700;background:#122b3d0a}.table-head>span,.table-head>.sort-th{justify-self:center}.table-row>:nth-child(1),.table-row>:nth-child(2),.table-row>:nth-child(3),.table-row>:nth-child(4),.table-row>:nth-child(5),.table-row>:nth-child(6){justify-self:center;text-align:center}.bid-ops{justify-self:center}.table-row strong,.table-row small{display:block}.table-row>span{min-width:0}.table-row>button{min-width:0}.table-row strong{font-weight:400;word-break:break-word}.table-row small{margin-top:4px;color:var(--muted)}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-style:normal;font-size:13px}.badge.ok{color:#0f6f60;background:#1e8a781f}.badge.info{color:#245c80;background:#32759d1f}.badge.warn{color:#9c681b;background:#c58a3524}.badge.danger{color:#9e3f38;background:#c55f5724}.review-progress{width:min(118px,100%);display:grid;gap:5px}.review-progress-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#245c80;font-size:12px;line-height:1}.review-progress-head strong{display:inline;font-size:12px;font-weight:700;color:#1f536f;white-space:nowrap}.review-progress-track{width:100%;height:6px;overflow:hidden;border-radius:999px;background:#32759d21}.review-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#32759d,#1e8a78);transition:width .25s ease}.review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.review-lookup{display:grid;grid-template-columns:minmax(360px,1fr) auto auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 14px 38px #122b3d14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.review-search-box{min-width:0}.review-search-button{height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.lookup-current{color:var(--muted);font-size:13px;white-space:nowrap}.review-empty-guide{display:grid;grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr);gap:18px;align-items:stretch;min-height:360px;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 14px 38px #122b3d14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.empty-guide-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:10px 14px}.empty-guide-copy span{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.24em}.empty-guide-copy h2{margin:18px 0 12px;color:var(--ink);font-size:32px;line-height:1.25}.empty-guide-copy p{max-width:520px;margin:0;color:var(--muted);font-size:16px;line-height:1.9}.empty-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.empty-guide-list article{display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#ffffffb8}.empty-guide-list strong{color:var(--ink);font-size:18px}.empty-guide-list p{margin:10px 0 0;color:var(--muted);line-height:1.75}.review-summary article{padding:20px}.review-summary span,.review-summary small{color:var(--muted)}.review-summary strong{display:block;margin:8px 0;font-size:30px}.export-card{display:flex;flex-direction:column}.export-report-button{min-height:46px;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;margin:8px 0;padding:0;border:0;color:var(--accent);background:transparent;text-align:left}.export-report-button strong{margin:0;color:var(--ink);font-size:25px}.export-report-button:hover strong{color:var(--accent)}.review-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;min-height:0}.dimension-panel{padding:18px;align-self:start;height:886px;max-height:886px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(50,117,157,.28) transparent}.dimension-panel::-webkit-scrollbar{width:8px}.dimension-panel::-webkit-scrollbar-thumb{border-radius:999px;background:#32759d38}.panel-title{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:16px}.panel-title span{color:var(--muted)}.dimension-item{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;width:100%;margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#ffffffbd;text-align:left}.dimension-item.active{border-color:#32759d4d;background:#32759d1a}.dimension-item span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--accent)}.dimension-item strong,.dimension-item small{display:block}.dimension-item div{display:flex;align-items:center;min-width:0;min-height:42px}.dimension-item strong{line-height:1.35}.dimension-item small{margin-top:5px;color:var(--muted)}.review-detail{display:grid;grid-template-rows:340px 528px;gap:18px;min-height:0}.detail-panel{padding:22px}.summary-panel{display:flex;flex-direction:column;height:340px;min-height:0;overflow:hidden}.detail-panel.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-grid article{padding:16px;border-radius:16px;background:#122b3d0a}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{color:var(--muted);margin-bottom:7px}.detail-text{margin:18px 0 0;color:var(--muted);line-height:1.8}.summary-panel .detail-text{flex:1;min-height:0;max-height:none;display:grid;align-items:safe center;overflow:auto;padding-right:8px}.summary-panel .detail-text span{display:block;text-align:justify;text-indent:2em}.summary-panel .detail-text::-webkit-scrollbar{width:8px}.summary-panel .detail-text::-webkit-scrollbar-thumb{border-radius:999px;background:#32759d33}.pdf-placeholder{min-height:310px;display:grid;place-items:center;padding:28px;border:1px dashed rgba(50,117,157,.3);border-radius:18px;color:var(--muted);background:#32759d0f;text-align:center}.factor-list{display:grid;gap:12px}.factor-list article{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.factor-list strong{display:inline-block;margin-right:12px}.factor-list span{color:var(--accent);font-weight:700}.factor-list p{margin:8px 0 0;color:var(--muted)}.factor-grid{display:grid;gap:14px}.review-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;height:528px;min-height:0}.carousel-panel{display:flex;flex-direction:column;min-width:0;min-height:0;height:528px;overflow:hidden}.carousel-title{align-items:center}.carousel-actions{display:inline-flex;align-items:center;gap:7px}.carousel-actions button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--accent);background:#fff}.carousel-actions button:disabled{cursor:default;opacity:.42}.carousel-actions strong{min-width:48px;text-align:center;color:var(--muted);font-size:13px}.factor-card{display:grid;gap:12px;min-height:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.carousel-card{flex:1;height:auto;min-height:0;overflow:auto}.carousel-card::-webkit-scrollbar{width:8px}.carousel-card::-webkit-scrollbar-thumb{border-radius:999px;background:#32759d38}.factor-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.factor-card-head strong{min-width:0;line-height:1.35}.factor-card-head span{flex:0 0 auto;color:var(--accent);font-weight:800}.factor-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.factor-meta small{color:var(--muted)}.evidence-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-style:normal;font-size:12px;font-weight:700}.evidence-pill.strong{color:#0f6f60;background:#1e8a781f}.evidence-pill.medium{color:#9c681b;background:#c58a3524}.evidence-pill.weak{color:#9e3f38;background:#c55f5724}.factor-card>p{margin:0;color:var(--muted);line-height:1.75}.factor-evidence{border-top:1px solid var(--line);padding-top:10px}.factor-evidence summary{cursor:pointer;color:var(--accent);font-weight:700}.factor-evidence ul{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.factor-evidence li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;color:var(--muted)}.factor-evidence li span{color:var(--text);font-weight:700}.factor-evidence li p{margin:0;line-height:1.65}.issue-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px}.issue-column{min-width:0}.issue-list,.suggestion-list{display:grid;gap:12px}.issue-list article,.suggestion-list article{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.issue-list small,.suggestion-list small{display:inline-flex;margin-bottom:8px;color:var(--accent);font-weight:700}.issue-list strong,.suggestion-list strong{display:block;line-height:1.45}.issue-list p,.suggestion-list p{margin:8px 0 0;color:var(--muted);line-height:1.7}.suggestion-method{color:var(--text)!important}.suggestion-list blockquote{margin:12px 0 0;padding:12px 14px;border-left:3px solid rgba(50,117,157,.45);border-radius:10px;color:var(--muted);background:#32759d0f;line-height:1.75}.suggestion-card{display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.suggestion-card-head small{display:inline-flex;margin-bottom:8px;color:var(--accent);font-weight:700}.suggestion-card-head strong{display:block;line-height:1.45}.suggestion-card p{margin:12px 0 0;color:var(--muted);line-height:1.75}.suggestion-card blockquote{margin:14px 0 0;padding:12px 14px;border-left:3px solid rgba(50,117,157,.45);border-radius:10px;color:var(--muted);background:#32759d0f;line-height:1.75}.empty-card{flex:1;min-height:220px;display:grid;place-items:center;border:1px dashed rgba(50,117,157,.28);border-radius:16px;color:var(--muted);background:#32759d0d}.clean-list{margin:0;padding-left:20px;color:var(--muted);line-height:1.9}.acc-shell{display:grid;grid-template-columns:232px minmax(0,1fr);gap:18px;align-items:stretch;height:560px}.acc-menu{display:flex;flex-direction:column;padding:18px 16px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.acc-menu-user{display:flex;align-items:center;gap:12px;padding:4px 6px 18px;margin-bottom:8px;border-bottom:1px solid var(--line)}.acc-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#f7f1e6;font-size:20px;font-weight:700;background:linear-gradient(145deg,var(--navy),var(--navy-2))}.acc-menu-user strong{display:block;font-size:15px}.acc-menu-user small{color:var(--muted);font-size:12px}.acc-menu-nav{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:22px 0 4px}.acc-menu-item{display:flex;align-items:center;gap:12px;padding:14px 12px;border:1px solid transparent;border-radius:13px;color:var(--ink);background:transparent;text-align:left;transition:background .15s,border-color .15s}.acc-menu-item:hover{background:#32759d12}.acc-menu-item.active{border-color:var(--line);background:#fff;box-shadow:0 6px 18px #122b3d14}.acc-menu-item.active strong{color:var(--accent)}.acc-menu-item strong{display:block;font-size:14px}.acc-menu-item small{color:var(--muted);font-size:12px}.acc-content{display:flex;flex-direction:column;min-height:0;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.acc-scroll{flex:1;min-height:0;overflow-y:auto;margin-right:-8px;padding-right:8px}.acc-content-head{flex:none;margin-bottom:18px}.acc-panel-body{display:flex;flex-direction:column;gap:20px;min-height:100%}.acc-panel-body:has(.acc-log-table){height:100%;min-height:0}.acc-section-title{margin:6px 0 -8px}.acc-metric-grid{display:grid;grid-template-columns:1.3fr repeat(3,minmax(0,1fr));gap:14px}.acc-metric{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.acc-metric.primary{color:#f7f1e6;background:linear-gradient(145deg,var(--navy),var(--navy-2))}.acc-metric.primary span,.acc-metric.primary p{color:#f7f1e6b8}.acc-metric-head{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.acc-metric strong{display:flex;align-items:center;flex:1;margin:12px 0;font-size:28px}.acc-metric.primary strong{flex:none;margin:10px 0 0}.acc-metric p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.acc-metric.primary .primary-button{margin-top:14px;display:inline-flex;align-items:center;gap:6px}.acc-overview{display:flex;flex-direction:column;flex:1;min-height:168px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.acc-overview-row{display:grid;grid-template-columns:1fr 180px 1.4fr;gap:16px;align-items:center;flex:1;min-height:64px;padding:16px 18px;border-top:1px solid var(--line)}.acc-overview-row:first-child{border-top:none}.acc-overview-row strong.accent{color:var(--accent)}.acc-overview-row small{color:var(--muted)}.acc-form-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;flex:1;min-height:0}.acc-form-card{display:flex;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.acc-card-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}.acc-card-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;color:var(--accent);background:#32759d1a}.acc-card-head strong{display:block;font-size:16px}.acc-card-head small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.acc-form{display:flex;flex-direction:column;justify-content:space-between;gap:18px;flex:1}.acc-form .acc-field{display:flex;flex-direction:column}.acc-field span{display:block;margin-bottom:7px;font-size:13px;color:var(--muted)}.acc-field input{width:100%;height:46px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}.acc-field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #32759d1f}.acc-code-row{display:flex;gap:10px}.acc-code-row input{flex:1}.acc-code-btn{flex:none;height:46px;padding:0 16px;white-space:nowrap;font-weight:700;color:var(--accent);background:#32759d1a;border:1px solid rgba(50,117,157,.28);border-radius:12px;transition:background .15s,border-color .15s,color .15s}.acc-code-btn:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#245c80,#367aa1);border-color:transparent}.acc-code-btn:disabled{cursor:not-allowed;color:var(--muted);background:#122b3d0d;border-color:var(--line)}.acc-current-phone{display:flex;align-items:center;height:46px;padding:0 14px;border-radius:12px;font-weight:700;color:var(--ink);background:#32759d12}.acc-form .primary-button{align-self:start;flex:none;padding:0 24px}.acc-log-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.acc-log-count{color:var(--muted);font-size:13px}.acc-log-table{flex:1;min-height:0;border:1px solid var(--line);border-radius:14px;overflow-y:auto}.acc-log-row{display:grid;grid-template-columns:88px minmax(0,1fr) 120px 150px;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}.acc-log-row:first-child{border-top:none}.acc-log-head{position:sticky;top:0;z-index:1;color:var(--muted);font-size:13px;background:#f1f3f4}.acc-log-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-right{text-align:right}.amt-in{color:var(--accent-2);font-weight:700}.amt-out{color:var(--ink);font-weight:700}.acc-log-time{color:var(--muted);font-size:13px}.acc-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(140px,1fr);flex:1;min-height:330px;gap:24px}.acc-contact-card{display:flex;align-items:center;gap:20px;min-height:112px;padding:28px 30px;border:1px solid var(--line);border-radius:16px;background:#fff}.acc-contact-icon{width:56px;height:56px;display:grid;place-items:center;flex:none;border-radius:16px;color:var(--accent);background:#32759d1a}.acc-contact-icon svg{width:27px;height:27px}.acc-contact-card strong{display:block;margin-bottom:9px;font-size:20px}.acc-contact-card p{margin:0;color:var(--muted);font-size:16px;line-height:1.7;overflow-wrap:anywhere}.account-error{padding:24px;border:1px solid rgba(197,95,87,.28);border-radius:16px;background:#c55f5714}.account-error strong{display:block;color:var(--danger);font-size:18px}.account-error p{margin:10px 0 0;color:var(--muted);line-height:1.7}.account-error.neutral{border-color:var(--line);background:#fff}.account-error.neutral strong{color:var(--ink)}.admin-standalone{min-height:100vh;padding:26px 34px}.admin-topbar{position:relative;display:flex;justify-content:center;gap:24px;align-items:center;margin-bottom:18px;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:#ffffffc7;box-shadow:0 14px 38px #122b3d14}.admin-topbar>div{text-align:center}.admin-topbar span{color:var(--accent);font-size:12px;letter-spacing:.18em}.admin-topbar h1{margin:5px 0 6px;font-size:28px}.admin-topbar p{margin:0;color:var(--muted)}.admin-topbar nav{position:absolute;right:22px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:10px}.admin-topbar a,.admin-topbar button{min-height:36px;padding:0 12px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-weight:700;text-decoration:none}.admin-login-page{min-height:100vh;display:grid;place-items:center;padding:28px}.admin-login-card{width:min(420px,100%);padding:30px;border:1px solid var(--line);border-radius:20px;background:#ffffffd6;box-shadow:var(--shadow)}.admin-login-card header span{color:var(--accent);font-size:12px;letter-spacing:.2em}.admin-login-card h1{margin:8px 0;font-size:30px}.admin-login-card p{margin:0;color:var(--muted);line-height:1.7}.admin-login-form{display:grid;gap:16px;margin-top:24px}.admin-login-form label span{display:block;margin-bottom:7px;color:var(--muted);font-size:13px}.admin-login-form input{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fff;outline:none}.admin-login-hint{color:var(--danger);font-size:13px}.admin-view{gap:16px}.admin-tabs{display:inline-flex;gap:8px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8;width:fit-content}.admin-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-weight:700}.admin-tabs button.active{color:#fff;background:linear-gradient(135deg,#245c80,#367aa1)}.admin-panel,.admin-table{border:1px solid var(--line);border-radius:18px;background:#ffffffc7;box-shadow:0 14px 38px #122b3d14}.admin-panel{display:grid;gap:14px;padding:18px}.admin-table{overflow-x:auto}.admin-row{display:grid;gap:12px;align-items:center;min-width:1180px;padding:14px 16px;border-top:1px solid var(--line)}.admin-row:first-child{border-top:none}.admin-head{color:var(--muted);font-size:13px;font-weight:700;background:#f1f3f4}.admin-head>span,.admin-head>.sort-th{justify-self:center;text-align:center}.admin-bid-row{grid-template-columns:150px 210px minmax(180px,1fr) 120px 90px 70px 150px 160px}.admin-bid-row>span{justify-self:center;text-align:center}.admin-head.admin-bid-row>span:first-child,.admin-head.admin-user-row>span:first-child{justify-self:center;text-align:center}.admin-bid-row .admin-main-text{justify-self:stretch;text-align:center}.admin-bid-row>.copy-text{justify-self:center;text-align:center}.admin-bid-row>.bid-no{max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}.admin-user-row{grid-template-columns:180px 110px 110px 170px 120px minmax(380px,1fr)}.admin-user-row>span{justify-self:center;text-align:center}.admin-user-row>.quota-edit{justify-self:stretch;text-align:left}.admin-row strong,.admin-row small{display:block}.admin-row small{margin-top:3px;color:var(--muted);font-size:12px}.admin-main-text{min-width:0;font-weight:700;white-space:normal;word-break:break-word;line-height:1.55}.admin-preview-link{text-align:center;text-decoration:underline;text-underline-offset:3px}.quota-edit{display:grid;grid-template-columns:120px minmax(180px,1fr) 72px;gap:10px;align-items:center}.quota-edit input{width:100%;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;outline:none}.admin-contact-panel{width:100%;gap:18px;padding:0;border:0;background:transparent;box-shadow:none}.admin-contact-heading{grid-column:1 / -1;display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#ffffffd1;box-shadow:0 12px 30px #122b3d0f}.admin-contact-heading span{color:var(--accent);font-size:12px;font-weight:800}.admin-contact-heading h2{margin:5px 0 6px;font-size:21px}.admin-contact-heading p{margin:0;color:var(--muted)}.admin-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-contact-card{display:flex;flex-direction:column;gap:18px;min-height:170px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#ffffffdb;box-shadow:0 14px 34px #122b3d12}.admin-contact-card-head{display:flex;align-items:center;gap:16px;min-width:0}.admin-contact-card-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:var(--accent);background:#32759d1a}.admin-contact-card-copy{display:grid;gap:7px;min-width:0}.admin-contact-card-copy strong{font-size:17px}.admin-contact-card-copy small{color:var(--muted);line-height:1.6}.admin-contact-form input{width:100%;height:44px;margin-top:auto;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;outline:none}@media(max-width:1280px){.admin-bid-toolbar{flex-wrap:wrap}.admin-user-bid-search{flex:1 1 300px}.admin-bid-toolbar .bid-filters{width:100%}.feature-grid,.status-grid,.review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-panel,.review-layout,.detail-panel.split,.issue-panel,.review-card-row,.account-grid{grid-template-columns:1fr}.detail-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.acc-shell{grid-template-columns:1fr}.acc-menu{flex-direction:row;flex-wrap:wrap}.acc-menu-user{flex-basis:100%;border-bottom:1px solid var(--line)}.acc-menu-nav{flex-basis:100%;flex-direction:row;flex-wrap:wrap}.acc-menu-nav .acc-menu-item{flex:1 1 160px}.acc-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.acc-form-cols{grid-template-columns:1fr}.acc-contact-grid{grid-template-columns:1fr;grid-auto-rows:auto;min-height:0;gap:18px}.acc-contact-card{align-items:flex-start;min-height:0;padding:24px}}@media(max-width:760px){.admin-contact-heading{align-items:stretch;flex-direction:column}.admin-contact-heading .primary-button{width:fit-content}.admin-contact-form,.review-summary,.detail-grid,.detail-grid-four,.factor-grid,.review-card-row,.factor-evidence li{grid-template-columns:1fr}}
