:root{--bg-app: #f8fafc;--bg-card: #ffffff;--bg-card-hover: #ffffff;--bg-card-inner: #f8fafc;--bg-card-subtle: #f1f5f9;--border-subtle: #e2e8f0;--border-hover: #cbd5e1;--border-focus: #0284c7;--border-glow-cyan: rgba(2, 132, 199, .25);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-dim: #94a3b8;--aqi-good: #059669;--aqi-good-bg: #ecfdf5;--aqi-good-border: #a7f3d0;--aqi-satisfactory: #65a30d;--aqi-satisfactory-bg: #f7fee7;--aqi-satisfactory-border: #d9f99d;--aqi-moderate: #d97706;--aqi-moderate-bg: #fffbeb;--aqi-moderate-border: #fde68a;--aqi-poor: #ea580c;--aqi-poor-bg: #fff7ed;--aqi-poor-border: #fed7aa;--aqi-very-poor: #e11d48;--aqi-very-poor-bg: #fff1f2;--aqi-very-poor-border: #fecdd3;--aqi-severe: #be123c;--aqi-severe-bg: #ffe4e6;--aqi-severe-border: #fda4af;--aqi-severe-plus: #881337;--aqi-severe-plus-bg: #fdf2f8;--aqi-severe-plus-border: #fbcfe8;--accent-cyan: #0284c7;--accent-blue: #2563eb;--accent-indigo: #4f46e5;--accent-emerald: #059669;--accent-purple: #7c3aed;--accent-rose: #e11d48;--accent-amber: #d97706;--font-heading: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .04), 0 4px 12px -2px rgba(15, 23, 42, .05);--shadow-card-hover: 0 10px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .03);--shadow-glow: 0 0 20px -3px rgba(2, 132, 199, .15);--shadow-modal: 0 25px 50px -12px rgba(15, 23, 42, .2)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-body);background-image:radial-gradient(at 0% 0%,rgba(2,132,199,.05) 0px,transparent 40%),radial-gradient(at 100% 0%,rgba(99,102,241,.04) 0px,transparent 40%),radial-gradient(at 50% 100%,rgba(244,63,94,.03) 0px,transparent 40%);background-attachment:fixed;min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700;color:var(--text-primary)}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-container{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;max-width:1280px;width:100%;margin:0 auto;padding:24px 20px 48px;display:flex;flex-direction:column;gap:24px}.glass-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.glass-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card-hover)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.card-title-group{display:flex;align-items:center;gap:10px}.card-title{font-size:1.12rem;font-weight:700;color:var(--text-primary)}.card-subtitle{font-size:.8rem;color:var(--text-muted);margin-top:2px}.app-header{position:sticky;top:0;z-index:50;background:#fffffff0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);box-shadow:0 1px 4px #00000008;padding:14px 24px}.header-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand-group{display:flex;align-items:center;gap:12px}.brand-icon-box{width:44px;height:44px;border-radius:var(--radius-md);background:linear-gradient(135deg,#0284c7,#2563eb,#4f46e5);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 14px #0284c740;position:relative}.pulse-dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:var(--radius-full);background:#10b981;box-shadow:0 0 0 2px #fff}.pulse-dot:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:var(--radius-full);background:#10b981;opacity:.5;animation:pulse-ring 2s cubic-bezier(.24,0,.38,1) infinite}@keyframes pulse-ring{0%{transform:scale(.9);opacity:.8}50%{transform:scale(1.8);opacity:0}to{transform:scale(1.8);opacity:0}}.brand-title-box h1{font-size:1.35rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:8px}.brand-badge{font-family:var(--font-mono);font-size:.65rem;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:var(--radius-full);background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.brand-tagline{font-size:.75rem;color:var(--text-muted)}.school-selector-wrap{display:flex;align-items:center;gap:8px;flex:1;max-width:360px}.select-container{position:relative;width:100%}.select-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--accent-cyan);pointer-events:none}.custom-select{width:100%;padding:9px 36px 9px 38px;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:.85rem;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .2s;outline:none;box-shadow:0 1px 2px #00000008}.custom-select:hover{border-color:var(--border-hover)}.custom-select:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px #0284c726}.select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.7rem;pointer-events:none}.btn-icon-refresh{padding:9px 14px;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;box-shadow:0 1px 2px #00000008}.btn-icon-refresh:hover{background:#f8fafc;color:var(--text-primary);border-color:var(--border-hover)}.spin-anim{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-actions{display:flex;align-items:center;gap:10px}.live-feed-pill{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:.72rem;font-weight:700;box-shadow:0 1px 2px #00000008}.live-dot{width:7px;height:7px;border-radius:var(--radius-full)}.nav-pill-group{display:flex;background:#f1f5f9;padding:3px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);gap:3px}.nav-pill-btn{padding:7px 14px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.nav-pill-btn:hover{color:var(--text-primary)}.nav-pill-btn.active{background:#fff;color:var(--accent-blue);box-shadow:0 2px 6px #0000000f;font-weight:700}.btn-broadcast-cta{padding:9px 18px;border-radius:var(--radius-md);border:none;background:linear-gradient(135deg,#059669,#0d9488);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:7px;box-shadow:0 3px 12px #05966940;transition:all .2s}.btn-broadcast-cta:hover{background:linear-gradient(135deg,#10b981,#14b8a6);transform:translateY(-1px);box-shadow:0 6px 16px #05966959}.aqi-overview-grid{display:grid;grid-template-columns:5fr 7fr;gap:20px}@media(max-width:960px){.aqi-overview-grid{grid-template-columns:1fr}}.gauge-card{display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:#fff}.gauge-glow-bg{position:absolute;top:-80px;left:-80px;width:280px;height:280px;border-radius:var(--radius-full);filter:blur(80px);opacity:.12;pointer-events:none;transition:all .6s ease}.gauge-meta-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.gauge-meta-tag{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.gauge-sync-time{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);background:#f1f5f9;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.station-badge{font-size:.8rem;color:var(--text-muted);margin-bottom:12px}.station-badge strong{color:var(--text-primary)}.dial-container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;margin:10px 0}.dial-svg{width:270px;height:145px;overflow:visible}.dial-center-box{text-align:center;margin-top:-12px}.dial-aqi-number{font-family:var(--font-heading);font-size:3.5rem;font-weight:900;line-height:1;color:var(--text-primary);display:flex;align-items:baseline;justify-content:center;gap:6px}.dial-aqi-unit{font-family:var(--font-mono);font-size:.85rem;font-weight:700;color:var(--text-muted)}.dial-category-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-full);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border:1px solid;margin-top:8px}.gauge-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.dominant-tag{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.dominant-pill{font-family:var(--font-mono);font-weight:800;font-size:.72rem;color:var(--accent-cyan);background:#f0f9ff;border:1px solid #bae6fd;padding:2px 7px;border-radius:var(--radius-sm)}.telemetry-card{display:flex;flex-direction:column;justify-content:space-between;background:#fff}.pollutant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:640px){.pollutant-grid{grid-template-columns:repeat(2,1fr)}}.pollutant-box{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px;transition:all .2s;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1px 2px #00000005}.pollutant-box:hover{border-color:var(--border-hover);background:#f8fafc;transform:translateY(-1px);box-shadow:0 4px 10px #0000000a}.pollutant-box.danger{background:#fff1f2;border-color:#fecdd3}.pollutant-box-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pollutant-name{font-size:.82rem;font-weight:700;color:var(--text-secondary)}.pollutant-val-row{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}.pollutant-val{font-family:var(--font-heading);font-size:1.4rem;font-weight:800;color:var(--text-primary)}.pollutant-box.danger .pollutant-val{color:#be123c}.pollutant-unit{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.pollutant-limit-row{display:flex;align-items:center;justify-content:space-between;font-size:.68rem;color:var(--text-muted);margin-bottom:6px}.pollutant-pct{font-family:var(--font-mono);font-weight:700}.pollutant-pct.safe{color:var(--accent-emerald)}.pollutant-pct.danger{color:#e11d48}.mini-bar-track{width:100%;height:5px;background:#e2e8f0;border-radius:var(--radius-full);overflow:hidden}.mini-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .4s ease}.health-insight-banner{margin-top:16px;padding:12px 16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:10px;font-size:.8rem;color:#0369a1;line-height:1.5}.health-insight-banner strong{color:#0c4a6e}.grap-status-hero{border-radius:var(--radius-lg);padding:22px;border:1px solid;margin-bottom:24px;display:flex;flex-direction:column;gap:16px}.grap-status-hero.stage-0{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#a7f3d0}.grap-status-hero.stage-1{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fed7aa}.grap-status-hero.stage-2{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border-color:#fecdd3}.grap-status-hero.stage-3{background:linear-gradient(135deg,#ffe4e6,#fce7f3);border-color:#fda4af}.grap-status-hero.stage-4{background:linear-gradient(135deg,#fdf2f8,#fee2e2);border-color:#fbcfe8;box-shadow:0 4px 20px #be123c14}.grap-hero-top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.grap-stage-title-box{display:flex;align-items:flex-start;gap:16px}.grap-stage-icon-box{width:54px;height:54px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000a}.grap-badge-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.grap-badge{font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-full);background:#fff;border:1px solid rgba(0,0,0,.08);color:var(--text-primary);box-shadow:0 1px 2px #00000008}.grap-threshold{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.grap-stage-name{font-size:1.35rem;font-weight:800;color:var(--text-primary)}.grap-authority-text{font-size:.78rem;color:var(--text-secondary)}.grap-authority-text span{color:var(--accent-cyan);font-weight:700}.grap-school-mode-box{background:#fff;border:1px solid rgba(0,0,0,.08);padding:12px 16px;border-radius:var(--radius-md);min-width:250px;box-shadow:0 2px 8px #0000000a}.grap-mode-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.grap-mode-val{font-size:.94rem;font-weight:800;color:var(--text-primary);margin:4px 0;display:flex;align-items:center;gap:8px}.compliance-progress-box{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 18px;margin-bottom:18px}.progress-header-row{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-family:var(--font-mono);margin-bottom:8px}.progress-bar-track{width:100%;height:8px;background:#e2e8f0;border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,#0284c7,#2563eb);transition:width .4s ease}.progress-bar-fill.complete{background:linear-gradient(90deg,#10b981,#059669)}.category-filter-bar{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px}.filter-pill{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#fff;color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.filter-pill:hover{color:var(--text-primary);border-color:var(--border-hover);background:#f8fafc}.filter-pill.active{background:#f0f9ff;border-color:#bae6fd;color:#0284c7;font-weight:700}.checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}@media(max-width:768px){.checklist-grid{grid-template-columns:1fr}}.task-item-card{padding:14px 16px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--border-subtle);display:flex;align-items:flex-start;gap:12px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #00000005}.task-item-card:hover{background:#f8fafc;border-color:var(--border-hover);box-shadow:0 4px 10px #0000000a}.task-item-card.completed{background:#ecfdf5;border-color:#a7f3d0}.task-check-icon{margin-top:2px;flex-shrink:0}.task-content-box{flex:1}.task-meta-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.task-tag{font-family:var(--font-mono);font-size:.65rem;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:var(--radius-sm);background:#f1f5f9;color:var(--text-muted)}.task-mandatory-badge{font-family:var(--font-mono);font-size:.62rem;font-weight:700;text-transform:uppercase;color:#be123c;background:#ffe4e6;border:1px solid #fecdd3;padding:1px 5px;border-radius:var(--radius-sm)}.task-text{font-size:.82rem;color:var(--text-secondary);line-height:1.45}.task-item-card.completed .task-text{text-decoration:line-through;color:var(--text-muted)}.directives-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:768px){.directives-two-col{grid-template-columns:1fr}}.directive-card{padding:14px 16px;border-radius:var(--radius-md);background:#f8fafc;border:1px solid var(--border-subtle);display:flex;align-items:flex-start;gap:12px;font-size:.78rem}.directive-card strong{color:var(--text-primary)}.hourly-stats-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hourly-stat-pill{padding:6px 12px;border-radius:var(--radius-sm);background:#f8fafc;border:1px solid var(--border-subtle);font-size:.75rem;color:var(--text-muted)}.hourly-stat-pill strong{color:var(--text-primary);font-family:var(--font-mono)}.forecast-legend{display:flex;align-items:center;gap:16px;font-size:.75rem;padding:10px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-bottom:16px;flex-wrap:wrap}.legend-tag{display:flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:2px}.bar-chart-track{display:grid;grid-template-columns:repeat(24,1fr);gap:5px;height:180px;align-items:flex-end;border-bottom:1px solid var(--border-subtle);padding-bottom:4px;position:relative}@media(max-width:768px){.bar-chart-track{grid-template-columns:repeat(12,1fr);gap:3px}}.bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;cursor:pointer;position:relative}.bar-tag-top{position:absolute;top:-24px;font-size:.58rem;font-weight:700;padding:1px 4px;border-radius:2px;white-space:nowrap}.bar-tag-top.morning{background:#fef3c7;border:1px solid #fde68a;color:#b45309}.bar-tag-top.afternoon{background:#dbeafe;border:1px solid #bfdbfe;color:#1d4ed8}.vertical-bar{width:100%;border-radius:4px 4px 0 0;transition:all .25s ease;min-height:8px}.bar-col:hover .vertical-bar{transform:scaleY(1.05);filter:brightness(.95)}.bar-time-label{font-family:var(--font-mono);font-size:.62rem;color:var(--text-muted);margin-top:6px;text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis}.hover-detail-card{margin-top:16px;padding:14px 18px;background:#fff;border:1px solid var(--accent-cyan);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 4px 14px #0284c71f;flex-wrap:wrap}.presets-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px;margin-bottom:18px}@media(max-width:768px){.presets-grid{grid-template-columns:repeat(2,1fr)}}.preset-btn{padding:12px;border-radius:var(--radius-md);border:1px solid;text-align:left;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #00000005}.preset-btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0000000f}.preset-stage-tag{font-family:var(--font-mono);font-size:.65rem;font-weight:700;text-transform:uppercase}.preset-label{font-size:.82rem;font-weight:700;margin:3px 0}.preset-aqi{font-family:var(--font-mono);font-size:.72rem;opacity:.9}.slider-action-row{display:flex;align-items:center;gap:16px;padding-top:14px;border-top:1px solid var(--border-subtle);flex-wrap:wrap}.slider-group{display:flex;align-items:center;gap:12px;flex:1}.custom-slider{flex:1;accent-color:var(--accent-cyan);height:6px;background:#e2e8f0;border-radius:var(--radius-full);cursor:pointer}.vulnerability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}@media(max-width:768px){.vulnerability-grid{grid-template-columns:1fr}}.vuln-card{padding:18px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px #00000005;transition:all .2s}.vuln-card:hover{border-color:var(--border-hover);box-shadow:0 4px 12px #0000000d}.vuln-card-top{display:flex;align-items:center;justify-content:space-between}.vuln-group-title{display:flex;align-items:center;gap:10px}.vuln-icon-box{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.vuln-title{font-size:.88rem;font-weight:700;color:var(--text-primary)}.vuln-risk-badge{font-family:var(--font-mono);font-size:.65rem;font-weight:800;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-full);border:1px solid}.vuln-text{font-size:.8rem;color:var(--text-secondary);line-height:1.45}.vuln-action-box{padding:10px 12px;border-radius:var(--radius-sm);background:#f0f9ff;border:1px solid #e0f2fe;font-size:.78rem;color:#0369a1}.arch-nodes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}@media(max-width:1024px){.arch-nodes-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.arch-nodes-grid{grid-template-columns:1fr}}.arch-node-card{padding:16px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--border-subtle);cursor:pointer;transition:all .25s;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1px 3px #00000005}.arch-node-card:hover{background:#f8fafc;border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 6px 14px #0000000d}.arch-node-card.active{background:#f0f9ff;border-color:var(--accent-cyan);box-shadow:0 0 16px #0284c72e;transform:translateY(-2px)}.arch-inspect-grid{display:grid;grid-template-columns:5fr 7fr;gap:18px;margin-top:18px}@media(max-width:960px){.arch-inspect-grid{grid-template-columns:1fr}}.code-pre-box{background:#0f172a;border:1px solid #1e293b;border-radius:var(--radius-md);padding:14px 16px;font-family:var(--font-mono);font-size:.78rem;color:#38bdf8;overflow-x:auto;max-height:260px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a73;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:820px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);overflow:hidden;animation:scaleUp .2s ease}@keyframes scaleUp{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{padding:18px 24px;background:#fff;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;background:#f8fafc;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.whatsapp-chat-bubble{background:#eefbee;color:#111b21;border-radius:var(--radius-lg);border-top-left-radius:2px;padding:18px 20px;box-shadow:0 4px 12px #0000000f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.82rem;line-height:1.5;border:1px solid #bbf7d0}.whatsapp-meta-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid #bbf7d0;font-size:.72rem;color:#15803d}.app-footer{border-top:1px solid var(--border-subtle);background:#fff;padding:20px 24px;font-size:.78rem;color:var(--text-muted)}.footer-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}@media print{body{background:#fff!important;color:#000!important}.app-header,.app-footer,.main-content,.no-print,.modal-overlay:not(:has(.official-circular-dialog)){display:none!important}.modal-overlay{position:static!important;background:none!important;padding:0!important}.modal-dialog{border:none!important;box-shadow:none!important;max-width:100%!important;width:100%!important;height:auto!important;max-height:none!important;background:#fff!important}.modal-body{padding:0!important;background:#fff!important}.printable-circular-sheet{box-shadow:none!important;border:1px solid #000000!important;padding:30px!important;width:100%!important}}
