:root,[data-theme=dark]{--background: #050a1e;--foreground: #d0e0f0;--card: rgba(10, 30, 70, .6);--card-foreground: #d0e0f0;--popover: rgba(10, 25, 60, .95);--popover-foreground: #d0e0f0;--primary: #00d4ff;--primary-foreground: #050a1e;--secondary: #8cb3d9;--secondary-foreground: #050a1e;--muted: rgba(0, 180, 255, .08);--muted-foreground: #5a7a9a;--accent-foreground: #050a1e;--destructive: #ff4757;--destructive-foreground: #ffffff;--success: #00ff88;--success-foreground: #050a1e;--warning: #ff9f43;--warning-foreground: #050a1e;--border: rgba(0, 180, 255, .15);--input: rgba(0, 180, 255, .08);--ring: rgba(0, 180, 255, .4);--bg-body: #050a1e;--bg-header: linear-gradient(180deg, rgba(10, 30, 80, .95) 0%, rgba(5, 10, 30, .8) 100%);--bg-panel: linear-gradient(135deg, rgba(10, 30, 70, .8) 0%, rgba(5, 15, 40, .9) 100%);--border-panel: rgba(0, 180, 255, .15);--border-glow: rgba(0, 180, 255, .6);--text-primary: #d0e0f0;--text-secondary: #8cb3d9;--text-muted: #5a7a9a;--accent: #00d4ff;--accent-green: #00ff88;--accent-red: #ff4757;--accent-orange: #ff9f43;--grid-line: rgba(0, 180, 255, .03);--glow-halo: rgba(0, 120, 255, .08);--panel-corner: rgba(0, 180, 255, .5);--input-bg: rgba(0, 180, 255, .05);--input-border: rgba(0, 180, 255, .15);--radius: .375rem;--radius-sm: calc(var(--radius) * .6);--radius-md: calc(var(--radius) * .8);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) * 1.4);--radius-2xl: calc(var(--radius) * 1.8);--radius-3xl: calc(var(--radius) * 2.2)}[data-theme=light]{--background: #eef2f7;--foreground: #1a2a3a;--card: #ffffff;--card-foreground: #1a2a3a;--popover: #ffffff;--popover-foreground: #1a2a3a;--primary: #0072c6;--primary-foreground: #ffffff;--secondary: #3d5a78;--secondary-foreground: #ffffff;--muted: #f1f5f9;--muted-foreground: #7a8ea5;--accent-foreground: #ffffff;--destructive: #c0392b;--destructive-foreground: #ffffff;--success: #0a8f50;--success-foreground: #ffffff;--warning: #d68910;--warning-foreground: #ffffff;--border: rgba(0, 80, 160, .1);--input: #f8fafc;--ring: rgba(0, 100, 180, .4);--bg-body: #eef2f7;--bg-header: linear-gradient(180deg, #ffffff 0%, #e4eaf2 100%);--bg-panel: linear-gradient(135deg, #ffffff 0%, #f3f6fa 100%);--border-panel: rgba(0, 80, 160, .1);--border-glow: rgba(0, 100, 180, .25);--text-primary: #1a2a3a;--text-secondary: #3d5a78;--text-muted: #7a8ea5;--accent: #0072c6;--accent-green: #0a8f50;--accent-red: #c0392b;--accent-orange: #d68910;--grid-line: rgba(0, 60, 130, .03);--glow-halo: rgba(0, 80, 160, .03);--panel-corner: rgba(0, 100, 180, .25);--input-bg: #f8fafc;--input-border: #c8d6e5;--radius: .375rem;--radius-sm: calc(var(--radius) * .6);--radius-md: calc(var(--radius) * .8);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) * 1.4);--radius-2xl: calc(var(--radius) * 1.8);--radius-3xl: calc(var(--radius) * 2.2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-body);color:var(--text-primary);overflow-x:hidden;overflow-y:auto;width:100vw;min-height:100vh;transition:background .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.panel,.stat-card,.issue-row,.photo-card,.detail-stat{transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.header,.admin-header,.modal-container{transition:background .3s ease,border-color .3s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:-200px;left:50%;transform:translate(-50%);width:800px;height:400px;background:radial-gradient(ellipse,var(--glow-halo) 0%,transparent 70%);pointer-events:none;z-index:0}#app{width:100vw;min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.header{height:72px;display:flex;align-items:center;justify-content:space-between;background:var(--bg-header);border-bottom:1px solid var(--border-panel);position:relative;flex-shrink:0;padding:0 24px}.header:after{content:"";position:absolute;bottom:-1px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);filter:blur(1px)}.header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-logo{height:36px;width:auto;object-fit:contain}.header-brand{display:flex;flex-direction:column;gap:2px}.brand-owner{font-size:11px;color:var(--text-secondary);letter-spacing:.5px;font-weight:600}.brand-company{font-size:10px;color:var(--text-muted);letter-spacing:.5px}.header h1{font-size:24px;font-weight:600;letter-spacing:4px;background:linear-gradient(180deg,#fff,#70c8ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;text-align:center;flex:1;min-width:0}[data-theme=light] .header h1{background:linear-gradient(180deg,#1a3a5a,#0070b0);-webkit-background-clip:text;background-clip:text}.header-right{display:flex;align-items:center;flex-shrink:0}.header-meta-row{display:flex;align-items:center;gap:12px}.header .date-info{font-size:11px;color:var(--text-muted);letter-spacing:.5px;font-family:monospace}.phase-tag{font-size:10px;color:var(--accent);background:#00d4ff1a;padding:3px 10px;border-radius:12px;border:1px solid rgba(0,212,255,.2);font-weight:600;white-space:nowrap}.admin-link{font-size:11px;color:var(--text-secondary);text-decoration:none;padding:4px 12px;border:1px solid var(--border-panel);border-radius:4px;transition:all .2s;white-space:nowrap}.admin-link:hover{color:var(--accent);border-color:var(--accent);background:#00b4ff14}.mobile-admin{display:none}.dashboard{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.main-content{flex:1;display:flex;padding:12px;gap:12px;min-height:0}.col-left,.col-right{width:320px;display:flex;flex-direction:column;gap:12px;flex-shrink:0;min-height:0}.col-center{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.panel{background:var(--bg-panel);border:1px solid var(--border-panel);border-radius:6px;padding:12px;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:0}.panel-auto{flex:none}.panel-flex{flex:1;min-height:0}.panel-flex-large{flex:2;min-height:0}.panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--border-glow),transparent)}.panel:after{content:"";position:absolute;top:0;left:0;width:12px;height:12px;border-top:2px solid var(--panel-corner);border-left:2px solid var(--panel-corner);border-radius:2px 0 0;pointer-events:none}.panel-title{font-size:14px;font-weight:600;color:var(--accent);margin-bottom:8px;padding-left:10px;border-left:3px solid var(--accent);letter-spacing:2px;flex-shrink:0}.footer{height:200px;display:flex;padding:0 12px 12px;gap:12px;flex-shrink:0}.footer-section{flex:1;min-width:0}.footer-fishbone{flex:2.5;min-width:0}.footer-photo{flex:1;min-width:0}[data-theme=light] .panel{box-shadow:0 1px 4px #0028500f,0 0 1px #0028501a}[data-theme=light] .panel:before{opacity:.4}[data-theme=light] .panel:after{opacity:.5}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#00b4ff4d;border-radius:2px}[data-theme=light] ::-webkit-scrollbar-track{background:#0000000d}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0050a033}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.panel{animation:fadeInUp .6s ease both}.col-left .panel:nth-child(1){animation-delay:.1s}.col-center .panel:nth-child(1){animation-delay:.2s}.col-right .panel:nth-child(1){animation-delay:.3s}.col-right .panel:nth-child(2){animation-delay:.4s}.footer .panel:nth-child(1){animation-delay:.5s}.footer .panel:nth-child(2){animation-delay:.6s}.footer .panel:nth-child(3){animation-delay:.7s}@media (max-width: 1023px){.header h1{font-size:22px;letter-spacing:4px}.col-left,.col-right{width:28%}.footer{height:180px}}@media (max-width: 767px){.dashboard{height:auto;min-height:100dvh;overflow-y:auto}.header{height:auto;min-height:auto;padding:8px 12px 6px;flex-wrap:wrap;gap:6px}.header-left{order:1;flex:1}.header-logo{height:22px}.brand-owner{font-size:9px}.brand-company{font-size:8px}.mobile-admin{display:inline-block;font-size:10px;padding:3px 8px;margin-left:auto}.desktop-admin{display:none}.header h1{order:3;width:100%;font-size:14px;letter-spacing:2px;text-align:center;flex:none}.header-right{display:none}.main-content{flex-direction:column;padding:8px;gap:8px}.col-left,.col-center,.col-right{width:100%;gap:8px}.footer{flex-direction:column;height:auto;padding:0 8px 8px;gap:8px}.footer-section,.footer-fishbone,.footer-photo{flex:none;min-height:150px}.panel{padding:10px;border-radius:4px}.panel-flex{flex:none;min-height:200px}.panel-flex-large{flex:none;min-height:250px}.panel-title{font-size:12px;letter-spacing:1px;margin-bottom:8px;padding-left:8px}.panel:after{width:8px;height:8px}.toggle-btn,.admin-link{min-height:32px;min-width:32px;padding:4px 10px}.header:after{display:none}.panel{animation-delay:0s!important}}@media (max-width: 374px){.header h1{font-size:13px;letter-spacing:1px}.brand-owner{font-size:9px}.brand-company{display:none}.panel{padding:8px}.panel-title{font-size:11px}}.clickable{cursor:pointer;transition:all .15s ease;border-radius:var(--radius-sm);min-height:44px;display:flex;align-items:center;justify-content:center}.clickable:hover{background:#00b4ff14}.clickable:focus{outline:2px solid var(--accent);outline-offset:2px}.clickable-sm{cursor:pointer;transition:all .15s ease;border-radius:var(--radius-sm);min-height:32px;padding:4px 8px}.clickable-sm:hover{background:#00b4ff1a}.detail-content{color:var(--text-primary)}.detail-stats-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.detail-stat{flex:1;min-width:80px;background:var(--input-bg);border:1px solid var(--border-panel);border-radius:var(--radius-lg);padding:12px;text-align:center;display:flex;flex-direction:column;gap:4px}.ds-num{font-size:22px;font-weight:700;color:var(--accent);font-family:DIN Alternate,Helvetica Neue,monospace}.ds-num.green{color:var(--accent-green)}.ds-num.red{color:var(--accent-red)}.ds-num.orange{color:var(--accent-orange)}.ds-num.blue{color:var(--accent)}.ds-label{font-size:11px;color:var(--text-muted)}.detail-section-title{font-size:13px;font-weight:600;color:var(--accent);margin:16px 0 10px;padding-left:10px;border-left:3px solid var(--accent)}.detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.info-row{display:flex;justify-content:space-between;font-size:12px;padding:6px 0;border-bottom:1px solid var(--border-panel)}.info-label{color:var(--text-muted)}.info-value{color:var(--text-secondary);font-weight:500}.detail-desc{font-size:12px;color:var(--text-secondary);line-height:1.7;padding:12px;background:var(--input-bg);border-radius:var(--radius-md)}.detail-desc strong{color:var(--accent)}.detail-desc strong.green{color:var(--accent-green)}.detail-desc strong.red{color:var(--accent-red)}.detail-table{width:100%;border-collapse:collapse;font-size:12px}.detail-table th{background:var(--input-bg);color:var(--text-muted);font-weight:500;padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-panel);font-size:11px}.detail-table td{padding:8px 10px;border-bottom:1px solid var(--border-panel);color:var(--text-secondary)}.detail-table td.green{color:var(--accent-green);font-weight:600}.detail-table td.red{color:var(--accent-red);font-weight:600}.detail-table td.blue{color:var(--accent);font-weight:600}.status-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;letter-spacing:.5px}.status-tag.completed,.status-tag.rectified,.status-tag.controlled{background:#00ff881f;color:var(--accent-green)}.status-tag.in_progress,.status-tag.processing{background:#00b4ff1f;color:var(--accent)}.status-tag.not_started,.status-tag.pending{background:var(--input-bg);color:var(--text-muted)}.status-tag.monitoring{background:#ff9f431f;color:var(--accent-orange)}.warning-text{color:var(--accent-orange);margin-top:10px;padding-top:10px;border-top:1px solid var(--border-panel);font-weight:500}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.modal-overlay[data-v-545f5ed3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000514d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-container[data-v-545f5ed3]{background:linear-gradient(135deg,#0a193cfa,#050c23fa);border:1px solid rgba(0,180,255,.25);border-radius:8px;width:680px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080,0 0 40px #00b4ff14}.modal-header[data-v-545f5ed3]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(0,180,255,.12);flex-shrink:0}.modal-title[data-v-545f5ed3]{font-size:15px;font-weight:600;color:var(--accent);letter-spacing:.5px}.modal-close[data-v-545f5ed3]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.modal-close[data-v-545f5ed3]:hover{color:var(--accent-red);background:#ff47571a;border-color:#ff475733}.modal-close[data-v-545f5ed3]:focus{outline:2px solid var(--accent);outline-offset:2px}.modal-body[data-v-545f5ed3]{padding:20px;overflow-y:auto;flex:1}.modal-enter-active[data-v-545f5ed3],.modal-leave-active[data-v-545f5ed3]{transition:opacity .25s ease}.modal-enter-active .modal-container[data-v-545f5ed3],.modal-leave-active .modal-container[data-v-545f5ed3]{transition:transform .25s ease}.modal-enter-from[data-v-545f5ed3],.modal-leave-to[data-v-545f5ed3]{opacity:0}.modal-enter-from .modal-container[data-v-545f5ed3]{transform:scale(.95) translateY(10px)}.modal-leave-to .modal-container[data-v-545f5ed3]{transform:scale(.98) translateY(5px)}[data-theme=light] .modal-overlay[data-v-545f5ed3]{background:#00143266}[data-theme=light] .modal-container[data-v-545f5ed3]{background:linear-gradient(135deg,#fff,#f8fafc);border-color:#0064b426;box-shadow:0 25px 50px -12px #00285026,0 0 40px #0064b40d}[data-theme=light] .modal-header[data-v-545f5ed3]{border-bottom-color:#0050a01a}@media (max-width: 767px){.modal-overlay[data-v-545f5ed3]{padding:8px;align-items:flex-end}.modal-container[data-v-545f5ed3]{width:100%;max-height:90vh;border-radius:12px 12px 0 0;margin-bottom:0}.modal-header[data-v-545f5ed3]{padding:12px 16px}.modal-body[data-v-545f5ed3]{padding:16px}}.overview[data-v-e89ad693]{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.health-indicator[data-v-e89ad693]{display:flex;align-items:center;gap:10px;background:var(--input-bg);border-radius:6px;padding:8px 12px;border:1px solid var(--border-panel)}.health-lights[data-v-e89ad693]{display:flex;gap:6px}.light[data-v-e89ad693]{width:14px;height:14px;border-radius:50%;opacity:.2}.light.red[data-v-e89ad693]{background:var(--accent-red)}.light.yellow[data-v-e89ad693]{background:var(--accent-orange)}.light.green[data-v-e89ad693]{background:var(--accent-green)}.light.active[data-v-e89ad693]{opacity:1;animation:lightGlow-e89ad693 2s ease-in-out infinite}@keyframes lightGlow-e89ad693{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.health-info[data-v-e89ad693]{display:flex;flex-direction:column;gap:2px}.health-status[data-v-e89ad693]{font-size:13px;font-weight:700}.health-detail[data-v-e89ad693]{font-size:10px;color:var(--text-muted)}.stat-grid[data-v-e89ad693]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stat-card[data-v-e89ad693]{background:var(--input-bg);border:1px solid var(--border-panel);border-radius:4px;padding:5px 8px;display:flex;justify-content:space-between;align-items:center}.stat-value[data-v-e89ad693]{display:flex;align-items:baseline;gap:3px}.stat-number[data-v-e89ad693]{font-size:15px;font-weight:700;color:var(--accent);font-family:DIN Alternate,Helvetica Neue,monospace}.stat-unit[data-v-e89ad693]{font-size:9px;color:var(--text-muted)}.stat-label[data-v-e89ad693]{font-size:9px;color:var(--text-secondary);text-align:right}.status-summary[data-v-e89ad693]{display:flex;gap:12px;background:var(--input-bg);border-radius:4px;padding:6px 10px}.status-item[data-v-e89ad693]{display:flex;align-items:center;gap:4px;font-size:10px}.status-dot[data-v-e89ad693]{width:6px;height:6px;border-radius:50%}.status-label[data-v-e89ad693]{color:var(--text-secondary)}.status-count[data-v-e89ad693]{color:var(--text-primary);font-weight:600;font-family:DIN Alternate,Helvetica Neue,monospace}.duration-info[data-v-e89ad693]{display:flex;gap:16px}.duration-row[data-v-e89ad693]{display:flex;gap:4px;font-size:9px}.dur-label[data-v-e89ad693]{color:var(--text-muted)}.dur-value[data-v-e89ad693]{color:var(--text-secondary);font-family:monospace}.section-progress-area[data-v-e89ad693]{display:flex;flex-direction:column;gap:6px;flex:1;margin-top:4px}.progress-item[data-v-e89ad693]{display:flex;flex-direction:column;gap:2px;padding:4px 6px;background:var(--input-bg);border-radius:4px;cursor:pointer;transition:background .2s}.progress-item[data-v-e89ad693]:hover{background:#00b4ff1f}.progress-header[data-v-e89ad693]{display:flex;justify-content:space-between;align-items:center}.section-name[data-v-e89ad693]{font-size:11px;color:var(--text-secondary);font-weight:600;display:flex;align-items:center;gap:4px}.alert-dot[data-v-e89ad693]{width:5px;height:5px;border-radius:50%;display:inline-block}.alert-dot.red[data-v-e89ad693]{background:var(--accent-red);box-shadow:0 0 4px var(--accent-red)}.alert-dot.yellow[data-v-e89ad693]{background:var(--accent-orange);box-shadow:0 0 4px var(--accent-orange)}.section-pct[data-v-e89ad693]{font-size:12px;color:var(--accent);font-weight:700;font-family:DIN Alternate,Helvetica Neue,monospace}.progress-bar-bg[data-v-e89ad693]{width:100%;height:6px;background:#00b4ff1a;border-radius:3px;overflow:hidden}.progress-bar-fill[data-v-e89ad693]{height:100%;border-radius:3px;transition:width 1.5s ease}.project-description[data-v-e89ad693]{margin-top:8px;border-top:1px solid var(--border-panel);padding-top:8px}.desc-header[data-v-e89ad693]{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:4px 0}.desc-title[data-v-e89ad693]{font-size:11px;color:var(--accent);font-weight:600}.desc-toggle[data-v-e89ad693]{font-size:10px;color:var(--text-muted)}.desc-content[data-v-e89ad693]{font-size:11px;color:var(--text-secondary);line-height:1.5;padding:8px 0;transition:all .3s ease}.desc-content.collapsed[data-v-e89ad693]{max-height:0;overflow:hidden;padding:0}.detail-content[data-v-e89ad693]{color:var(--text-primary)}.detail-stats-row[data-v-e89ad693]{display:flex;gap:16px;margin-bottom:16px}.detail-stat[data-v-e89ad693]{flex:1;background:var(--input-bg);border:1px solid var(--border-panel);border-radius:6px;padding:10px;text-align:center;display:flex;flex-direction:column;gap:4px}.ds-num[data-v-e89ad693]{font-size:22px;font-weight:700;font-family:DIN Alternate,Helvetica Neue,monospace;color:var(--text-primary)}.ds-num.green[data-v-e89ad693]{color:var(--accent-green)}.ds-num.red[data-v-e89ad693]{color:var(--accent-red)}.ds-num.orange[data-v-e89ad693]{color:var(--accent-orange)}.ds-num.blue[data-v-e89ad693]{color:var(--accent)}.ds-label[data-v-e89ad693]{font-size:11px;color:var(--text-muted)}.detail-info-grid[data-v-e89ad693]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px}.info-row[data-v-e89ad693]{display:flex;justify-content:space-between;font-size:12px;padding:5px 0;border-bottom:1px solid var(--border-panel)}.info-label[data-v-e89ad693]{color:var(--text-muted)}.info-value[data-v-e89ad693]{color:var(--text-secondary);font-weight:500}.detail-section-title[data-v-e89ad693]{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:8px;padding-left:8px;border-left:3px solid var(--accent)}.detail-table[data-v-e89ad693]{width:100%;border-collapse:collapse;font-size:12px}.detail-table th[data-v-e89ad693]{background:var(--input-bg);color:var(--text-secondary);font-weight:500;padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-panel)}.detail-table td[data-v-e89ad693]{padding:6px 8px;border-bottom:1px solid var(--border-panel);color:var(--text-secondary)}.detail-table td.green[data-v-e89ad693]{color:var(--accent-green);font-weight:600}.detail-table td.red[data-v-e89ad693]{color:var(--accent-red);font-weight:600}.status-tag[data-v-e89ad693]{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600}.status-tag.completed[data-v-e89ad693]{background:#00ff8826;color:var(--accent-green)}.status-tag.in_progress[data-v-e89ad693]{background:#00d4ff26;color:var(--accent)}.status-tag.not_started[data-v-e89ad693]{background:var(--input-bg);color:var(--text-muted)}.section-progress-en .section-name[data-v-e89ad693]{font-size:10px}.section-progress-en .section-pct[data-v-e89ad693]{font-size:11px}@media (max-width: 767px){.overview[data-v-e89ad693]{gap:6px}.health-indicator[data-v-e89ad693]{padding:5px 6px;gap:5px}.light[data-v-e89ad693]{width:9px;height:9px}.health-status[data-v-e89ad693]{font-size:10px}.stat-grid[data-v-e89ad693]{gap:4px}.stat-card[data-v-e89ad693]{padding:4px 5px}.stat-number[data-v-e89ad693]{font-size:12px}}.safety[data-v-5596e0c5]{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}.safety-hero[data-v-5596e0c5]{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(135deg,#00ff881a,#00b4ff14);border-radius:8px;border:1px solid rgba(0,255,136,.2);cursor:pointer;transition:all .2s}.safety-hero[data-v-5596e0c5]:hover{border-color:var(--accent-green);box-shadow:0 0 16px #00ff8826}.hero-icon[data-v-5596e0c5]{font-size:22px;opacity:.8}.hero-content[data-v-5596e0c5]{flex:1;display:flex;flex-direction:column}.hero-num[data-v-5596e0c5]{font-size:22px;font-weight:700;color:var(--accent-green);font-family:DIN Alternate,monospace;line-height:1}.hero-label[data-v-5596e0c5]{font-size:10px;color:var(--text-muted);margin-top:2px}.hero-sub[data-v-5596e0c5]{font-size:9px;color:var(--text-secondary)}.hero-bar[data-v-5596e0c5]{width:180px;height:4px;background:#00ff881a;border-radius:2px;overflow:hidden}.hero-bar-fill[data-v-5596e0c5]{height:100%;background:linear-gradient(90deg,var(--accent-green),var(--accent));transition:width .5s ease}.safety-stats[data-v-5596e0c5]{display:flex;justify-content:space-between}.s-stat[data-v-5596e0c5]{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;padding:6px 4px;border-radius:var(--radius-md)}.s-num[data-v-5596e0c5]{font-size:16px;font-weight:700;color:var(--text-primary);font-family:DIN Alternate,monospace}.s-num.orange[data-v-5596e0c5]{color:var(--accent-orange)}.s-num.blue[data-v-5596e0c5]{color:var(--accent)}.s-label[data-v-5596e0c5]{font-size:10px;color:var(--text-muted)}.issue-list[data-v-5596e0c5]{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto}.issue-row[data-v-5596e0c5]{display:flex;align-items:center;gap:8px;font-size:11px;padding:6px 8px;background:var(--input-bg);border-radius:var(--radius-sm);border:1px solid transparent}.issue-row[data-v-5596e0c5]:hover{background:#00b4ff14;border-color:var(--border-panel)}.issue-row[data-v-5596e0c5]:focus{background:#00b4ff14;border-color:var(--accent)}.issue-type[data-v-5596e0c5]{width:56px;color:var(--text-secondary);flex-shrink:0;white-space:nowrap}.issue-nums[data-v-5596e0c5]{width:32px;text-align:right;color:var(--text-secondary);font-weight:600;font-family:DIN Alternate,monospace;font-size:10px}.mb-4[data-v-5596e0c5]{margin-bottom:16px}.safety-en .hero-num[data-v-5596e0c5]{font-size:22px}.safety-en .s-num[data-v-5596e0c5]{font-size:14px}.quality[data-v-638529b9]{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}.quality-hero[data-v-638529b9]{display:flex;align-items:center;gap:16px;padding:12px;background:linear-gradient(135deg,#00b4ff1a,#00ff8814);border-radius:8px;border:1px solid rgba(0,180,255,.2);cursor:pointer;transition:all .2s}.quality-hero[data-v-638529b9]:hover{border-color:var(--accent);box-shadow:0 0 16px #00b4ff26}.rate-ring[data-v-638529b9]{position:relative;width:56px;height:56px;flex-shrink:0}.rate-ring svg[data-v-638529b9]{width:100%;height:100%;transform:rotate(-90deg)}.rate-bg[data-v-638529b9]{fill:none;stroke:#00b4ff26;stroke-width:8}.rate-fill[data-v-638529b9]{fill:none;stroke:url(#rateGradient);stroke:var(--accent);stroke-width:8;stroke-linecap:round;stroke-dasharray:264;transition:stroke-dashoffset .8s ease}.rate-value[data-v-638529b9]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.rate-num[data-v-638529b9]{font-size:18px;font-weight:700;color:var(--accent);font-family:DIN Alternate,monospace}.rate-unit[data-v-638529b9]{font-size:10px;color:var(--text-muted)}.hero-content[data-v-638529b9]{flex:1}.hero-title[data-v-638529b9]{font-size:14px;font-weight:600;color:var(--text-secondary)}.hero-status[data-v-638529b9]{font-size:11px;color:var(--accent-green);margin-top:4px}.hero-status.warn[data-v-638529b9]{color:var(--accent-orange)}.quality-stats[data-v-638529b9]{display:flex;justify-content:space-between}.q-stat[data-v-638529b9]{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;padding:6px 4px;border-radius:var(--radius-md)}.q-num[data-v-638529b9]{font-size:16px;font-weight:700;color:var(--text-primary);font-family:DIN Alternate,monospace}.q-num.orange[data-v-638529b9]{color:var(--accent-orange)}.q-label[data-v-638529b9]{font-size:10px;color:var(--text-muted)}.issue-list[data-v-638529b9]{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto}.issue-row[data-v-638529b9]{display:flex;align-items:center;gap:8px;font-size:11px;padding:6px 8px;background:var(--input-bg);border-radius:var(--radius-sm);border:1px solid transparent}.issue-row[data-v-638529b9]:hover{background:#00b4ff14;border-color:var(--border-panel)}.issue-row[data-v-638529b9]:focus{background:#00b4ff14;border-color:var(--accent)}.issue-type[data-v-638529b9]{width:56px;color:var(--text-secondary);flex-shrink:0;white-space:nowrap}.issue-nums[data-v-638529b9]{width:32px;text-align:right;color:var(--text-secondary);font-weight:600;font-family:DIN Alternate,monospace;font-size:10px}.quality-en .rate-num[data-v-638529b9]{font-size:16px}.quality-en .q-num[data-v-638529b9]{font-size:14px}.map-wrapper[data-v-50081050]{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.map-area[data-v-50081050]{position:relative;width:100%;flex:1;min-height:0}.amap-container[data-v-50081050],.echart-container[data-v-50081050]{width:100%;height:100%}.map-legend[data-v-50081050]{position:absolute;top:10px;left:10px;background:#0a193cd9;padding:8px 10px;border-radius:4px;border:1px solid var(--border-panel);display:flex;gap:10px;font-size:11px;z-index:10}.legend-item[data-v-50081050]{display:flex;align-items:center;gap:4px;color:var(--text-primary)}.legend-dot[data-v-50081050]{width:8px;height:8px;border-radius:50%}.legend-dot.completed[data-v-50081050]{background:var(--accent-green)}.legend-dot.in-progress[data-v-50081050]{background:var(--accent)}.legend-dot.not-started[data-v-50081050]{background:var(--text-muted)}.section-tabs[data-v-50081050]{position:absolute;top:10px;right:10px;display:flex;gap:6px;z-index:10}.section-tab[data-v-50081050]{background:var(--input-bg);border:1px solid var(--border-panel);color:var(--text-secondary);padding:4px 10px;border-radius:3px;font-size:11px;cursor:pointer;transition:all .2s;min-height:32px}.section-tab.active[data-v-50081050],.section-tab[data-v-50081050]:hover{background:#00b4ff26;color:var(--accent);border-color:var(--accent)}.mobile-list[data-v-50081050]{flex-shrink:0;max-height:280px;display:flex;flex-direction:column;border-top:1px solid var(--border-panel);background:var(--input-bg)}.list-header[data-v-50081050]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border-panel);flex-shrink:0}.list-title[data-v-50081050]{font-size:13px;font-weight:600;color:var(--accent)}.list-count[data-v-50081050]{font-size:11px;color:var(--text-muted)}.list-body[data-v-50081050]{flex:1;overflow-y:auto;padding:4px 0}.point-item[data-v-50081050]{padding:10px 12px;border-bottom:1px solid var(--border-panel);cursor:pointer;transition:background .2s}.point-item[data-v-50081050]:last-child{border-bottom:none}.point-item[data-v-50081050]:hover{background:#00b4ff14}.point-item.highlighted[data-v-50081050]{background:#00d4ff26;animation:highlightPulse-50081050 .5s ease}@keyframes highlightPulse-50081050{0%,to{background:#00d4ff26}50%{background:#00d4ff40}}.point-row[data-v-50081050]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.point-dot[data-v-50081050]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.point-name[data-v-50081050]{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.point-status[data-v-50081050]{font-size:10px;padding:2px 6px;border-radius:3px;background:var(--input-bg);color:var(--text-muted);flex-shrink:0}.point-status.completed[data-v-50081050]{color:var(--accent-green);background:#00ff881a}.point-status.in_progress[data-v-50081050]{color:var(--accent);background:#00d4ff1a}.point-meta[data-v-50081050]{font-size:11px;color:var(--text-muted);padding-left:16px}.point-progress[data-v-50081050]{display:flex;align-items:center;gap:8px;margin-top:6px;padding-left:16px}.progress-bar[data-v-50081050]{flex:1;height:4px;background:var(--border-panel);border-radius:2px;overflow:hidden}.progress-fill[data-v-50081050]{height:100%;border-radius:2px;transition:width .3s}.progress-text[data-v-50081050]{font-size:11px;font-weight:600;color:var(--text-secondary);min-width:36px;text-align:right}@media (max-width: 767px){.map-wrapper.mobile .map-area[data-v-50081050]{height:200px;flex:none}.map-legend[data-v-50081050]{padding:6px 8px;gap:6px;font-size:10px}.legend-dot[data-v-50081050]{width:6px;height:6px}.section-tabs[data-v-50081050]{top:auto;bottom:10px;right:10px}.section-tab[data-v-50081050]{padding:6px 8px;font-size:10px}}@media (max-width: 374px){.map-wrapper.mobile .map-area[data-v-50081050]{height:160px}.map-legend[data-v-50081050]{flex-wrap:wrap;gap:4px}.legend-item[data-v-50081050]{font-size:9px}}.detail-content[data-v-50081050]{color:var(--text-primary)}.detail-stats-row[data-v-50081050]{display:flex;gap:12px;margin-bottom:16px}.detail-stat[data-v-50081050]{flex:1;background:var(--input-bg);border:1px solid var(--border-panel);border-radius:6px;padding:10px;text-align:center;display:flex;flex-direction:column;gap:4px}.ds-num[data-v-50081050]{font-size:20px;font-weight:700;font-family:DIN Alternate,monospace;color:var(--accent)}.ds-num.blue[data-v-50081050]{color:var(--accent)}.ds-num.green[data-v-50081050]{color:var(--accent-green)}.ds-label[data-v-50081050]{font-size:10px;color:var(--text-muted)}.detail-info-grid[data-v-50081050]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.info-row[data-v-50081050]{display:flex;justify-content:space-between;font-size:12px;padding:5px 0;border-bottom:1px solid var(--border-panel)}.info-label[data-v-50081050]{color:var(--text-muted)}.info-value[data-v-50081050]{color:var(--text-secondary);font-weight:500}.status-tag[data-v-50081050]{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600}.status-tag.completed[data-v-50081050]{background:#00ff8826;color:var(--accent-green)}.status-tag.in_progress[data-v-50081050]{background:#00b4ff26;color:var(--accent)}.status-tag.not_started[data-v-50081050]{background:var(--input-bg);color:var(--text-muted)}.finance[data-v-c6a5d469]{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}.finance.finance-en .fin-label[data-v-c6a5d469]{font-size:9px}.finance.finance-en .fin-value[data-v-c6a5d469]{font-size:14px}.finance-summary[data-v-c6a5d469]{display:flex;justify-content:space-between;gap:8px}.fin-item[data-v-c6a5d469]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;background:var(--input-bg);border-radius:4px;border:1px solid var(--border-panel)}.fin-label[data-v-c6a5d469]{font-size:9px;color:var(--text-muted);white-space:nowrap}.fin-value[data-v-c6a5d469]{font-size:14px;font-weight:700;color:var(--accent);font-family:DIN Alternate,Helvetica Neue,monospace}.fin-value .unit[data-v-c6a5d469]{font-size:9px;font-weight:400;color:var(--text-muted)}.fin-value.accent[data-v-c6a5d469]{color:var(--accent)}.fin-value.green[data-v-c6a5d469]{color:var(--accent-green)}.progress-section[data-v-c6a5d469]{display:flex;flex-direction:column;gap:6px}.progress-row[data-v-c6a5d469]{display:flex;align-items:center;gap:8px}.progress-label[data-v-c6a5d469]{font-size:10px;color:var(--text-secondary);width:60px;flex-shrink:0}.progress-bar[data-v-c6a5d469]{flex:1;height:6px;background:var(--border-panel);border-radius:3px;overflow:hidden}.progress-fill[data-v-c6a5d469]{height:100%;border-radius:3px;transition:width .5s ease}.progress-fill.approved[data-v-c6a5d469]{background:linear-gradient(90deg,#ff9f43,#fc0)}.progress-fill.spent[data-v-c6a5d469]{background:linear-gradient(90deg,#0f8,#00d4ff)}.progress-text[data-v-c6a5d469]{font-size:10px;color:var(--accent);font-weight:600;width:36px;text-align:right}.section-finance[data-v-c6a5d469]{display:flex;flex-direction:column;gap:4px;margin-top:auto}.section-row[data-v-c6a5d469]{display:flex;justify-content:space-between;font-size:10px;padding:4px 6px;background:var(--input-bg);border-radius:3px}.section-name[data-v-c6a5d469]{color:var(--text-secondary)}.section-val[data-v-c6a5d469]{color:var(--text-muted);font-family:monospace}@media (max-width: 767px){.finance-summary[data-v-c6a5d469]{flex-direction:column;gap:4px}.fin-item[data-v-c6a5d469]{flex-direction:row;justify-content:space-between;padding:4px 8px}.progress-row[data-v-c6a5d469]{flex-wrap:wrap}.progress-label[data-v-c6a5d469]{width:100%;margin-bottom:2px}}.fishbone-container[data-v-c7fb03fb]{width:100%;height:100%;display:flex;flex-direction:column}.milestone-stats[data-v-c7fb03fb]{display:flex;gap:12px;padding:4px 8px;margin-bottom:4px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.stat-item[data-v-c7fb03fb]{font-size:10px;color:var(--text-muted)}.stat-item strong[data-v-c7fb03fb]{font-weight:700;font-family:DIN Alternate,monospace;margin-left:2px}.stat-item.completed strong[data-v-c7fb03fb]{color:var(--accent-green)}.stat-item.upcoming strong[data-v-c7fb03fb]{color:var(--accent)}.stat-item.pending strong[data-v-c7fb03fb]{color:var(--text-muted)}.stat-item.avg-delay strong.delay[data-v-c7fb03fb]{color:#ff4757}.stat-item.avg-delay strong.early[data-v-c7fb03fb]{color:var(--accent-green)}.zoom-controls[data-v-c7fb03fb]{display:flex;align-items:center;gap:4px;margin-left:12px;padding-left:12px;border-left:1px solid var(--border-panel)}.zoom-btn[data-v-c7fb03fb]{width:20px;height:20px;border:1px solid var(--border-panel);background:var(--input-bg);color:var(--text-muted);border-radius:3px;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.zoom-btn[data-v-c7fb03fb]:hover{border-color:var(--accent);color:var(--accent)}.zoom-level[data-v-c7fb03fb]{font-size:9px;color:var(--text-muted);min-width:32px;text-align:center;font-family:monospace}.fishbone-viewport[data-v-c7fb03fb]{flex:1;min-height:0;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none}.fishbone-viewport[data-v-c7fb03fb]:active{cursor:grabbing}.fishbone[data-v-c7fb03fb]{position:relative;width:100%;height:100%;min-height:175px;transition:transform .1s ease-out}.spine[data-v-c7fb03fb]{position:absolute;top:50%;left:3%;right:3%;height:3px;transform:translateY(-50%)}.spine-line[data-v-c7fb03fb]{width:100%;height:100%;background:linear-gradient(90deg,var(--accent, #00d4ff) 0%,var(--accent, #00d4ff) 80%,transparent 100%);opacity:.5;border-radius:2px}.spine-arrow[data-v-c7fb03fb]{position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:8px solid var(--accent, #00d4ff);border-top:5px solid transparent;border-bottom:5px solid transparent;opacity:.5}.milestone-node[data-v-c7fb03fb]{position:absolute;top:50%;transform:translate(-50%);z-index:2}.node-dot[data-v-c7fb03fb]{width:10px;height:10px;border-radius:50%;position:absolute;left:50%;transform:translate(-50%,-50%);top:0;z-index:3;border:2px solid rgba(5,10,30,.8)}.node-dot.completed[data-v-c7fb03fb]{background:var(--accent-green, #00ff88);box-shadow:0 0 8px #00ff8880}.node-dot.upcoming[data-v-c7fb03fb]{background:var(--accent, #00d4ff);box-shadow:0 0 8px #00d4ff99;animation:dotPulse-c7fb03fb 2s ease-in-out infinite}.node-dot.pending[data-v-c7fb03fb]{background:var(--text-muted, #5a7a9a)}@keyframes dotPulse-c7fb03fb{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.4)}}.bone[data-v-c7fb03fb]{position:absolute;left:50%;width:1px;transform:translate(-50%)}.above .bone[data-v-c7fb03fb]{bottom:0;height:35px;background:linear-gradient(to top,var(--border-glow, rgba(0, 180, 255, .6)),transparent)}.below .bone[data-v-c7fb03fb]{top:0;height:35px;background:linear-gradient(to bottom,var(--border-glow, rgba(0, 180, 255, .6)),transparent)}.above .node-card[data-v-c7fb03fb]{position:absolute;bottom:38px;left:50%;transform:translate(-50%)}.below .node-card[data-v-c7fb03fb]{position:absolute;top:38px;left:50%;transform:translate(-50%)}.node-card[data-v-c7fb03fb]{white-space:nowrap;padding:4px 8px;border-radius:4px;background:var(--bg-panel);border:1px solid var(--border-panel);min-width:65px;text-align:center;transition:all .2s}.node-card.completed[data-v-c7fb03fb]{border-color:#00ff884d;background:#00ff880d}.node-card.completed.compact[data-v-c7fb03fb]{padding:3px 6px;min-width:auto}.node-card.upcoming[data-v-c7fb03fb]{border-color:#00d4ff66;background:#00d4ff14}.node-card.pending[data-v-c7fb03fb]{opacity:.7}.card-name[data-v-c7fb03fb]{font-size:9px;font-weight:600;color:var(--text-primary);line-height:1.2;max-width:90px;overflow:hidden;text-overflow:ellipsis}.node-card.compact .card-name[data-v-c7fb03fb]{max-width:70px}.card-date[data-v-c7fb03fb]{display:flex;flex-direction:column;margin-top:2px}.card-date .planned[data-v-c7fb03fb]{font-size:8px;color:var(--text-muted);font-family:-apple-system,BlinkMacSystemFont,monospace}.card-tag[data-v-c7fb03fb]{font-size:7px;padding:1px 5px;border-radius:2px;margin-top:2px;display:inline-block}.card-tag.upcoming[data-v-c7fb03fb]{background:#00d4ff33;color:var(--accent)}.card-check[data-v-c7fb03fb]{color:var(--accent-green);font-size:10px;margin-top:1px}.time-scale[data-v-c7fb03fb]{position:absolute;bottom:2px;left:0;right:0;height:16px}.year-mark[data-v-c7fb03fb]{position:absolute;transform:translate(-50%);font-size:9px;color:var(--text-muted, #5a7a9a);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;opacity:.6}@media (max-width: 767px){.fishbone[data-v-c7fb03fb]{min-height:100px}.time-scale[data-v-c7fb03fb]{display:none}.node-card[data-v-c7fb03fb]{padding:3px 5px;min-width:50px}.card-name[data-v-c7fb03fb]{font-size:8px;max-width:60px}}.photo-carousel[data-v-328f356f]{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.carousel-track[data-v-328f356f]{flex:1;overflow:hidden;position:relative}.photo-card[data-v-328f356f]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .5s}.photo-card.active[data-v-328f356f]{opacity:1;z-index:1}.photo-img[data-v-328f356f],.photo-placeholder-img[data-v-328f356f]{width:100%;height:100%;border-radius:6px;overflow:hidden;background:#00b4ff14}.photo-img img[data-v-328f356f]{width:100%;height:100%;object-fit:cover}.photo-placeholder-img svg[data-v-328f356f]{width:100%;height:100%}.photo-info[data-v-328f356f]{position:absolute;bottom:0;left:0;right:0;padding:24px 8px 6px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);pointer-events:none}.photo-desc[data-v-328f356f]{display:block;font-size:11px;color:#fff;margin-bottom:2px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.photo-meta[data-v-328f356f]{font-size:9px;color:#ffffffb3}.empty-hint[data-v-328f356f]{text-align:center;color:#6a9ec0;font-size:12px;padding:20px 0}.carousel-dots[data-v-328f356f]{display:flex;justify-content:center;gap:6px}.carousel-dot[data-v-328f356f]{width:6px;height:6px;border-radius:50%;background:#6a9ec066;cursor:pointer;transition:all .2s}.carousel-dot.active[data-v-328f356f]{background:#00d4ff;width:20px;border-radius:3px}@media (max-width: 767px){.photo-carousel[data-v-328f356f]{gap:4px}.photo-desc[data-v-328f356f]{font-size:10px}.photo-meta[data-v-328f356f]{font-size:8px}.carousel-dots[data-v-328f356f]{gap:4px}.carousel-dot[data-v-328f356f]{width:5px;height:5px}.carousel-dot.active[data-v-328f356f]{width:16px}}.risk-heatmap[data-v-98c6ad15]{display:flex;flex-direction:column;flex:1;min-height:0;gap:6px}.risk-summary[data-v-98c6ad15]{display:flex;gap:8px;justify-content:center;flex-shrink:0}.summary-item[data-v-98c6ad15]{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:11px}.summary-item.high[data-v-98c6ad15]{background:#ff475726;border:1px solid rgba(255,71,87,.3)}.summary-item.medium[data-v-98c6ad15]{background:#ffa50226;border:1px solid rgba(255,165,2,.3)}.summary-item.low[data-v-98c6ad15]{background:#2ed57326;border:1px solid rgba(46,213,115,.3)}.summary-item.high .summary-label[data-v-98c6ad15]{color:#ff4757}.summary-item.medium .summary-label[data-v-98c6ad15]{color:#ffa502}.summary-item.low .summary-label[data-v-98c6ad15]{color:#2ed573}.summary-count[data-v-98c6ad15]{font-weight:700;font-size:13px;color:var(--text-primary)}.risk-grid-wrapper[data-v-98c6ad15]{flex:1;min-height:0;display:flex;justify-content:center;align-items:center}.risk-grid[data-v-98c6ad15]{display:grid;grid-template-columns:auto repeat(5,1fr);grid-template-rows:auto repeat(5,1fr);gap:2px;width:100%;max-width:300px;aspect-ratio:1;margin:0 auto}.grid-header[data-v-98c6ad15],.grid-row[data-v-98c6ad15]{display:contents}.grid-cell[data-v-98c6ad15]{border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;transition:all .2s;min-height:0}.header-cell[data-v-98c6ad15]{background:transparent;color:var(--text-muted);font-size:9px;cursor:default;padding:2px}.label-cell[data-v-98c6ad15]{background:transparent;color:var(--text-muted);font-size:9px;cursor:default;padding:2px 4px;writing-mode:vertical-rl;transform:rotate(180deg);justify-content:flex-end}.cell-high[data-v-98c6ad15]{background:#ff475714;border:1px solid rgba(255,71,87,.2)}.cell-high-active[data-v-98c6ad15]{background:#ff475740;border:1px solid rgba(255,71,87,.5)}.cell-medium[data-v-98c6ad15]{background:#ffa50214;border:1px solid rgba(255,165,2,.2)}.cell-medium-active[data-v-98c6ad15]{background:#ffa50240;border:1px solid rgba(255,165,2,.5)}.cell-low[data-v-98c6ad15]{background:#2ed57314;border:1px solid rgba(46,213,115,.2)}.cell-low-active[data-v-98c6ad15]{background:#2ed57340;border:1px solid rgba(46,213,115,.5)}.grid-cell[data-v-98c6ad15]:hover:not(.header-cell):not(.label-cell){transform:scale(1.05);box-shadow:0 0 8px #00b4ff4d}.cell-count[data-v-98c6ad15]{font-weight:700;color:#fff}.axis-label[data-v-98c6ad15]{font-size:10px;color:var(--text-muted);font-weight:500;text-align:center;flex-shrink:0}.detail-content[data-v-98c6ad15]{color:var(--text-primary)}.detail-stats-row[data-v-98c6ad15]{display:flex;gap:16px;margin-bottom:20px}.detail-stat[data-v-98c6ad15]{flex:1;background:var(--input-bg);border:1px solid var(--border-panel);border-radius:6px;padding:12px;text-align:center;display:flex;flex-direction:column;gap:4px}.ds-num[data-v-98c6ad15]{font-size:24px;font-weight:700;font-family:DIN Alternate,Helvetica Neue,monospace}.ds-num.high[data-v-98c6ad15]{color:#ff4757}.ds-num.medium[data-v-98c6ad15]{color:#ffa502}.ds-num.low[data-v-98c6ad15]{color:#2ed573}.ds-label[data-v-98c6ad15]{font-size:12px;color:var(--text-muted)}.detail-info-grid[data-v-98c6ad15]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.info-row[data-v-98c6ad15]{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid var(--border-panel)}.info-label[data-v-98c6ad15]{color:var(--text-muted)}.info-value[data-v-98c6ad15]{color:var(--text-secondary);font-weight:500}.detail-section-title[data-v-98c6ad15]{font-size:14px;font-weight:600;color:var(--accent);margin-bottom:10px;padding-left:8px;border-left:3px solid var(--accent)}.measure-text[data-v-98c6ad15]{font-size:13px;color:var(--text-secondary);line-height:1.6;padding:10px;background:var(--input-bg);border-radius:4px;margin-bottom:16px}.status-tag[data-v-98c6ad15]{padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600}.status-tag.monitoring[data-v-98c6ad15]{background:#ffa50226;color:#ffa502}.status-tag.processing[data-v-98c6ad15]{background:#00d4ff26;color:var(--accent)}.status-tag.controlled[data-v-98c6ad15]{background:#00ff8826;color:#2ed573}.cell-summary[data-v-98c6ad15]{font-size:13px;color:var(--text-muted);margin-bottom:16px;padding:8px 12px;background:var(--input-bg);border-radius:4px}.risk-table[data-v-98c6ad15]{display:flex;flex-direction:column;gap:4px}.risk-row[data-v-98c6ad15]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--input-bg);border-radius:4px;cursor:pointer;transition:all .2s}.risk-row[data-v-98c6ad15]:hover{background:#00b4ff1a}.risk-badge[data-v-98c6ad15]{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600}.risk-badge.high[data-v-98c6ad15]{background:#ff475733;color:#ff4757}.risk-badge.medium[data-v-98c6ad15]{background:#ffa50233;color:#ffa502}.risk-badge.low[data-v-98c6ad15]{background:#2ed57333;color:#2ed573}.risk-name-cell[data-v-98c6ad15]{flex:1;color:var(--text-secondary);font-size:13px}.risk-category[data-v-98c6ad15]{color:var(--text-muted);font-size:11px}.risk-score-cell[data-v-98c6ad15]{color:var(--accent);font-weight:700;font-size:12px}@media (max-width: 767px){.header-cell[data-v-98c6ad15],.label-cell[data-v-98c6ad15]{font-size:8px}.risk-grid[data-v-98c6ad15]{max-width:200px}}.document-control[data-v-a023f38f]{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}.doc-hero[data-v-a023f38f]{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(135deg,#00b4ff1a,#00ff8814);border-radius:8px;border:1px solid rgba(0,180,255,.2);cursor:pointer;transition:all .2s}.doc-hero[data-v-a023f38f]:hover{border-color:var(--accent);box-shadow:0 0 16px #00b4ff26}.hero-icon[data-v-a023f38f]{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.icon-doc[data-v-a023f38f]{width:18px;height:22px;border:2px solid var(--accent);border-radius:2px;position:relative;opacity:.8}.icon-doc[data-v-a023f38f]:before{content:"";position:absolute;top:4px;right:-2px;width:6px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}.icon-doc[data-v-a023f38f]:after{content:"";position:absolute;left:3px;top:8px;width:8px;height:2px;background:var(--accent);border-radius:1px}.hero-content[data-v-a023f38f]{flex:1;display:flex;flex-direction:column}.hero-num[data-v-a023f38f]{font-size:22px;font-weight:700;color:var(--accent);font-family:DIN Alternate,monospace;line-height:1}.hero-label[data-v-a023f38f]{font-size:10px;color:var(--text-muted);margin-top:2px}.hero-bar[data-v-a023f38f]{width:180px;height:4px;background:#00b4ff1a;border-radius:2px;overflow:hidden}.hero-bar-fill[data-v-a023f38f]{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-green));transition:width .5s ease}.doc-stats[data-v-a023f38f]{display:flex;justify-content:space-between}.d-stat[data-v-a023f38f]{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;padding:6px 4px;border-radius:var(--radius-md)}.d-num[data-v-a023f38f]{font-size:16px;font-weight:700;font-family:DIN Alternate,monospace}.d-num.green[data-v-a023f38f]{color:var(--accent-green)}.d-num.orange[data-v-a023f38f]{color:var(--accent-orange)}.d-num.red[data-v-a023f38f]{color:#ff4757}.d-label[data-v-a023f38f]{font-size:10px;color:var(--text-muted)}.doc-list[data-v-a023f38f]{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto}.doc-item[data-v-a023f38f]{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--input-bg);border-radius:var(--radius-sm);font-size:11px}.doc-type[data-v-a023f38f]{width:60px;color:var(--text-secondary);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-bar[data-v-a023f38f]{flex:1;height:4px;background:#00b4ff1a;border-radius:2px;overflow:hidden}.doc-bar-fill[data-v-a023f38f]{height:100%;background:var(--accent);transition:width .3s ease}.doc-count[data-v-a023f38f]{width:28px;text-align:right;color:var(--text-muted);font-weight:600;font-family:DIN Alternate,monospace;font-size:10px}.doc-status-tag[data-v-a023f38f]{font-size:8px;padding:1px 4px;border-radius:2px;background:#ff9f4326;color:var(--accent-orange)}.detail-content[data-v-a023f38f]{color:var(--text-primary)}.detail-stats-row[data-v-a023f38f]{display:flex;gap:12px;margin-bottom:16px}.detail-stat[data-v-a023f38f]{flex:1;background:var(--input-bg);border:1px solid var(--border-panel);border-radius:6px;padding:10px;text-align:center;display:flex;flex-direction:column;gap:4px}.ds-num[data-v-a023f38f]{font-size:20px;font-weight:700;font-family:DIN Alternate,monospace}.ds-num.green[data-v-a023f38f]{color:var(--accent-green)}.ds-num.orange[data-v-a023f38f]{color:var(--accent-orange)}.ds-num.red[data-v-a023f38f]{color:#ff4757}.ds-label[data-v-a023f38f]{font-size:10px;color:var(--text-muted)}.detail-section-title[data-v-a023f38f]{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:8px;padding-left:8px;border-left:3px solid var(--accent)}.detail-rate[data-v-a023f38f]{font-size:32px;font-weight:700;color:var(--accent);font-family:DIN Alternate,monospace;text-align:center}.toggle-btn[data-v-f8f3a948]{background:#00b4ff14;border:1px solid var(--border-panel);color:var(--text-muted);font-size:12px;padding:2px 8px;border-radius:3px;cursor:pointer;transition:all .2s;line-height:1.4}.toggle-btn[data-v-f8f3a948]:hover{color:var(--accent);border-color:var(--accent);background:#00b4ff1f}.phase-tag[data-v-f8f3a948]{font-size:10px;color:var(--accent, #00d4ff);background:#00d4ff1f;padding:2px 8px;border-radius:3px;border:1px solid rgba(0,212,255,.25);font-weight:600;letter-spacing:1px;white-space:nowrap}.title-en[data-v-f8f3a948]{font-size:18px!important;letter-spacing:3px!important}.date-en[data-v-f8f3a948]{font-family:monospace;font-size:10px}.risk-management[data-v-9c38c8f1]{display:flex;flex-direction:column;gap:20px}.section-header[data-v-9c38c8f1]{display:flex;justify-content:space-between;align-items:center}.section-header h3[data-v-9c38c8f1]{font-size:16px;color:var(--accent)}.btn-add[data-v-9c38c8f1]{background:linear-gradient(135deg,#00d4ff,#0f8);color:#050a1e;border:none;padding:8px 16px;border-radius:4px;font-size:13px;cursor:pointer}.risk-summary[data-v-9c38c8f1]{display:flex;gap:16px}.summary-item[data-v-9c38c8f1]{flex:1;background:var(--input-bg);border:1px solid var(--border-panel);border-radius:6px;padding:12px;text-align:center}.summary-item.high[data-v-9c38c8f1]{border-color:#ff47574d}.summary-item.medium[data-v-9c38c8f1]{border-color:#ffa5024d}.summary-item.low[data-v-9c38c8f1]{border-color:#2ed5734d}.sum-label[data-v-9c38c8f1]{font-size:11px;color:var(--text-muted)}.sum-value[data-v-9c38c8f1]{font-size:24px;font-weight:700;color:var(--accent);font-family:DIN Alternate,monospace}.summary-item.high .sum-value[data-v-9c38c8f1]{color:#ff4757}.summary-item.medium .sum-value[data-v-9c38c8f1]{color:#ffa502}.summary-item.low .sum-value[data-v-9c38c8f1]{color:#2ed573}.risk-table-wrapper[data-v-9c38c8f1]{overflow-x:auto}.risk-table[data-v-9c38c8f1]{width:100%;border-collapse:collapse;font-size:12px}.risk-table th[data-v-9c38c8f1]{background:var(--input-bg);color:var(--text-secondary);font-weight:600;padding:10px 8px;text-align:left;border-bottom:1px solid var(--border-panel)}.risk-table td[data-v-9c38c8f1]{padding:10px 8px;border-bottom:1px solid var(--border-panel);color:var(--text-primary)}.category-tag[data-v-9c38c8f1]{padding:2px 8px;border-radius:3px;font-size:10px;font-weight:600}.cat-quality[data-v-9c38c8f1]{background:#00d4ff26;color:#00d4ff}.cat-progress[data-v-9c38c8f1]{background:#00ff8826;color:#0f8}.cat-safety[data-v-9c38c8f1]{background:#ff475726;color:#ff4757}.cat-approval[data-v-9c38c8f1]{background:#ffa50226;color:#ffa502}.cat-external[data-v-9c38c8f1]{background:#9b59b626;color:#9b59b6}.level-indicator[data-v-9c38c8f1]{display:flex;gap:3px}.level-dot[data-v-9c38c8f1]{width:12px;height:12px;border-radius:2px;background:var(--border-panel)}.level-dot.active[data-v-9c38c8f1]{background:var(--accent)}.score-badge[data-v-9c38c8f1]{display:inline-block;padding:2px 8px;border-radius:3px;font-weight:700;font-size:11px}.score-badge.high[data-v-9c38c8f1]{background:#ff475733;color:#ff4757}.score-badge.medium[data-v-9c38c8f1]{background:#ffa50233;color:#ffa502}.score-badge.low[data-v-9c38c8f1]{background:#2ed57333;color:#2ed573}.status-select[data-v-9c38c8f1]{background:var(--input-bg);border:1px solid var(--border-panel);color:var(--text-primary);padding:4px 8px;border-radius:3px;font-size:11px}.btn-icon[data-v-9c38c8f1]{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;font-size:14px}.btn-icon[data-v-9c38c8f1]:hover{color:var(--accent)}.btn-icon.danger[data-v-9c38c8f1]:hover{color:#ff4757}.matrix-preview[data-v-9c38c8f1]{background:var(--input-bg);border-radius:6px;padding:16px}.matrix-preview h4[data-v-9c38c8f1]{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.matrix-grid[data-v-9c38c8f1]{display:flex;flex-direction:column;gap:2px}.matrix-row[data-v-9c38c8f1]{display:flex;gap:2px}.matrix-row.header[data-v-9c38c8f1]{margin-top:4px}.matrix-label[data-v-9c38c8f1]{width:40px;font-size:9px;color:var(--text-muted);text-align:center;display:flex;align-items:center;justify-content:center}.matrix-cell[data-v-9c38c8f1]{width:40px;height:32px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border-radius:3px;cursor:pointer}.cell-high[data-v-9c38c8f1]{background:#ff47574d;color:#ff4757}.cell-medium[data-v-9c38c8f1]{background:#ffa50233;color:#ffa502}.cell-low[data-v-9c38c8f1]{background:#2ed57326;color:#2ed573}.form-grid[data-v-9c38c8f1]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group[data-v-9c38c8f1]{display:flex;flex-direction:column;gap:6px}.form-group.full[data-v-9c38c8f1]{grid-column:span 2}.form-group label[data-v-9c38c8f1]{font-size:12px;color:var(--text-secondary)}.form-group input[data-v-9c38c8f1],.form-group select[data-v-9c38c8f1],.form-group textarea[data-v-9c38c8f1]{background:var(--input-bg);border:1px solid var(--border-panel);color:var(--text-primary);padding:8px 10px;border-radius:4px;font-size:13px}.level-selector[data-v-9c38c8f1]{display:flex;gap:4px}.level-btn[data-v-9c38c8f1]{width:36px;height:32px;border:1px solid var(--border-panel);background:var(--input-bg);color:var(--text-muted);border-radius:4px;cursor:pointer}.level-btn.active[data-v-9c38c8f1]{background:var(--accent);color:#050a1e;border-color:var(--accent)}.level-hint[data-v-9c38c8f1]{font-size:10px;color:var(--text-muted)}.modal-actions[data-v-9c38c8f1]{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.btn[data-v-9c38c8f1]{padding:8px 20px;border-radius:4px;font-size:13px;cursor:pointer;background:var(--input-bg);border:1px solid var(--border-panel);color:var(--text-primary)}.btn-primary[data-v-9c38c8f1]{background:#00ff8826;color:#0f8;border:1px solid rgba(0,255,136,.3)}.admin[data-v-726dbf47]{min-height:100vh;background:#0d1b2a;color:#d0e0f0}.login-overlay[data-v-726dbf47]{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0d1b2a,#1b263b);display:flex;align-items:center;justify-content:center;z-index:3000}.login-box[data-v-726dbf47]{background:#00b4ff0d;border:1px solid rgba(0,180,255,.2);border-radius:12px;padding:40px;text-align:center;min-width:320px;box-shadow:0 8px 32px #00b4ff1a}.login-logo[data-v-726dbf47]{height:48px;margin-bottom:16px}.login-box h2[data-v-726dbf47]{font-size:20px;color:#00d4ff;margin-bottom:8px;letter-spacing:2px}.login-hint[data-v-726dbf47]{font-size:12px;color:#6a9ec0;margin-bottom:24px}.login-input[data-v-726dbf47]{width:100%;padding:12px 16px;background:#00b4ff14;border:1px solid rgba(0,180,255,.2);border-radius:6px;color:#d0e0f0;font-size:14px;margin-bottom:16px;box-sizing:border-box;transition:all .2s}.login-input[data-v-726dbf47]:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 0 3px #00d4ff26}.login-input.error[data-v-726dbf47]{border-color:#ff4757;animation:shake-726dbf47 .4s ease}@keyframes shake-726dbf47{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.login-btn[data-v-726dbf47]{width:100%;padding:12px;background:linear-gradient(135deg,#00d4ff,#0f8);color:#050a1e;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.login-btn[data-v-726dbf47]:hover{opacity:.9;transform:translateY(-1px)}.login-back[data-v-726dbf47]{display:inline-block;margin-top:16px;font-size:12px;color:#6a9ec0;text-decoration:none;transition:color .2s}.login-back[data-v-726dbf47]:hover{color:#00d4ff}.admin-header[data-v-726dbf47]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:linear-gradient(180deg,#0a1e46f2,#081432e6);border-bottom:1px solid rgba(0,180,255,.2)}.admin-header-left[data-v-726dbf47]{display:flex;align-items:center;gap:12px}.admin-logo[data-v-726dbf47]{height:36px}.admin-header h1[data-v-726dbf47]{font-size:20px;font-weight:600;color:#00d4ff;letter-spacing:2px}.admin-header-right[data-v-726dbf47]{display:flex;align-items:center;gap:12px}.btn[data-v-726dbf47]{padding:8px 16px;border:none;border-radius:4px;font-size:13px;cursor:pointer;font-weight:600;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-view[data-v-726dbf47]{background:#00b4ff26;color:#00d4ff;border:1px solid rgba(0,180,255,.3)}.btn-view[data-v-726dbf47]:hover{background:#00b4ff40}.btn-logout[data-v-726dbf47]{background:#ff475726;color:#ff4757;border:1px solid rgba(255,71,87,.3)}.btn-logout[data-v-726dbf47]:hover{background:#ff475740}.btn-save[data-v-726dbf47]{background:#00ff8826;color:#0f8;border:1px solid rgba(0,255,136,.3)}.btn-save[data-v-726dbf47]:hover{background:#00ff8840}.btn-add[data-v-726dbf47]{background:#00d4ff1f;color:#00d4ff;border:1px solid rgba(0,212,255,.25)}.btn-add[data-v-726dbf47]:hover{background:#00d4ff33}.plus-icon[data-v-726dbf47]{font-size:16px;font-weight:700}.header-actions[data-v-726dbf47]{display:flex;gap:10px}.admin-tabs[data-v-726dbf47]{display:flex;gap:2px;padding:12px 24px 0;border-bottom:1px solid rgba(0,180,255,.1)}.tab-btn[data-v-726dbf47]{padding:10px 20px;background:transparent;border:none;color:#6a9ec0;font-size:14px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tab-btn[data-v-726dbf47]:hover{color:#a0c4e0}.tab-btn.active[data-v-726dbf47]{color:#00d4ff;border-bottom-color:#00d4ff}.admin-body[data-v-726dbf47]{padding:20px 24px}.section-header[data-v-726dbf47]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2[data-v-726dbf47]{font-size:18px;color:#a0c4e0;font-weight:600}.header-actions[data-v-726dbf47]{display:flex;align-items:center;gap:12px}.coord-help-link[data-v-726dbf47]{font-size:12px;color:#00d4ff;text-decoration:none;padding:4px 10px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);border-radius:4px;transition:all .2s}.coord-help-link[data-v-726dbf47]:hover{background:#00d4ff33;color:#0f8}.coord-input[data-v-726dbf47]{width:90px!important;font-family:monospace;font-size:11px!important}.sub-section[data-v-726dbf47]{margin-bottom:20px}.sub-section h3[data-v-726dbf47]{font-size:14px;color:#6a9ec0;margin-bottom:8px}.table-wrapper[data-v-726dbf47]{overflow-x:auto}table[data-v-726dbf47]{width:100%;border-collapse:collapse;font-size:13px}th[data-v-726dbf47]{background:#00b4ff14;color:#8cb3d9;font-weight:500;padding:10px 8px;text-align:left;border-bottom:1px solid rgba(0,180,255,.15);white-space:nowrap}td[data-v-726dbf47]{padding:4px;border-bottom:1px solid rgba(0,180,255,.06)}input[data-v-726dbf47],select[data-v-726dbf47]{width:100%;background:#00b4ff0d;border:1px solid rgba(0,180,255,.15);border-radius:3px;color:#d0e0f0;padding:6px 8px;font-size:13px;font-family:inherit}input[data-v-726dbf47]:focus,select[data-v-726dbf47]:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 0 2px #00d4ff1a}input[type=number][data-v-726dbf47]{width:80px}input[type=date][data-v-726dbf47]{width:130px}.form-grid[data-v-726dbf47]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.form-grid.project-form-grid[data-v-726dbf47]{grid-template-columns:repeat(2,1fr)}.project-form-grid .form-group[data-v-726dbf47]:first-child{grid-column:1 / -1}.form-group[data-v-726dbf47]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-726dbf47]{font-size:12px;color:#6a9ec0}.form-group input[data-v-726dbf47]{width:100%}.photo-section[data-v-726dbf47]{min-height:400px}.photo-grid[data-v-726dbf47]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.photo-card[data-v-726dbf47]{background:#00b4ff0a;border:1px solid rgba(0,180,255,.1);border-radius:6px;overflow:hidden;transition:box-shadow .2s}.photo-card[data-v-726dbf47]:hover{box-shadow:0 4px 16px #00b4ff26}.photo-preview[data-v-726dbf47]{position:relative;width:100%;padding-top:75%;background:#0000004d;overflow:hidden}.photo-preview img[data-v-726dbf47]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.photo-delete[data-v-726dbf47]{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#ff4757e6;border:none;color:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.photo-delete[data-v-726dbf47]:hover{background:#ff4757;transform:scale(1.1)}.photo-info[data-v-726dbf47]{padding:12px;display:flex;flex-direction:column;gap:8px}.info-row[data-v-726dbf47]{display:flex;flex-direction:column;gap:4px}.info-row label[data-v-726dbf47]{font-size:10px;color:#6a9ec0;text-transform:uppercase}.info-row-full[data-v-726dbf47]{display:flex;flex-direction:column;gap:4px}.info-row-full label[data-v-726dbf47]{font-size:10px;color:#6a9ec0}.empty-state[data-v-726dbf47]{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6a9ec0}.empty-icon[data-v-726dbf47]{font-size:48px;margin-bottom:16px}.empty-text[data-v-726dbf47]{font-size:16px;font-weight:600;margin-bottom:8px}.empty-hint[data-v-726dbf47]{font-size:13px;opacity:.7}.toast[data-v-726dbf47]{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#00d4ff,#0f8);color:#050a1e;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;box-shadow:0 8px 24px #0006;z-index:2000}.toast-enter-active[data-v-726dbf47],.toast-leave-active[data-v-726dbf47]{transition:all .3s}.toast-enter-from[data-v-726dbf47],.toast-leave-to[data-v-726dbf47]{opacity:0;transform:translate(-50%) translateY(20px)}.btn-export[data-v-726dbf47]{background:#00b4ff26;color:#00d4ff;border:1px solid rgba(0,180,255,.3)}.btn-export[data-v-726dbf47]:hover{background:#00b4ff40}.btn-export[data-v-726dbf47]:disabled{opacity:.6;cursor:not-allowed}.export-modal[data-v-726dbf47]{width:400px;padding:24px}.export-modal h3[data-v-726dbf47]{margin-bottom:20px;color:var(--text-primary)}.export-form[data-v-726dbf47]{margin-bottom:20px}.export-form .form-row[data-v-726dbf47]{display:flex;align-items:center;margin-bottom:12px}.export-form label[data-v-726dbf47]{width:80px;color:var(--text-secondary)}.export-form select[data-v-726dbf47],.export-form input[data-v-726dbf47]{flex:1;padding:8px 12px;border:1px solid var(--border-panel);border-radius:4px;background:var(--input-bg);color:var(--text-primary)}.modal-actions[data-v-726dbf47]{display:flex;justify-content:flex-end;gap:10px}.btn-primary[data-v-726dbf47]{background:#00ff8826;color:#0f8;border:1px solid rgba(0,255,136,.3)}.btn-primary[data-v-726dbf47]:hover{background:#00ff8840}
