html{font-size:16px}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}:root{--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-warning: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--gradient-ocean: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #6366f1 100%);--gradient-sunset: linear-gradient(135deg, #ff6b6b 0%, #feca57 50%, #48dbfb 100%);--gradient-mesh: radial-gradient(at 40% 20%, hsla(250, 100%, 75%, .3) 0px, transparent 50%), radial-gradient(at 80% 0%, hsla(220, 100%, 75%, .3) 0px, transparent 50%), radial-gradient(at 0% 50%, hsla(260, 100%, 75%, .3) 0px, transparent 50%), radial-gradient(at 80% 50%, hsla(240, 100%, 75%, .3) 0px, transparent 50%), radial-gradient(at 0% 100%, hsla(280, 100%, 75%, .3) 0px, transparent 50%), radial-gradient(at 80% 100%, hsla(200, 100%, 75%, .3) 0px, transparent 50%);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .18);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .15);--shadow-primary: 0 10px 40px -10px rgba(99, 102, 241, .3);--shadow-success: 0 10px 40px -10px rgba(16, 185, 129, .3);--shadow-warning: 0 10px 40px -10px rgba(245, 158, 11, .3);--shadow-danger: 0 10px 40px -10px rgba(239, 68, 68, .3);--bounce: cubic-bezier(.68, -.55, .265, 1.55);--smooth: cubic-bezier(.4, 0, .2, 1)}.modern-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:linear-gradient(180deg,#fafbfc,#f3f4f6);overflow:hidden}.modern-background:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:var(--gradient-mesh);animation:meshMove 30s ease infinite}@keyframes meshMove{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(5%,-5%) rotate(90deg)}50%{transform:translate(-3%,3%) rotate(180deg)}75%{transform:translate(3%,-3%) rotate(270deg)}}.background-particles{position:absolute;width:100%;height:100%;overflow:hidden}.particle{position:absolute;background:#6366f11a;border-radius:50%;animation:float-particle 20s ease-in-out infinite}@keyframes float-particle{0%,to{transform:translateY(0) translate(0);opacity:0}10%{opacity:.5}90%{opacity:.5}}.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:all var(--transition)}.glass-card:hover{transform:translateY(-4px);box-shadow:0 12px 48px #1f268740;border-color:#6366f14d}.dashboard-header-modern{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--glass-border);padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 4px 24px #0000000f}.dashboard-header-modern .header-left h1{font-size:1.75rem;font-weight:800;background:var(--gradient-ocean);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.terminal-card-modern{position:relative;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:2rem;cursor:pointer;transition:all .3s var(--bounce);overflow:hidden}.terminal-card-modern:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-ocean);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--smooth)}.terminal-card-modern:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #6366f140;border-color:#6366f166}.terminal-card-modern:hover:before{transform:scaleX(1)}.terminal-card-modern .terminal-code{display:inline-block;padding:.5rem 1.25rem;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-full);font-weight:700;font-size:1.125rem;letter-spacing:.05em;box-shadow:var(--shadow-primary);margin-bottom:1rem}.btn-modern{position:relative;display:inline-flex;align-items:center;gap:.625rem;padding:.875rem 1.75rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-full);font-size:.9375rem;font-weight:600;cursor:pointer;overflow:hidden;transition:all .3s var(--bounce);box-shadow:var(--shadow-primary)}.btn-modern:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-modern:hover:before{width:300px;height:300px}.btn-modern:hover{transform:translateY(-2px);box-shadow:0 12px 48px #6366f166}.btn-modern:active{transform:translateY(0)}.btn-modern.success{background:var(--gradient-success);box-shadow:var(--shadow-success)}.btn-modern.warning{background:var(--gradient-warning);box-shadow:var(--shadow-warning)}.stat-card-modern{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.75rem;display:flex;flex-direction:column;gap:.75rem;transition:all .3s var(--smooth);position:relative;overflow:hidden}.stat-card-modern:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--smooth)}.stat-card-modern:hover:after{transform:scaleX(1)}.stat-card-modern:hover{transform:translateY(-4px);box-shadow:0 12px 40px #6366f133}.stat-card-modern .stat-value{font-size:2.5rem;font-weight:800;background:var(--gradient-ocean);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.stat-card-modern .stat-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.dashboard-tabs-modern{display:flex;gap:.5rem;padding:.5rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);border:1px solid var(--glass-border);margin-bottom:2rem}.dashboard-tab-modern{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:transparent;border:none;border-radius:var(--radius-lg);font-size:.9375rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s var(--smooth);position:relative}.dashboard-tab-modern.active{background:#fff;color:var(--primary);box-shadow:0 4px 16px #6366f126}.dashboard-tab-modern:hover:not(.active){background:#ffffff80;color:var(--primary)}.fab{position:fixed;bottom:2rem;right:2rem;width:64px;height:64px;background:var(--gradient-primary);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 32px #6366f166;transition:all .3s var(--bounce);z-index:999}.fab:hover{transform:scale(1.1) rotate(90deg);box-shadow:0 12px 48px #6366f199}.fab svg{width:28px;height:28px}.search-bar-modern{position:relative;width:100%;max-width:400px}.search-bar-modern input{width:100%;padding:.875rem 1.125rem .875rem 3rem;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid transparent;border-radius:var(--radius-full);font-size:.9375rem;transition:all .3s var(--smooth);box-shadow:0 4px 16px #0000000f}.search-bar-modern input:focus{outline:none;border-color:var(--primary);box-shadow:0 8px 24px #6366f133;background:#fff}.search-bar-modern .search-icon{position:absolute;left:1.125rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.pulse{animation:pulse 2s var(--smooth) infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,#fff0,#fff6,#fff0);background-size:1000px 100%;animation:shimmer 2s infinite}.badge-modern{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;letter-spacing:.025em;box-shadow:0 4px 12px #6366f140}.hover-glow{position:relative;transition:all .3s var(--smooth)}.hover-glow:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,rgba(99,102,241,.4) 0%,transparent 70%);transform:translate(-50%,-50%) scale(0);opacity:0;transition:all .5s var(--smooth);border-radius:inherit;z-index:-1}.hover-glow:hover:after{transform:translate(-50%,-50%) scale(1.5);opacity:1}@media(max-width:768px){.dashboard-header-modern{padding:1rem}.dashboard-header-modern .header-left h1{font-size:1.5rem}.terminal-card-modern{padding:1.5rem}.fab{bottom:1.5rem;right:1.5rem;width:56px;height:56px}}.dashboard-stats{--text: var(--text-primary, #0f172a);--text-muted: var(--text-secondary, #475569);--surface: rgba(255, 255, 255, .8);--bg: var(--bg-light, #f8fafc);--border: rgba(99, 102, 241, .1);--primary: #6366f1;padding:0}.dashboard-stats.loading,.dashboard-stats.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem;color:var(--text-muted)}.dashboard-stats.error button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600;box-shadow:0 4px 12px #6366f14d;transition:all .2s ease}.dashboard-stats.error button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.loading-spinner{width:44px;height:44px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.stats-section{margin-bottom:2.5rem}.stats-section-title{display:flex;align-items:center;gap:.625rem;font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid rgba(99,102,241,.15)}.stats-section-title svg{color:#6366f1;width:22px;height:22px}.stats-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000000a}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #6366f11f;border-color:#6366f133}.stat-card-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;font-size:1.5rem;flex-shrink:0}.stat-card-default .stat-card-icon{background:linear-gradient(135deg,#6366f11a,#8b5cf614);color:#6366f1}.stat-card-info .stat-card-icon{background:linear-gradient(135deg,#3b82f626,#6366f11a);color:#3b82f6}.stat-card-success .stat-card-icon{background:linear-gradient(135deg,#10b98126,#0596691a);color:#10b981}.stat-card-warning .stat-card-icon{background:linear-gradient(135deg,#f59e0b26,#d977061a);color:#f59e0b}.stat-card-danger .stat-card-icon{background:linear-gradient(135deg,#ef444426,#dc26261a);color:#ef4444}.stat-card-content{display:flex;flex-direction:column;min-width:0}.stat-card-value{font-size:2rem;font-weight:800;color:var(--text);line-height:1;letter-spacing:-.02em}.stat-card-title{font-size:.875rem;color:var(--text-muted);margin-top:.375rem;font-weight:500}.stat-card-subtitle{font-size:.75rem;color:var(--text-muted);opacity:.7}.status-bar-container{background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.75rem;border-radius:20px;border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 16px #0000000a}.status-bar{display:flex;height:28px;border-radius:14px;overflow:hidden;background:#6366f10d;box-shadow:inset 0 2px 4px #0000000a}.status-bar-segment{height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.status-bar-segment.status-ok{background:linear-gradient(135deg,#10b981,#059669)}.status-bar-segment.status-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.status-bar-segment.status-critical{background:linear-gradient(135deg,#ef4444,#dc2626)}.status-bar-segment.status-not-inspected{background:linear-gradient(135deg,#6b7280,#4b5563)}.status-bar-legend{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.25rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted);font-weight:500}.legend-dot{width:14px;height:14px;border-radius:6px;box-shadow:0 2px 4px #0000001a}.legend-dot.status-ok{background:linear-gradient(135deg,#10b981,#059669)}.legend-dot.status-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.legend-dot.status-critical{background:linear-gradient(135deg,#ef4444,#dc2626)}.legend-dot.status-not-inspected{background:linear-gradient(135deg,#6b7280,#4b5563)}.inspection-status-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}@media(max-width:768px){.inspection-status-cards{grid-template-columns:repeat(2,1fr)}}.inspection-status-card{display:flex;flex-direction:column;align-items:center;padding:1.75rem;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;border:1px solid rgba(255,255,255,.5);text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000000a}.inspection-status-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.inspection-status-card .status-count{font-size:3rem;font-weight:800;line-height:1;letter-spacing:-.02em}.inspection-status-card .status-label{font-size:.9rem;color:var(--text-muted);margin-top:.625rem;font-weight:500}.inspection-status-card.approved .status-count{background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.inspection-status-card.conditional .status-count{background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.inspection-status-card.rejected .status-count{background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.inspection-status-card.pending .status-count{background:linear-gradient(135deg,#6b7280,#4b5563);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.terminal-stats-table{background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;border:1px solid rgba(255,255,255,.5);overflow:hidden;box-shadow:0 4px 16px #0000000a}.terminal-stats-table table{width:100%;border-collapse:collapse}.terminal-stats-table th,.terminal-stats-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid rgba(99,102,241,.08)}.terminal-stats-table th{background:#6366f10a;font-weight:700;font-size:.8rem;color:#6366f1;text-transform:uppercase;letter-spacing:.05em}.terminal-stats-table tbody tr{transition:background .2s ease}.terminal-stats-table tbody tr:hover{background:#6366f10a}.terminal-stats-table tbody tr:last-child td{border-bottom:none}.terminal-stats-table .terminal-name{display:block;font-size:.8rem;color:var(--text-muted)}.terminal-stats-table .status-cell{font-weight:700;text-align:center}.terminal-stats-table .status-cell.ok{color:#10b981}.terminal-stats-table .status-cell.warning{color:#f59e0b}.terminal-stats-table .status-cell.critical{color:#ef4444}.terminal-stats-table .status-cell.not-inspected{color:#6b7280}.mini-status-bar{display:flex;height:10px;width:120px;border-radius:5px;overflow:hidden;background:#6366f10d;box-shadow:inset 0 1px 2px #0000000a}.mini-segment{height:100%}.mini-segment.ok{background:linear-gradient(135deg,#10b981,#059669)}.mini-segment.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.mini-segment.critical{background:linear-gradient(135deg,#ef4444,#dc2626)}.mini-segment.not-inspected{background:linear-gradient(135deg,#6b7280,#4b5563)}.recent-inspections-list{display:flex;flex-direction:column;gap:.75rem}.recent-inspection-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:16px;transition:all .2s ease;box-shadow:0 4px 16px #0000000a}.recent-inspection-item:hover{background:#fffffff2;border-color:#6366f133;box-shadow:0 8px 24px #6366f11a}.inspection-info{display:flex;align-items:center;gap:.875rem}.inspection-info .kks-number{font-weight:700;color:var(--text);font-size:1rem}.inspection-info .terminal-badge{padding:.3rem .625rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:8px;font-size:.75rem;font-weight:700;box-shadow:0 2px 6px #6366f14d}.inspection-details{display:flex;align-items:center;gap:1.25rem;color:var(--text-muted);font-size:.9rem}.inspection-status{padding:.4rem .875rem;border-radius:24px;font-size:.8rem;font-weight:700}.inspection-status.status-approved{background:linear-gradient(135deg,#10b98126,#0596691a);color:#059669}.inspection-status.status-conditional{background:linear-gradient(135deg,#f59e0b26,#d977061a);color:#d97706}.inspection-status.status-rejected{background:linear-gradient(135deg,#ef444426,#dc26261a);color:#dc2626}.inspection-status.status-pending{background:linear-gradient(135deg,#6b728026,#4b55631a);color:#4b5563}.isolation-plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.isolation-plan-card{background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:20px;padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000000a}.isolation-plan-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #6366f11f;border-color:#6366f133}.plan-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.plan-card-header .plan-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:8px;box-shadow:0 2px 6px #00000026}.plan-card-header .plan-status-badge svg{width:12px;height:12px}.plan-card-header .terminal-badge{padding:.3rem .625rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:8px;font-size:.75rem;font-weight:700;box-shadow:0 2px 6px #6366f14d}.isolation-plan-card .plan-name{font-size:1.125rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.isolation-plan-card .plan-description{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plan-card-footer{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(99,102,241,.1)}.plan-meta{display:flex;flex-wrap:wrap;gap:.5rem}.plan-meta .equipment-tag,.plan-meta .work-order{padding:.25rem .5rem;background:#6366f114;color:#6366f1;font-size:.75rem;font-weight:600;border-radius:6px}.plan-progress{display:flex;flex-direction:column;gap:.375rem}.plan-progress .progress-text{font-size:.8125rem;color:var(--text-muted);font-weight:500}.plan-progress .progress-bar{height:8px;background:#6366f11a;border-radius:4px;overflow:hidden}.plan-progress .progress-fill{height:100%;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1)}@media(max-width:640px){.stats-cards-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:1rem 1.25rem}.stat-card-icon{width:44px;height:44px;font-size:1.25rem}.stat-card-value{font-size:1.75rem}.recent-inspection-item{flex-direction:column;align-items:flex-start;gap:.75rem}.inspection-details{width:100%;justify-content:space-between}.terminal-stats-table{overflow-x:auto}}.search-bar-container{position:relative;width:100%;max-width:480px}.search-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid rgba(99,102,241,.1);border-radius:16px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #6366f114}.search-bar:focus-within{border-color:#6366f166;box-shadow:0 4px 20px #6366f126,0 0 0 4px #6366f114;background:#fff}.search-icon{color:#6366f1;flex-shrink:0;width:20px;height:20px}.search-input{flex:1;border:none;outline:none;font-size:.95rem;background:transparent;color:var(--text-primary, #0f172a);font-weight:500}.search-input::placeholder{color:var(--text-muted, #94a3b8);font-weight:400}.search-spinner{width:18px;height:18px;border:2px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}.search-clear{display:flex;align-items:center;justify-content:center;padding:.375rem;background:#6366f11a;border:none;color:#6366f1;cursor:pointer;border-radius:8px;transition:all .15s}.search-clear:hover{background:#6366f133;transform:scale(1.05)}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(99,102,241,.15);border-radius:16px;box-shadow:0 20px 40px #0000001f,0 8px 16px #6366f114;max-height:420px;overflow-y:auto;z-index:1000;animation:dropdownSlide .2s ease}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-result{display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;cursor:pointer;transition:all .15s ease;border-left:4px solid transparent;position:relative}.search-result:first-child{border-radius:16px 16px 0 0}.search-result:last-child{border-radius:0 0 16px 16px}.search-result:hover,.search-result.selected{background:linear-gradient(90deg,#6366f114,#6366f105)}.search-result.status-ok{border-left-color:#10b981}.search-result.status-warning{border-left-color:#f59e0b}.search-result.status-critical{border-left-color:#ef4444}.search-result.status-not_inspected{border-left-color:#6b7280}.result-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#6366f11f,#8b5cf614);color:#6366f1;flex-shrink:0;font-size:1.1rem}.result-content{flex:1;min-width:0}.result-title{display:flex;align-items:center;gap:.625rem;font-weight:600;color:var(--text-primary, #0f172a);font-size:.95rem}.result-terminal-badge{padding:.25rem .5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:6px;font-size:.7rem;font-weight:700;box-shadow:0 2px 6px #6366f14d}.result-subtitle{font-size:.825rem;color:var(--text-muted, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.25rem}.result-type{font-size:.7rem;color:#6366f1;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-weight:600;padding:.375rem .625rem;background:#6366f114;border-radius:8px}.search-no-results{padding:2rem;text-align:center;color:var(--text-muted, #94a3b8);font-size:.95rem}@media(max-width:640px){.search-bar-container{max-width:100%}.search-dropdown{max-height:300px}.result-type{display:none}}.inspection-type-selector{padding:2rem;max-width:900px;margin:0 auto}.type-selector-header{text-align:center;margin-bottom:2rem}.type-selector-header h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.type-selector-header p{color:var(--text-muted);font-size:1rem}.type-selector-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:768px){.type-selector-cards{grid-template-columns:1fr}}.type-selector-card.isolation-card{grid-column:1 / -1;flex-direction:row;padding:1.5rem 2rem;background:linear-gradient(135deg,#6366f114,#8b5cf60d);border-color:#6366f133;text-align:left}.type-selector-card.isolation-card:hover{background:linear-gradient(135deg,#6366f126,#8b5cf61a);border-color:#6366f1}.type-selector-card.isolation-card .type-selector-icon{width:64px;height:64px;font-size:2rem;margin-bottom:0;margin-right:1.5rem;flex-shrink:0}.type-selector-card.isolation-card .type-selector-content{flex:1}.type-selector-card.isolation-card .type-selector-content h3{color:#6366f1}.type-selector-arrow{font-size:1.5rem;color:#6366f1;opacity:.6;transition:all .2s ease}.type-selector-card.isolation-card:hover .type-selector-arrow{opacity:1;transform:translate(4px)}.type-selector-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid rgba(255,255,255,.5);border-radius:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000000a;text-align:center}.type-selector-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #6366f126;border-color:var(--type-color)}.type-selector-card.active{border-color:var(--type-color);background:linear-gradient(135deg,#fffffff2,#ffffffd9);box-shadow:0 8px 24px color-mix(in srgb,var(--type-color) 25%,transparent)}.type-selector-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--type-color) 15%,white),color-mix(in srgb,var(--type-color) 5%,white));border-radius:20px;margin-bottom:1.25rem;color:var(--type-color);transition:all .3s ease}.type-selector-card:hover .type-selector-icon,.type-selector-card.active .type-selector-icon{transform:scale(1.1);background:linear-gradient(135deg,color-mix(in srgb,var(--type-color) 25%,white),color-mix(in srgb,var(--type-color) 10%,white))}.type-selector-content h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.type-selector-card.active .type-selector-content h3{color:var(--type-color)}.type-selector-content p{font-size:.875rem;color:var(--text-muted);line-height:1.4}.type-selector-check{position:absolute;top:1rem;right:1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--type-color);color:#fff;border-radius:50%;font-size:.875rem;font-weight:700;animation:checkPop .3s cubic-bezier(.4,0,.2,1)}@keyframes checkPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.inspection-type-badge{display:flex;align-items:center;gap:.5rem;padding:.375rem;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:12px;box-shadow:0 2px 8px #0000000a}.type-badge-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.type-badge-btn:hover{background:#6366f114;color:var(--type-color)}.type-badge-btn.active{background:var(--type-color);color:#fff;border-color:var(--type-color);box-shadow:0 2px 8px color-mix(in srgb,var(--type-color) 30%,transparent)}.type-badge-btn .badge-icon{font-size:1.125rem;line-height:1}.type-badge-btn .badge-label{white-space:nowrap}@media(max-width:600px){.type-badge-btn .badge-label{display:none}.type-badge-btn{padding:.5rem .75rem}}.terminal-stats{padding:0}.terminal-stats.dashboard{display:flex;flex-direction:column;gap:1.5rem}.terminal-stats.loading,.terminal-stats.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:var(--text-muted, #94a3b8);background:linear-gradient(135deg,#ffffffe6,#f9fafbe6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:3rem;border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 32px #0000000f}.terminal-stats.error button{padding:.875rem 2rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:600;font-size:.95rem;box-shadow:0 4px 16px #6366f159;transition:all .3s cubic-bezier(.4,0,.2,1)}.terminal-stats.error button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #6366f173}.terminal-stats .loading-spinner{width:52px;height:52px;border:4px solid rgba(99,102,241,.15);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:linear-gradient(135deg,#6366f114,#8b5cf60d);border-radius:20px;border:1px solid rgba(99,102,241,.12)}.dashboard-title{display:flex;align-items:center;gap:1rem}.dashboard-title .title-icon{width:44px;height:44px;padding:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:14px;box-shadow:0 4px 12px #6366f14d}.dashboard-title h2{margin:0;font-size:1.5rem;font-weight:800;color:var(--text-primary, #0f172a);letter-spacing:-.02em}.dashboard-title .subtitle{display:block;font-size:.875rem;color:var(--text-muted, #94a3b8);margin-top:.125rem}.dashboard-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#10b9811a,#0596690d);border:1px solid rgba(16,185,129,.2);border-radius:20px;color:#059669;font-size:.8rem;font-weight:600}.dashboard-badge svg{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hero-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.hero-kpi{position:relative;display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#fffffff2,#f9fafbf2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);border-radius:20px;box-shadow:0 4px 20px #0000000a;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.hero-kpi:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;border-radius:4px 0 0 4px}.hero-kpi.primary:before{background:linear-gradient(180deg,#6366f1,#8b5cf6)}.hero-kpi.success:before{background:linear-gradient(180deg,#10b981,#059669)}.hero-kpi.warning:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.hero-kpi.danger:before{background:linear-gradient(180deg,#ef4444,#dc2626)}.hero-kpi:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.kpi-icon-wrap{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;flex-shrink:0}.hero-kpi.primary .kpi-icon-wrap{background:linear-gradient(135deg,#6366f126,#8b5cf61a);color:#6366f1}.hero-kpi.success .kpi-icon-wrap{background:linear-gradient(135deg,#10b98126,#0596691a);color:#10b981}.hero-kpi.warning .kpi-icon-wrap{background:linear-gradient(135deg,#f59e0b26,#d977061a);color:#f59e0b}.hero-kpi.danger .kpi-icon-wrap{background:linear-gradient(135deg,#ef444426,#dc26261a);color:#ef4444}.kpi-icon-wrap svg{width:26px;height:26px}.kpi-content{display:flex;flex-direction:column;flex:1}.kpi-value{font-size:2rem;font-weight:800;color:var(--text-primary, #0f172a);line-height:1;letter-spacing:-.02em}.kpi-label{font-size:.875rem;font-weight:600;color:var(--text-secondary, #475569);margin-top:.25rem}.kpi-sublabel{font-size:.75rem;color:var(--text-muted, #94a3b8);margin-top:.125rem}.kpi-trend{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px}.kpi-trend.positive{background:linear-gradient(135deg,#10b98126,#0596691a);color:#10b981}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.dashboard-card{background:linear-gradient(135deg,#fffffff2,#f9fafbf2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);border-radius:24px;padding:1.5rem;box-shadow:0 4px 20px #0000000a}.dashboard-card.fullwidth{grid-column:1 / -1}.dashboard-card.alert-card{border:1px solid rgba(239,68,68,.2);background:linear-gradient(135deg,#fffffff2,#fef2f280)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid rgba(99,102,241,.08)}.card-header h3{display:flex;align-items:center;gap:.625rem;margin:0;font-size:1rem;font-weight:700;color:var(--text-primary, #0f172a)}.card-header h3 svg{color:#6366f1;width:20px;height:20px}.card-header.alert h3{color:#dc2626}.card-header.alert h3 svg{color:#dc2626}.card-badge{padding:.375rem .75rem;background:linear-gradient(135deg,#6366f11a,#8b5cf60d);border-radius:12px;font-size:.75rem;font-weight:600;color:#6366f1}.alert-count{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .5rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.8rem;font-weight:700;border-radius:14px;box-shadow:0 2px 8px #ef44444d}.compliance-content{display:flex;align-items:center;gap:2rem}.donut-chart{flex-shrink:0}.donut-svg{width:180px;height:180px}.donut-segment{transition:stroke-dasharray .8s cubic-bezier(.4,0,.2,1)}.donut-value{font-size:2.5rem;font-weight:800;fill:var(--text-primary, #0f172a)}.donut-label{font-size:.875rem;fill:var(--text-muted, #94a3b8)}.compliance-legend{display:flex;flex-direction:column;gap:.75rem;flex:1}.legend-row{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:#6366f108;border-radius:10px;transition:all .2s}.legend-row:hover{background:#6366f10f}.legend-color{width:14px;height:14px;border-radius:4px;flex-shrink:0}.legend-color.ok{background:linear-gradient(135deg,#10b981,#059669)}.legend-color.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.legend-color.critical{background:linear-gradient(135deg,#ef4444,#dc2626)}.legend-color.not-inspected{background:linear-gradient(135deg,#6b7280,#4b5563)}.legend-text{flex:1;font-size:.875rem;color:var(--text-secondary, #475569);font-weight:500}.legend-value{font-size:1rem;font-weight:700;color:var(--text-primary, #0f172a)}.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.schedule-stat{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#6366f108;border-radius:14px;transition:all .2s}.schedule-stat:hover{background:#6366f10f}.schedule-stat.alert{background:linear-gradient(135deg,#ef44441a,#dc26260d);border:1px solid rgba(239,68,68,.2)}.schedule-stat.highlight{background:linear-gradient(135deg,#10b9811a,#0596690d);border:1px solid rgba(16,185,129,.2)}.schedule-stat.muted{background:linear-gradient(135deg,#6b728014,#4b55630a)}.schedule-stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;flex-shrink:0}.schedule-stat-icon.overdue{background:linear-gradient(135deg,#ef444426,#dc26261a);color:#ef4444}.schedule-stat-icon.thismonth{background:linear-gradient(135deg,#10b98126,#0596691a);color:#10b981}.schedule-stat-icon.next30,.schedule-stat-icon.next90{background:linear-gradient(135deg,#6366f126,#8b5cf61a);color:#6366f1}.schedule-stat-icon.noschedule{background:linear-gradient(135deg,#6b728026,#4b55631a);color:#6b7280}.schedule-stat-content{display:flex;flex-direction:column}.schedule-stat-value{font-size:1.5rem;font-weight:800;color:var(--text-primary, #0f172a);line-height:1}.schedule-stat-label{font-size:.75rem;color:var(--text-muted, #94a3b8);margin-top:.25rem}.yearly-chart{display:flex;justify-content:space-between;align-items:flex-end;height:180px;gap:.75rem;padding:1rem 0}.year-column{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:80px;position:relative}.year-bar-wrapper{width:100%;height:140px;display:flex;align-items:flex-end;justify-content:center}.year-bar{width:100%;max-width:50px;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:8px 8px 0 0;min-height:12px;display:flex;align-items:flex-start;justify-content:center;transition:all .5s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #6366f133}.year-column.current .year-bar{background:linear-gradient(180deg,#06b6d4,#0891b2);box-shadow:0 4px 12px #06b6d44d}.year-column.next .year-bar{background:linear-gradient(180deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.year-bar-value{font-size:.875rem;font-weight:700;color:#fff;padding-top:.5rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}.year-label{font-size:.8rem;font-weight:600;color:var(--text-muted, #94a3b8)}.year-column.current .year-label{color:#0891b2;font-weight:700}.year-column.next .year-label{color:#059669;font-weight:700}.year-badge{position:absolute;bottom:-1.5rem;font-size:.65rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#06b6d4,#0891b2);padding:.2rem .5rem;border-radius:8px}.quick-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.quick-stat{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#fffffff2,#f9fafbf2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);border-radius:16px;box-shadow:0 2px 12px #00000008;transition:all .2s}.quick-stat:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000000f}.quick-stat-icon{width:40px;height:40px;padding:10px;background:linear-gradient(135deg,#6366f11a,#8b5cf60d);color:#6366f1;border-radius:12px}.quick-stat-content{display:flex;flex-direction:column}.quick-stat-value{font-size:1.5rem;font-weight:800;color:var(--text-primary, #0f172a);line-height:1}.quick-stat-label{font-size:.8rem;color:var(--text-muted, #94a3b8);margin-top:.25rem}.activity-chart{display:flex;gap:.375rem;align-items:flex-end;height:140px;padding:.5rem 0}.activity-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.activity-bar{flex:1;width:100%;max-width:36px;display:flex;align-items:flex-end;justify-content:center}.activity-bar-fill{width:100%;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:5px 5px 0 0;min-height:6px;display:flex;align-items:flex-start;justify-content:center;transition:height .5s cubic-bezier(.4,0,.2,1)}.activity-bar-wrapper.current .activity-bar-fill{background:linear-gradient(180deg,#06b6d4,#0891b2)}.activity-count{font-size:.7rem;font-weight:700;color:#fff;padding-top:.25rem}.activity-label{font-size:.65rem;color:var(--text-muted, #94a3b8);margin-top:.375rem;text-transform:capitalize}.inspection-list{display:flex;flex-direction:column;gap:.625rem}.inspection-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#6366f105;border:1px solid rgba(99,102,241,.06);border-radius:14px;cursor:pointer;transition:all .2s ease}.inspection-item:hover{background:#6366f10d;border-color:#6366f126;transform:translate(4px)}.inspection-item.overdue{border-left:4px solid #ef4444;background:#ef444408}.inspection-item.urgent{border-left:4px solid #f59e0b}.inspection-item.soon{border-left:4px solid #6366f1}.inspection-item.later{border-left:4px solid #10b981}.inspection-item-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;flex-shrink:0}.inspection-item.overdue .inspection-item-icon{background:linear-gradient(135deg,#ef444426,#dc26261a);color:#ef4444}.inspection-item.urgent .inspection-item-icon{background:linear-gradient(135deg,#f59e0b26,#d977061a);color:#f59e0b}.inspection-item.soon .inspection-item-icon{background:linear-gradient(135deg,#6366f126,#8b5cf61a);color:#6366f1}.inspection-item.later .inspection-item-icon{background:linear-gradient(135deg,#10b98126,#0596691a);color:#10b981}.inspection-item-content{flex:1;min-width:0}.inspection-kks{display:block;font-weight:700;color:var(--text-primary, #0f172a);font-size:.95rem}.inspection-location{display:block;font-size:.8rem;color:var(--text-muted, #94a3b8);margin-top:.125rem}.inspection-item-meta{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex-shrink:0}.days-count{font-size:1rem;font-weight:700}.inspection-item-meta.overdue .days-count{color:#ef4444}.inspection-item-meta.urgent .days-count{color:#f59e0b}.inspection-item-meta.soon .days-count{color:#6366f1}.inspection-item-meta.later .days-count{color:#10b981}.days-label{font-size:.7rem;color:var(--text-muted, #94a3b8)}.inspection-arrow{color:var(--text-muted, #94a3b8);opacity:0;transition:all .2s}.inspection-item:hover .inspection-arrow{opacity:1;transform:translate(4px)}.location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.location-card{padding:1.25rem;background:#6366f105;border:1px solid rgba(99,102,241,.06);border-radius:16px;transition:all .2s}.location-card:hover{background:#6366f10a;box-shadow:0 4px 12px #6366f114}.location-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.location-name{font-weight:700;color:var(--text-primary, #0f172a);font-size:.95rem}.location-compliance{font-size:.95rem;font-weight:700;color:#10b981}.location-stats{margin-bottom:.75rem}.location-count{font-size:.8rem;color:var(--text-muted, #94a3b8)}.location-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#6366f10d}.loc-segment{height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.loc-segment.ok{background:linear-gradient(135deg,#10b981,#059669)}.loc-segment.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.loc-segment.critical{background:linear-gradient(135deg,#ef4444,#dc2626)}.loc-segment.not-inspected{background:linear-gradient(135deg,#6b7280,#4b5563)}.recent-inspections-list{display:flex;flex-direction:column;gap:.5rem}.recent-inspection-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#6366f105;border:1px solid rgba(99,102,241,.06);border-radius:12px;cursor:pointer;transition:all .2s}.recent-inspection-item:hover{background:#6366f10d;transform:translate(4px)}.recent-inspection-info{display:flex;align-items:center;gap:1rem}.recent-kks{font-weight:700;color:var(--text-primary, #0f172a)}.recent-location{font-size:.875rem;color:var(--text-muted, #94a3b8)}.recent-inspection-meta{display:flex;align-items:center;gap:1rem}.recent-date{font-size:.875rem;color:var(--text-muted, #94a3b8)}.recent-status{padding:.375rem .875rem;border-radius:20px;font-size:.75rem;font-weight:700}.recent-status.approved{background:linear-gradient(135deg,#10b98126,#0596691a);color:#059669}.recent-status.conditional{background:linear-gradient(135deg,#f59e0b26,#d977061a);color:#d97706}.recent-status.rejected{background:linear-gradient(135deg,#ef444426,#dc26261a);color:#dc2626}.recent-status.pending{background:linear-gradient(135deg,#6b728026,#4b55631a);color:#4b5563}@media(max-width:1200px){.hero-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.quick-stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.hero-kpis{grid-template-columns:1fr}.compliance-content{flex-direction:column;gap:1.5rem}.donut-chart{display:flex;justify-content:center}.schedule-grid{grid-template-columns:repeat(2,1fr)}.quick-stats-row{grid-template-columns:1fr}.yearly-chart{height:140px;overflow-x:auto}.activity-chart{overflow-x:auto}.recent-inspection-item{flex-direction:column;align-items:flex-start;gap:.75rem}.recent-inspection-meta{width:100%;justify-content:space-between}.location-grid{grid-template-columns:1fr}}.terminal-overview{display:flex;flex-direction:column;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;margin-bottom:1.5rem}.terminal-overview-empty{display:flex;align-items:center;justify-content:center;min-height:200px;background:linear-gradient(135deg,var(--bg-gray) 0%,var(--bg-light) 100%);border:2px dashed var(--border-color);border-radius:var(--radius-lg);margin-bottom:1.5rem}.terminal-overview-empty .empty-content{text-align:center;padding:2rem}.terminal-overview-empty .empty-icon{font-size:3rem;color:var(--text-muted);margin-bottom:1rem}.terminal-overview-empty h3{margin:0 0 .5rem;color:var(--text-primary)}.terminal-overview-empty p{margin:0 0 1.5rem;color:var(--text-muted)}.overview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-gray);border-bottom:1px solid var(--border-color)}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:.5rem}.toolbar-label{font-weight:600;color:var(--text-primary)}.marker-count{font-size:.75rem;padding:.25rem .5rem;background:var(--primary-light);color:var(--primary);border-radius:9999px}.toolbar-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-size:.875rem}.toolbar-btn:hover{background:var(--bg-light);border-color:var(--primary);color:var(--primary)}.toolbar-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.toolbar-btn.danger:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.zoom-level{min-width:48px;text-align:center;font-size:.75rem;color:var(--text-muted)}.overview-container{position:relative;flex:1;overflow:hidden;background:#f5f5f5}.overview-content{position:relative;display:inline-block}.markers-overlay{position:absolute;top:0;left:0}.marker-label{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.375rem .625rem;background:#fffffff2;border-radius:var(--radius);box-shadow:0 2px 8px #00000026;transition:all .15s ease;white-space:nowrap}.marker-label.hovered{background:#fff;box-shadow:0 4px 16px #6366f140;transform:translate(-50%,-50%) scale(1.05)}.marker-label .label-name{font-size:.75rem;font-weight:600;color:var(--text-primary)}.marker-label .label-count{font-size:.625rem;color:var(--text-muted)}.drawing-hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background:#000000bf;color:#fff;border-radius:var(--radius);font-size:.75rem}.pdf-loading,.pdf-error{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted)}.pdf-error{color:#ef4444}.diagram-selector-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;margin-bottom:1rem}.diagram-selector-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-gray);border-radius:var(--radius);cursor:pointer;transition:all .15s ease}.diagram-selector-item:hover{background:var(--primary-light)}.diagram-selector-item .diagram-name{flex:1;font-weight:500;color:var(--text-primary)}.diagram-selector-item .diagram-annotations{font-size:.75rem;color:var(--text-muted)}.diagram-selector-item svg{color:var(--text-muted)}.diagram-selector-item:hover svg{color:var(--primary)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:280px;max-width:400px;pointer-events:auto;animation:toast-enter .3s ease-out;border-left:4px solid}.toast-exit{animation:toast-exit .3s ease-in forwards}@keyframes toast-enter{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-exit{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-success{border-left-color:#22c55e}.toast-success .toast-icon{color:#22c55e;background:#dcfce7}.toast-error{border-left-color:#ef4444}.toast-error .toast-icon{color:#ef4444;background:#fee2e2}.toast-warning{border-left-color:#f59e0b}.toast-warning .toast-icon{color:#f59e0b;background:#fef3c7}.toast-info{border-left-color:#3b82f6}.toast-info .toast-icon{color:#3b82f6;background:#dbeafe}.toast-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0}.toast-icon svg{width:16px;height:16px}.toast-message{flex:1;font-size:.9rem;color:#1f2937;line-height:1.4}.toast-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .2s;flex-shrink:0}.toast-close:hover{background:#f3f4f6;color:#4b5563}.toast-close svg{width:14px;height:14px}@media(max-width:480px){.toast-container{left:1rem;right:1rem}.toast{min-width:auto;max-width:none}}.simple-inspection-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100000;padding:2rem;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.simple-inspection-form{background:#fff;border-radius:16px;box-shadow:0 25px 80px #0006;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slideIn .25s ease-out}.simple-inspection-form.modern{max-width:800px}.simple-inspection-form .form-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.simple-inspection-form .header-left{display:flex;align-items:center;gap:.75rem;flex:1}.simple-inspection-form .form-header h2{font-size:1.1rem;font-weight:600;margin:0;color:#fff}.simple-inspection-form .kks-badge{background:#fff3;color:#fff;padding:.3rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.simple-inspection-form .btn-close{background:#ffffff26;border:none;padding:.5rem;cursor:pointer;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.simple-inspection-form .btn-close:hover{background:#ffffff40}.simple-inspection-form .form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin:1rem 1.25rem 0;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.85rem}.simple-inspection-form .form-error button{background:none;border:none;padding:.25rem;cursor:pointer;color:inherit;margin-left:auto}.simple-inspection-form .form-content{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;background:#f8fafc;overflow-y:auto;flex:1}.simple-inspection-form .form-section-compact{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.simple-inspection-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.simple-inspection-form .form-group{display:flex;flex-direction:column;gap:.4rem}.simple-inspection-form .form-group label{font-size:.8rem;font-weight:600;color:#475569}.simple-inspection-form .form-group input,.simple-inspection-form .form-group select{padding:.65rem .85rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;background:#fff;color:#1e293b;transition:all .2s}.simple-inspection-form .form-group input:focus,.simple-inspection-form .form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.simple-inspection-form .status-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.simple-inspection-form .status-btn{flex:1;min-width:80px;padding:.6rem .75rem;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.simple-inspection-form .status-btn:hover{border-color:var(--status-color, #667eea);color:var(--status-color, #667eea)}.simple-inspection-form .status-btn.active{color:var(--status-color, #667eea);font-weight:600}.simple-inspection-form .files-section{display:flex;flex-direction:column;gap:.75rem}.simple-inspection-form .files-header{display:flex;align-items:center;justify-content:space-between}.simple-inspection-form .files-tabs{display:flex;gap:.25rem;background:#fff;padding:.25rem;border-radius:10px;border:1px solid #e2e8f0}.simple-inspection-form .files-tabs .tab{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border:none;background:none;color:#64748b;font-size:.8rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.simple-inspection-form .files-tabs .tab:hover{background:#f1f5f9;color:#475569}.simple-inspection-form .files-tabs .tab.active{background:#667eea;color:#fff}.simple-inspection-form .files-tabs .tab svg{font-size:.9rem}.simple-inspection-form .drop-zone{border:2px dashed #cbd5e1;border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;background:#fff;transition:all .2s}.simple-inspection-form .drop-zone:hover{border-color:#667eea;background:#667eea08}.simple-inspection-form .drop-zone.drag-over{border-color:#667eea;background:#667eea14;border-style:solid}.simple-inspection-form .drop-zone.uploading{border-color:#667eea;background:#667eea0d}.simple-inspection-form .drop-zone-icons{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.75rem}.simple-inspection-form .drop-zone-icons .main-icon{font-size:2rem;color:#667eea}.simple-inspection-form .file-type-icons{display:flex;gap:.75rem;color:#94a3b8}.simple-inspection-form .file-type-icons svg{font-size:1.1rem}.simple-inspection-form .drop-zone-text{margin:0 0 .25rem;font-size:.9rem;color:#475569}.simple-inspection-form .drop-zone-hint{margin:0;font-size:.8rem;color:#94a3b8}.simple-inspection-form .uploading-status{display:flex;align-items:center;justify-content:center;gap:.75rem;color:#667eea;font-weight:500}.simple-inspection-form .upload-spinner{width:20px;height:20px;border:2px solid rgba(102,126,234,.3);border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}.simple-inspection-form .files-list{display:flex;flex-direction:column;gap:.5rem}.simple-inspection-form .file-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-radius:10px;border:1px solid #e2e8f0}.simple-inspection-form .file-item .file-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fef2f2;color:#ef4444;border-radius:8px;flex-shrink:0}.simple-inspection-form .file-item .file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.simple-inspection-form .file-item .file-name{color:#1e293b;text-decoration:none;font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-inspection-form .file-item .file-name:hover{color:#667eea}.simple-inspection-form .file-item .file-type{font-size:.75rem;color:#94a3b8}.simple-inspection-form .file-actions{display:flex;gap:.25rem}.simple-inspection-form .btn-action{background:none;border:none;padding:.5rem;cursor:pointer;color:#64748b;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center;text-decoration:none}.simple-inspection-form .btn-action:hover{background:#f1f5f9;color:#475569}.simple-inspection-form .btn-action.delete:hover{background:#fef2f2;color:#dc2626}.simple-inspection-form .images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.5rem}.simple-inspection-form .image-item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s}.simple-inspection-form .image-item:hover{border-color:#667eea}.simple-inspection-form .image-item.selected{border-color:#667eea;box-shadow:0 0 0 3px #667eea40}.simple-inspection-form .image-item img{width:100%;height:100%;object-fit:cover}.simple-inspection-form .image-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 50%);opacity:0;transition:opacity .2s;display:flex;flex-direction:column;justify-content:flex-end;padding:.5rem}.simple-inspection-form .image-item:hover .image-overlay{opacity:1}.simple-inspection-form .image-name{color:#fff;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.simple-inspection-form .image-actions{display:flex;gap:.25rem}.simple-inspection-form .image-actions .btn-action{background:#ffffffe6;color:#475569;padding:.35rem}.simple-inspection-form .image-actions .btn-action:hover{background:#fff}.simple-inspection-form .image-actions .btn-action.delete:hover{background:#fef2f2;color:#dc2626}.simple-inspection-form .no-files{text-align:center;padding:1.5rem;color:#94a3b8}.simple-inspection-form .no-files .empty-icon{font-size:2rem;margin-bottom:.5rem}.simple-inspection-form .no-files p{margin:0;font-size:.9rem}.simple-inspection-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;background:#fff;border-top:1px solid #e2e8f0}.simple-inspection-form .btn-cancel,.simple-inspection-form .btn-save{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.simple-inspection-form .btn-cancel{background:#fff;border:1px solid #e2e8f0;color:#64748b}.simple-inspection-form .btn-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.simple-inspection-form .btn-save{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;box-shadow:0 4px 12px #667eea59}.simple-inspection-form .btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.simple-inspection-form .btn-save:disabled{opacity:.6;cursor:not-allowed}.simple-inspection-form .loading-spinner{padding:3rem;text-align:center;color:#64748b}.image-preview-modal{position:fixed;inset:0;background:#000000e6;z-index:10001;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}.image-preview-modal .preview-content{position:relative;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center}.image-preview-modal .preview-content img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px;box-shadow:0 25px 60px #00000080}.image-preview-modal .preview-info{display:flex;align-items:center;gap:1rem;margin-top:1rem;color:#fff;font-size:.9rem}.image-preview-modal .preview-actions{display:flex;gap:.5rem}.image-preview-modal .btn-download,.image-preview-modal .btn-delete{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.image-preview-modal .btn-download{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff}.image-preview-modal .btn-download:hover{background:#ffffff40}.image-preview-modal .btn-delete{background:#dc262633;border:1px solid rgba(220,38,38,.4);color:#fca5a5}.image-preview-modal .btn-delete:hover{background:#dc26264d}.image-preview-modal .btn-close-preview{position:absolute;top:-2.5rem;right:-.5rem;background:#ffffff26;border:none;color:#fff;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s}.image-preview-modal .btn-close-preview:hover{background:#ffffff40}.simple-tank-inspection-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:tankFadeIn .2s ease-out}@keyframes tankFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tankSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.simple-tank-inspection-form{background:#fff;border-radius:16px;box-shadow:0 25px 60px #0000004d;width:100%;max-width:480px;display:flex;flex-direction:column;overflow:hidden;animation:tankSlideIn .25s ease-out}.simple-tank-inspection-form .form-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.simple-tank-inspection-form .form-header h2{font-size:1.2rem;font-weight:600;margin:0;flex:1;color:#fff}.simple-tank-inspection-form .kks-badge{background:#fff3;color:#fff;padding:.35rem .85rem;border-radius:999px;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.simple-tank-inspection-form .btn-close{background:#ffffff26;border:none;padding:.5rem;cursor:pointer;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.simple-tank-inspection-form .btn-close:hover{background:#ffffff40}.simple-tank-inspection-form .form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin:1rem 1.5rem 0;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.simple-tank-inspection-form .form-error button{background:none;border:none;padding:.25rem;cursor:pointer;color:inherit;margin-left:auto}.simple-tank-inspection-form .form-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;background:#f8fafc}.simple-tank-inspection-form .form-section{display:flex;flex-direction:column;gap:.75rem}.simple-tank-inspection-form .section-label{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:#1e293b}.simple-tank-inspection-form .section-label svg{color:#8b5cf6}.simple-tank-inspection-form .documents-list{display:flex;flex-direction:column;gap:.5rem}.simple-tank-inspection-form .document-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.simple-tank-inspection-form .document-icon{color:#ef4444;font-size:1.25rem;flex-shrink:0}.simple-tank-inspection-form .document-name{display:flex;align-items:center;gap:.35rem;flex:1;color:#8b5cf6;text-decoration:none;font-size:.9rem;font-weight:500;word-break:break-all}.simple-tank-inspection-form .document-name:hover{text-decoration:underline}.simple-tank-inspection-form .document-name svg{font-size:.75rem;flex-shrink:0}.simple-tank-inspection-form .btn-delete{background:none;border:none;padding:.5rem;cursor:pointer;color:#94a3b8;border-radius:6px;transition:all .2s}.simple-tank-inspection-form .btn-delete:hover{background:#fef2f2;color:#dc2626}.simple-tank-inspection-form .upload-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.25rem;background:#fff;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;color:#64748b;transition:all .2s;font-size:.95rem;font-weight:500}.simple-tank-inspection-form .upload-button:hover{border-color:#8b5cf6;color:#8b5cf6;background:#8b5cf60d}.simple-tank-inspection-form .upload-button svg{font-size:1.1rem}.simple-tank-inspection-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.simple-tank-inspection-form .form-group{display:flex;flex-direction:column;gap:.5rem}.simple-tank-inspection-form .form-group label{font-size:.875rem;font-weight:600;color:#475569}.simple-tank-inspection-form .form-group input,.simple-tank-inspection-form .form-group select{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;background:#fff;color:#1e293b;transition:all .2s}.simple-tank-inspection-form .form-group input:focus,.simple-tank-inspection-form .form-group select:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.simple-tank-inspection-form .status-select{border-width:2px}.simple-tank-inspection-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;background:#fff;border-top:1px solid #e2e8f0}.simple-tank-inspection-form .btn-cancel,.simple-tank-inspection-form .btn-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.simple-tank-inspection-form .btn-cancel{background:#fff;border:1px solid #e2e8f0;color:#64748b}.simple-tank-inspection-form .btn-cancel:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.simple-tank-inspection-form .btn-save{background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;color:#fff;box-shadow:0 4px 12px #8b5cf659}.simple-tank-inspection-form .btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf666}.simple-tank-inspection-form .btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.simple-tank-inspection-form .loading-spinner{padding:3rem;text-align:center;color:#64748b}.simple-component-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:componentFadeIn .2s ease-out}@keyframes componentFadeIn{0%{opacity:0}to{opacity:1}}@keyframes componentSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.simple-component-form{background:#fff;border-radius:16px;box-shadow:0 25px 60px #0000004d;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:componentSlideIn .25s ease-out}.simple-component-form .form-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.simple-component-form .form-header h2{font-size:1.2rem;font-weight:600;margin:0;flex:1;color:#fff}.simple-component-form .kks-badge{background:#fff3;color:#fff;padding:.35rem .85rem;border-radius:999px;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.simple-component-form .btn-close{background:#ffffff26;border:none;padding:.5rem;cursor:pointer;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.simple-component-form .btn-close:hover{background:#ffffff40}.simple-component-form .form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin:1rem 1.5rem 0;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.simple-component-form .form-error button{background:none;border:none;padding:.25rem;cursor:pointer;color:inherit;margin-left:auto}.simple-component-form .form-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;background:#f8fafc;overflow-y:auto}.simple-component-form .form-section{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.simple-component-form .section-label{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:#1e293b;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9;margin-bottom:.25rem}.simple-component-form .form-section:first-child .section-label svg{color:#3b82f6}.simple-component-form .document-item.report{border-left:3px solid #3b82f6}.simple-component-form .document-item.report .document-name{color:#3b82f6}.simple-component-form .upload-button.report:hover{border-color:#3b82f6;color:#3b82f6;background:#3b82f60d}.simple-component-form .form-section:nth-child(2) .section-label svg{color:#f59e0b}.simple-component-form .document-item.documentation{border-left:3px solid #f59e0b}.simple-component-form .document-item.documentation .document-name{color:#f59e0b}.simple-component-form .upload-button.documentation:hover{border-color:#f59e0b;color:#f59e0b;background:#f59e0b0d}.simple-component-form .documents-list{display:flex;flex-direction:column;gap:.5rem}.simple-component-form .document-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.simple-component-form .document-icon{color:#ef4444;font-size:1.1rem;flex-shrink:0}.simple-component-form .document-name{display:flex;align-items:center;gap:.35rem;flex:1;text-decoration:none;font-size:.875rem;font-weight:500;word-break:break-all}.simple-component-form .document-name:hover{text-decoration:underline}.simple-component-form .document-name svg{font-size:.7rem;flex-shrink:0}.simple-component-form .btn-delete{background:none;border:none;padding:.4rem;cursor:pointer;color:#94a3b8;border-radius:6px;transition:all .2s}.simple-component-form .btn-delete:hover{background:#fef2f2;color:#dc2626}.simple-component-form .upload-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;color:#64748b;transition:all .2s;font-size:.9rem;font-weight:500}.simple-component-form .upload-button svg{font-size:1rem}.simple-component-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.simple-component-form .form-group{display:flex;flex-direction:column;gap:.5rem}.simple-component-form .form-group label{font-size:.875rem;font-weight:600;color:#475569}.simple-component-form .form-group input,.simple-component-form .form-group select{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;background:#fff;color:#1e293b;transition:all .2s}.simple-component-form .form-group input:focus,.simple-component-form .form-group select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.simple-component-form .status-select{border-width:2px}.simple-component-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;background:#fff;border-top:1px solid #e2e8f0}.simple-component-form .btn-cancel,.simple-component-form .btn-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.simple-component-form .btn-cancel{background:#fff;border:1px solid #e2e8f0;color:#64748b}.simple-component-form .btn-cancel:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.simple-component-form .btn-save{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff;box-shadow:0 4px 12px #f59e0b59}.simple-component-form .btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b66}.simple-component-form .btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.simple-component-form .loading-spinner{padding:3rem;text-align:center;color:#64748b}.qr-modal{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:400px;overflow:hidden}.qr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.qr-modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937}.qr-modal-header .close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;transition:all .15s ease}.qr-modal-header .close-btn:hover{background:#f3f4f6;color:#374151}.qr-modal-content{padding:1.5rem;display:flex;flex-direction:column;align-items:center}.qr-display{background:#fff;padding:1rem;border-radius:.5rem;border:1px solid #e5e7eb;margin-bottom:1rem}.qr-info{text-align:center;margin-bottom:1rem}.qr-kks{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.qr-type{font-size:.875rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.qr-url{display:flex;width:100%;gap:.5rem}.qr-url input{flex:1;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.75rem;color:#6b7280;background:#f9fafb}.qr-url input:focus{outline:none;border-color:#3b82f6}.qr-url .copy-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:.375rem;color:#6b7280;cursor:pointer;transition:all .15s ease}.qr-url .copy-btn:hover{background:#e5e7eb;color:#374151}.qr-modal-actions{display:flex;gap:.75rem;padding:1rem 1.25rem;background:#f9fafb;border-top:1px solid #e5e7eb}.qr-modal-actions .btn-secondary,.qr-modal-actions .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.qr-modal-actions .btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.qr-modal-actions .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.qr-modal-actions .btn-primary{background:#3b82f6;border:none;color:#fff}.qr-modal-actions .btn-primary:hover{background:#2563eb}.reports-page{min-height:100vh;background:#f3f4f6}.reports-header{background:#fff;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:1rem}.header-left h1{margin:0;font-size:1.5rem;color:#1f2937}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer;color:#4b5563;transition:all .2s}.back-button:hover{background:#e5e7eb;color:#1f2937}.reports-tabs{display:flex;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 1.5rem;gap:.5rem}.tab-button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border:none;background:transparent;color:#6b7280;font-size:.95rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tab-button:hover{color:#3b82f6}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6}.reports-filters{display:flex;gap:1rem;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem;color:#6b7280}.filter-group select{padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:.9rem;min-width:150px;cursor:pointer}.filter-group select:focus{outline:none;border-color:#3b82f6}.reports-content{padding:1.5rem;max-width:1400px;margin:0 auto}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:#6b7280}.error-state{color:#ef4444}.empty-state svg{font-size:3rem;color:#22c55e}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.summary-cards{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.summary-card{background:#fff;border-radius:12px;padding:1.5rem;min-width:150px;flex:1;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:.5rem}.summary-card .number{font-size:2rem;font-weight:700;color:#1f2937}.summary-card .label{font-size:.9rem;color:#6b7280}.summary-card.critical{border-left:4px solid #ef4444}.summary-card.warning{border-left:4px solid #f59e0b}.summary-card.success{border-left:4px solid #22c55e}.summary-card.info{border-left:4px solid #3b82f6}.data-table{width:100%;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border-collapse:collapse;overflow:hidden}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.data-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.85rem}.data-table td{color:#4b5563;font-size:.9rem}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr:last-child td{border-bottom:none}.kks-link,.terminal-link{color:#3b82f6;text-decoration:none;font-weight:500}.kks-link:hover,.terminal-link:hover{text-decoration:underline}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;color:#fff;font-size:.8rem;font-weight:500}.critical-text{color:#ef4444;font-weight:500}.warning-text{color:#f59e0b;font-weight:500}.ok-text{color:#22c55e;font-weight:500}.compliance-badge{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-weight:600;font-size:.85rem}.compliance-badge.good{background:#dcfce7;color:#166534}.compliance-badge.medium{background:#fef3c7;color:#92400e}.compliance-badge.poor{background:#fee2e2;color:#991b1b}.compliance-section h3{margin:1.5rem 0 1rem;color:#1f2937;font-size:1.1rem}.status-breakdown{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.status-bars{display:flex;flex-direction:column;gap:.75rem}.status-bar{display:flex;align-items:center;gap:1rem}.status-bar .status-label{min-width:120px;font-size:.9rem;color:#4b5563}.bar-container{flex:1;height:24px;background:#f3f4f6;border-radius:4px;overflow:hidden}.bar{height:100%;transition:width .3s ease}.bar.ok{background:#22c55e}.bar.warning{background:#f59e0b}.bar.critical{background:#ef4444}.bar.not-inspected{background:#9ca3af}.status-bar .status-count{min-width:50px;text-align:right;font-weight:600;color:#1f2937}.terminal-compliance,.inspection-history{margin-top:1.5rem}.report-footer{margin-top:2rem;text-align:center;color:#9ca3af;font-size:.85rem}.export-section{max-width:800px}.export-section h2{margin:0 0 .5rem;color:#1f2937}.export-section>p{color:#6b7280;margin-bottom:2rem}.export-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.export-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.export-card h3{margin:0 0 .5rem;color:#1f2937}.export-card p{color:#6b7280;font-size:.9rem;margin:0 0 1rem}.export-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;transition:background .2s}.export-button:hover{background:#2563eb}.export-note{background:#fef3c7;border-radius:8px;padding:1rem;color:#92400e;font-size:.9rem}@media(max-width:768px){.reports-tabs{overflow-x:auto;padding:0 1rem}.tab-button{padding:.75rem 1rem;white-space:nowrap}.summary-cards{flex-direction:column}.summary-card{min-width:auto}.data-table{display:block;overflow-x:auto}}.users-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.users-header{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.users-header .back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:.9rem;cursor:pointer;transition:all .2s}.users-header .back-button:hover{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.users-header h1{flex:1;font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.users-content{padding:2rem;max-width:1400px;margin:0 auto}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:1rem 1.5rem;text-align:left}.users-table th{background:#f8fafc;font-weight:600;font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.users-table td{border-bottom:1px solid #f1f5f9;color:#334155}.users-table tbody tr:hover{background:#f8fafc}.users-table tbody tr.current-user{background:#eff6ff}.users-table tbody tr.current-user:hover{background:#dbeafe}.user-name-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#e2e8f0;color:#64748b}.user-avatar svg{width:18px;height:18px}.role-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.role-badge.admin{background:#fef3c7;color:#92400e}.role-badge.user{background:#e0f2fe;color:#0369a1}.action-buttons{display:flex;gap:.5rem}.action-buttons .btn-icon{padding:.5rem;background:transparent;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s}.action-buttons .btn-icon:hover{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.action-buttons .btn-icon.danger:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.action-buttons .btn-icon:disabled{opacity:.4;cursor:not-allowed}.action-buttons .btn-icon:disabled:hover{background:transparent;color:#64748b;border-color:#e2e8f0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#64748b}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.btn-danger{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#b91c1c}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:450px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.btn-close{padding:.5rem;background:transparent;border:none;color:#64748b;cursor:pointer;border-radius:6px;transition:all .2s}.btn-close:hover{background:#f1f5f9;color:#334155}.modal form{padding:1.5rem}.modal .form-group{margin-bottom:1rem}.modal .form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:#374151}.modal .form-group input,.modal .form-group select{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;transition:all .2s}.modal .form-group input:focus,.modal .form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-info{padding:0 1.5rem;margin:0;color:#64748b;font-size:.9rem}.modal-warning{padding:1rem 1.5rem;margin:0;color:#64748b;font-size:.9rem;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e2e8f0;background:#f8fafc}.modal-confirm .modal-header{border-bottom:none;padding-bottom:0}.modal-confirm .modal-warning{padding-top:0}.annotation-page{min-height:100vh;background:#f8fafc}.annotation-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:10}.annotation-header .btn-back{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:none;background:#f1f5f9;border-radius:.5rem;color:#64748b;cursor:pointer;transition:all .15s ease}.annotation-header .btn-back:hover{background:#e2e8f0;color:#334155}.annotation-header .header-info{flex:1;display:flex;align-items:center;gap:.75rem}.annotation-header h1{margin:0;font-size:1.5rem;font-weight:700;color:#1e293b}.annotation-header .type-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em}.annotation-header .btn-qr{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:none;background:#f1f5f9;border-radius:.5rem;color:#64748b;cursor:pointer;transition:all .15s ease;font-size:1.25rem}.annotation-header .btn-qr:hover{background:#e2e8f0;color:#334155}.annotation-content{max-width:800px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.content-section{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.content-section h2{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#475569;display:flex;align-items:center;gap:.5rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h2{margin:0}.status-section{padding:1rem 1.5rem}.status-display{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#f8fafc;border-radius:.5rem;border-left:4px solid}.status-icon{font-size:1.5rem}.status-icon.ok{color:#22c55e}.status-icon.warning{color:#eab308}.status-icon.critical{color:#ef4444}.status-icon.not-inspected{color:#94a3b8}.status-label{font-size:1.125rem;font-weight:600;color:#334155}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.detail-item label{font-size:.75rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.detail-item span{font-size:1rem;color:#334155;font-weight:500}.description-box{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.description-box label{display:block;font-size:.75rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.description-box p{margin:0;color:#475569;line-height:1.6}.dates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.date-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0}.date-card.warning{background:#fefce8;border-color:#fde047}.date-card .date-icon{font-size:1.5rem;color:#94a3b8}.date-card .date-icon.ok{color:#22c55e}.date-card.warning .date-icon{color:#eab308}.date-info{display:flex;flex-direction:column;gap:.125rem}.date-info label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.date-value{font-weight:600;color:#334155}.date-relative{font-size:.875rem;color:#64748b}.inspections-list{display:flex;flex-direction:column;gap:.75rem}.inspection-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0;cursor:pointer;transition:all .15s ease;position:relative}.inspection-card:hover{border-color:#cbd5e1;background:#f1f5f9}.inspection-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.inspection-title{font-weight:600;color:#334155}.inspection-status{padding:.25rem .625rem;border-radius:1rem;font-size:.75rem;font-weight:600;color:#fff}.inspection-meta{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:#64748b}.inspection-card .btn-edit{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;background:#fff;border-radius:.375rem;color:#64748b;cursor:pointer;opacity:0;transition:all .15s ease}.inspection-card:hover .btn-edit{opacity:1}.inspection-card .btn-edit:hover{background:#e2e8f0;color:#334155}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;color:#94a3b8}.empty-state .empty-icon{font-size:2.5rem}.empty-state p{margin:0;font-size:.875rem}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.page-loading,.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.page-error p{color:#64748b}.page-error button{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;cursor:pointer}@media(max-width:640px){.annotation-header h1{font-size:1.25rem}.annotation-content,.content-section{padding:1rem}.details-grid{grid-template-columns:1fr 1fr}.dates-grid{grid-template-columns:1fr}}.qr-view-page{min-height:100vh;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.qr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.qr-loading .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.qr-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.qr-error .error-icon{font-size:4rem;color:#ef4444;margin-bottom:1rem}.qr-error h2{margin:0 0 .5rem;color:#1f2937}.qr-error p{color:#6b7280}.qr-header{padding:1.5rem 1rem;color:#fff;text-align:center}.qr-header.status-ok{background:linear-gradient(135deg,#22c55e,#16a34a)}.qr-header.status-warning{background:linear-gradient(135deg,#eab308,#ca8a04)}.qr-header.status-critical{background:linear-gradient(135deg,#ef4444,#dc2626)}.qr-header.status-not_inspected{background:linear-gradient(135deg,#6b7280,#4b5563)}.header-content{max-width:600px;margin:0 auto}.type-badge{display:inline-block;padding:.25rem .75rem;background:#fff3;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.qr-header h1{margin:0 0 .75rem;font-size:1.75rem;font-weight:700}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#ffffff40;border-radius:.5rem;font-size:.875rem;font-weight:600}.qr-content{padding:1rem;max-width:600px;margin:0 auto}.qr-card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;overflow:hidden}.card-header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.card-header svg{color:#6b7280;font-size:1.125rem}.card-header h2{margin:0;font-size:.9375rem;font-weight:600;color:#374151;flex:1}.card-header.clickable{cursor:pointer;width:100%;border:none;text-align:left;font-family:inherit}.card-header.clickable:hover{background:#f3f4f6}.location-path{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:1rem;font-size:.9375rem}.location-path .separator{color:#9ca3af}.location-path .terminal{font-weight:600;color:#3b82f6}.location-path .location{color:#374151}.location-path .diagram{color:#6b7280}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item.full-width{grid-column:1 / -1}.detail-item .label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.detail-item .value{font-size:.9375rem;color:#1f2937}.inspection-dates{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem}.date-item{display:flex;flex-direction:column;gap:.25rem}.date-item .label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.date-item .value{font-size:1rem;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.date-item.overdue .value{color:#ef4444}.overdue-badge{display:inline-block;padding:.125rem .5rem;background:#fef2f2;color:#ef4444;border-radius:9999px;font-size:.6875rem;font-weight:600}.latest-inspection{padding:1rem}.inspection-status{display:inline-block;padding:.375rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.inspection-status.status-approved{background:#dcfce7;color:#166534}.inspection-status.status-conditional{background:#fef9c3;color:#854d0e}.inspection-status.status-rejected{background:#fef2f2;color:#b91c1c}.inspection-status.status-pending{background:#f3f4f6;color:#4b5563}.inspection-detail{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;border-bottom:1px solid #f3f4f6}.inspection-detail:last-of-type{border-bottom:none}.inspection-detail .label{font-size:.8125rem;color:#6b7280;min-width:80px}.inspection-detail .value{font-size:.9375rem;color:#1f2937}.inspection-detail .icon{color:#6b7280}.inspection-conclusion{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.inspection-conclusion .label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.25rem}.inspection-conclusion p{margin:0;font-size:.9375rem;color:#374151;line-height:1.5}.inspection-media{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.media-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:#f3f4f6;border-radius:.375rem;font-size:.8125rem;color:#6b7280}.inspection-history{padding:.5rem 1rem 1rem}.history-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.history-item:last-child{border-bottom:none}.history-status{padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:600}.history-details{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.history-date{color:#374151}.history-report{color:#6b7280}.qr-actions{margin-top:.5rem}.qr-actions .btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:#3b82f6;color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s ease}.qr-actions .btn-primary:hover{background:#2563eb}.qr-actions .btn-primary:active{background:#1d4ed8}.qr-footer{text-align:center;padding:1.5rem 1rem;color:#9ca3af;font-size:.8125rem}.qr-footer p{margin:0}@media(max-width:380px){.qr-header h1{font-size:1.5rem}.inspection-dates,.details-grid{grid-template-columns:1fr}}.qr-print-page{min-height:100vh;background:#f5f5f5;padding:2rem}.print-loading,.print-error{display:flex;align-items:center;justify-content:center;min-height:50vh;font-size:1.125rem;color:#6b7280}.print-error{color:#ef4444}.print-controls{display:flex;align-items:center;gap:1rem;max-width:600px;margin:0 auto 2rem;padding:1rem;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.size-selector{display:flex;align-items:center;gap:.5rem;flex:1}.size-selector span{font-size:.875rem;color:#6b7280}.size-selector select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background:#fff}.btn-secondary,.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-primary{background:#3b82f6;border:none;color:#fff}.btn-primary:hover{background:#2563eb}.print-preview{display:flex;justify-content:center;padding:2rem;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;max-width:600px;margin:0 auto 2rem}.qr-label{display:flex;flex-direction:column;align-items:center;padding:.75rem;border:2px dashed #d1d5db;border-radius:.5rem;background:#fff}.label-qr{margin-bottom:.5rem}.label-info{text-align:center}.label-kks{font-size:1rem;font-weight:700;color:#1f2937;margin-bottom:.125rem}.label-type{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.125rem}.label-location{font-size:.6875rem;color:#9ca3af}.qr-label.size-small{padding:.5rem}.qr-label.size-small .label-kks{font-size:.75rem}.qr-label.size-small .label-type{font-size:.625rem}.qr-label.size-small .label-location{font-size:.5625rem}.qr-label.size-large .label-kks{font-size:1.125rem}.qr-label.size-xlarge .label-kks{font-size:1.25rem}.qr-label.size-xlarge .label-type{font-size:.875rem}.qr-label.size-xlarge .label-location{font-size:.75rem}.print-instructions{max-width:600px;margin:0 auto;padding:1.5rem;background:#fef3c7;border-radius:.75rem;border:1px solid #fcd34d}.print-instructions h3{margin:0 0 .75rem;font-size:1rem;color:#92400e}.print-instructions ul{margin:0;padding-left:1.25rem}.print-instructions li{font-size:.875rem;color:#78350f;margin-bottom:.375rem}.print-instructions li:last-child{margin-bottom:0}@media print{.no-print{display:none!important}.qr-print-page{background:#fff;padding:0;min-height:auto}.print-preview{box-shadow:none;border-radius:0;padding:0;margin:0}.qr-label{border:none;padding:0}@page{margin:5mm;size:auto}}.update-notification{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:10000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translate(-50%) translateY(100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.update-notification-content{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:14px 20px;border-radius:12px;box-shadow:0 8px 32px #667eea66;font-weight:500}.update-icon{font-size:20px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-button{background:#fff;color:#667eea;border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.update-button:hover{background:#f0f0f0;transform:scale(1.05)}.update-button:active{transform:scale(.98)}:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #eef2ff;--primary-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--accent-blue: #3b82f6;--accent-purple: #8b5cf6;--accent-pink: #ec4899;--accent-cyan: #06b6d4;--bg-white: #ffffff;--bg-light: #fafbfc;--bg-gray: #f3f4f6;--bg-dark: #e5e7eb;--bg-gradient: linear-gradient(180deg, #fafbfc 0%, #f3f4f6 100%);--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #9ca3af;--border-color: #e5e7eb;--border-dark: #d1d5db;--border-light: #f3f4f6;--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--danger: #ef4444;--danger-light: #fee2e2;--info: #3b82f6;--info-light: #dbeafe;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .16);--shadow-glow: 0 0 20px rgba(99, 102, 241, .15);--shadow-colored: 0 4px 16px rgba(99, 102, 241, .2);--sidebar-width: 420px;--header-height: 72px;--toolbar-height: 56px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-light);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition);box-shadow:0 2px 8px #6366f140;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);opacity:0;transition:opacity var(--transition)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px #6366f159}.btn-primary:hover:before{opacity:1}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary svg{width:18px;height:18px}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border-dark);border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.btn-secondary:hover{background:var(--bg-gray);border-color:var(--primary);color:var(--primary)}.btn-icon{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.btn-icon:hover{background:var(--bg-gray);color:var(--text-primary)}.btn-icon svg{width:20px;height:20px}.btn-icon-small{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);padding:.375rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.btn-icon-small:hover{background:var(--bg-gray);color:var(--text-primary)}.btn-icon-small.danger:hover{background:var(--danger-light);color:var(--danger)}.btn-icon-small svg{width:16px;height:16px}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;background:var(--bg-white);border:1px solid var(--border-dark);border-radius:var(--radius);color:var(--text-primary);font-size:.875rem;transition:all .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-meta{display:flex;flex-direction:column;gap:.25rem;padding-top:1rem;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.75rem}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-light);color:var(--text-secondary);gap:1rem}.page-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-light);gap:1rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2,#6366f1);padding:2rem;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 50%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.login-container{width:100%;max-width:440px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:3rem;box-shadow:0 25px 50px #00000040;border:1px solid rgba(255,255,255,.2);position:relative;z-index:1}.login-header{text-align:center;margin-bottom:2.5rem}.login-header h1{font-size:2rem;font-weight:800;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.login-header p{color:var(--text-secondary);font-size:1rem}.login-form .form-group{margin-bottom:1.5rem}.login-form .form-group input{padding:.875rem 1rem;border-radius:var(--radius);border:2px solid var(--border-color);font-size:1rem;transition:all var(--transition)}.login-form .form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.login-error{background:var(--danger-light);border:1px solid #fca5a5;color:var(--danger);padding:.875rem 1rem;border-radius:var(--radius);margin-bottom:1.25rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.btn-login{width:100%;padding:1rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition);box-shadow:0 4px 15px #6366f159;position:relative;overflow:hidden}.btn-login:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-login:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f173}.btn-login:hover:before{left:100%}.btn-login:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color);text-align:center;font-size:.8125rem;color:var(--text-muted)}.login-footer p{margin-bottom:.25rem}.login-footer strong{color:var(--primary);font-weight:600}.dashboard-page{min-height:100vh;background:linear-gradient(180deg,#f8fafc,#eef2ff)}.dashboard-header{height:var(--header-height);background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(99,102,241,.1);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;box-shadow:0 4px 20px #6366f114;position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center}.header-left h1{font-size:1.5rem;font-weight:800;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-subtitle{font-size:.875rem;color:var(--text-muted);margin-left:1rem;padding-left:1rem;border-left:2px solid var(--primary-light)}.header-center{flex:1;display:flex;justify-content:center;padding:0 2rem}.header-right{display:flex;align-items:center;gap:1.5rem}.user-info{font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-light);border-radius:var(--radius-full)}.user-info strong{color:var(--primary);font-weight:600}.dashboard-content{padding:2.5rem;max-width:1600px;margin:0 auto}.dashboard-tabs{display:flex;gap:.5rem;margin-bottom:2.5rem;padding:.5rem;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-xl);width:fit-content;box-shadow:0 4px 16px #6366f114;border:1px solid rgba(99,102,241,.1)}.dashboard-tab{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:transparent;border:none;border-radius:var(--radius-lg);font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);position:relative}.dashboard-tab:hover{color:var(--primary);background:#6366f10d}.dashboard-tab.active{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px #6366f14d}.dashboard-tab svg{width:18px;height:18px}.dashboard-intro{text-align:center;margin-bottom:2.5rem}.dashboard-intro h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.dashboard-intro p{color:var(--text-secondary);font-size:1rem}.loading-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.loading-state .spinner{margin:0 auto 1rem}.terminal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem}@media(max-width:1400px){.terminal-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.terminal-grid{grid-template-columns:repeat(2,1fr)}}.terminal-card{background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xl);padding:1.75rem;cursor:pointer;transition:all var(--transition-slow);position:relative;overflow:hidden;box-shadow:0 4px 24px #0000000f}.terminal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--terminal-color, var(--primary-gradient))}.terminal-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(99,102,241,.03) 0%,transparent 50%);opacity:0;transition:opacity var(--transition);pointer-events:none}.terminal-card:hover{border-color:#6366f14d;box-shadow:0 12px 40px #6366f126;transform:translateY(-4px)}.terminal-card:hover:after{opacity:1}.terminal-code{display:inline-block;font-size:.8125rem;font-weight:700;color:#fff;background:var(--terminal-color, var(--primary-gradient));padding:.375rem .875rem;border-radius:var(--radius);margin-bottom:1rem;box-shadow:0 2px 8px #00000026}.terminal-name{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.terminal-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.terminal-stats{display:flex;gap:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(99,102,241,.1)}.terminal-stats .stat{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);font-weight:500}.terminal-stats .stat svg{width:18px;height:18px;color:var(--primary)}.terminal-card.add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;border:2px dashed rgba(99,102,241,.3);background:#6366f105;color:var(--text-muted)}.terminal-card.add-card:before{display:none}.terminal-card.add-card:after{display:none}.terminal-card.add-card:hover{border-color:var(--primary);color:var(--primary);background:#6366f114;box-shadow:0 8px 32px #6366f11f}.terminal-card.add-card .add-icon{width:52px;height:52px;margin-bottom:1rem;opacity:.7;transition:all var(--transition)}.terminal-card.add-card:hover .add-icon{opacity:1;transform:scale(1.1)}.page-header{height:var(--header-height);background:var(--bg-white);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 2rem;gap:1rem;box-shadow:var(--shadow-sm)}.btn-back{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--text-secondary);padding:.5rem .75rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s ease}.btn-back:hover{background:var(--bg-gray);color:var(--text-primary)}.btn-back svg{width:18px;height:18px}.header-title{display:flex;align-items:center;gap:.75rem}.header-title h1{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.terminal-badge{font-size:.75rem;font-weight:700;background:var(--primary);color:#fff;padding:.25rem .625rem;border-radius:var(--radius-sm)}.page-content{padding:2.5rem;max-width:1600px;margin:0 auto}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{font-size:1.375rem;font-weight:600;color:var(--text-primary)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary);background:var(--bg-white);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.empty-state p{margin-bottom:1.5rem;font-size:1rem}.empty-state svg{display:block;margin:0 auto .75rem;width:32px;height:32px;color:var(--text-muted)}.terminal-page,.location-page{min-height:100vh;background:linear-gradient(180deg,#f8fafc,#eef2ff)}.location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.location-card{background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xl);padding:1.75rem;cursor:pointer;transition:all var(--transition-slow);box-shadow:0 4px 24px #0000000f}.location-card:hover{border-color:#6366f14d;box-shadow:0 12px 40px #6366f126;transform:translateY(-4px)}.location-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem}.location-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.location-actions{display:flex;gap:.25rem}.location-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.location-stats{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);padding-top:1rem;border-top:1px solid var(--border-color)}.location-stats svg{width:16px;height:16px;color:var(--text-muted)}.location-accordion{display:flex;flex-direction:column;gap:.75rem}.location-accordion-item{background:#ffffffd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px #0000000a}.location-accordion-item:hover{border-color:#6366f140;box-shadow:0 4px 20px #6366f114}.location-accordion-item.expanded{border-color:#6366f14d;box-shadow:0 8px 32px #6366f11f}.location-accordion-header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;cursor:pointer;transition:background .2s ease}.location-accordion-header:hover{background:#6366f108}.location-expand-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--primary);flex-shrink:0;transition:transform .2s ease}.location-expand-icon svg{width:18px;height:18px}.location-expand-icon svg.muted{color:var(--text-muted)}.location-expand-icon .mini-spinner{width:18px;height:18px;border:2px solid rgba(99,102,241,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.location-accordion-item.expanded .location-expand-icon{color:var(--primary)}.location-info{flex:1;min-width:0}.location-info h3{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0}.location-accordion-header .location-description{font-size:.8125rem;color:var(--text-muted);margin:.25rem 0 0;line-height:1.4}.location-meta{display:flex;align-items:center;gap:.75rem}.location-meta .diagram-count{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary);padding:.375rem .75rem;background:#6366f114;border-radius:20px}.location-meta .diagram-count svg{width:14px;height:14px;color:var(--primary)}.location-accordion-header .location-actions{display:flex;gap:.375rem;opacity:0;transition:opacity .2s ease}.location-accordion-header:hover .location-actions{opacity:1}.location-diagrams{border-top:1px solid rgba(99,102,241,.1);background:linear-gradient(180deg,#6366f105,#6366f10a);padding:.75rem;animation:slideDown .25s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.diagram-list{display:flex;flex-direction:column;gap:.5rem}.diagram-list-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:#ffffffe6;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.diagram-list-item:hover{background:#fff;border-color:#6366f14d;box-shadow:0 4px 16px #6366f11a;transform:translate(4px)}.diagram-list-item .diagram-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-radius:10px;flex-shrink:0}.diagram-list-item .diagram-icon svg{width:18px;height:18px;color:var(--primary)}.diagram-list-item .diagram-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.diagram-list-item .diagram-name{font-size:.9375rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diagram-list-item .diagram-date{font-size:.75rem;color:var(--text-muted)}.diagram-list-item .diagram-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-muted);opacity:0;transform:translate(-4px);transition:all .2s ease}.diagram-list-item:hover .diagram-arrow{opacity:1;transform:translate(0);color:var(--primary)}.no-diagrams{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.875rem}.no-diagrams .empty-icon{font-size:2rem;margin-bottom:.5rem;opacity:.5}.diagram-list-item .diagram-meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--text-muted)}.diagram-list-item .diagram-meta span{display:flex;align-items:center;gap:.25rem}.diagram-list-item .diagram-delete{opacity:0;transition:opacity .2s ease}.diagram-list-item:hover .diagram-delete{opacity:1}.btn-upload-diagram{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;margin-top:.75rem;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:2px dashed rgba(99,102,241,.3);border-radius:var(--radius-lg);color:var(--primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-upload-diagram:hover{background:linear-gradient(135deg,#6366f126,#8b5cf626);border-color:var(--primary)}.btn-upload-diagram:disabled{opacity:.5;cursor:not-allowed}.diagrams-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:var(--text-muted);font-size:.875rem}.mini-spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.diagram-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.diagram-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all .2s ease;position:relative;box-shadow:var(--shadow-sm)}.diagram-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.diagram-preview{height:140px;background:var(--bg-gray);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.diagram-preview .preview-icon{width:40px;height:40px}.diagram-info{padding:1.25rem}.diagram-info h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diagram-info p{font-size:.8125rem;color:var(--text-secondary)}.diagram-card .btn-delete{position:absolute;top:.75rem;right:.75rem;background:var(--bg-white);border:1px solid var(--border-color);color:var(--text-muted);padding:.5rem;border-radius:var(--radius);cursor:pointer;opacity:0;transition:all .2s ease;box-shadow:var(--shadow)}.diagram-card:hover .btn-delete{opacity:1}.diagram-card .btn-delete:hover{background:var(--danger);border-color:var(--danger);color:#fff}.diagram-card .btn-delete svg{width:16px;height:16px}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:2rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal{background:var(--bg-white);border:1px solid rgba(99,102,241,.1);border-radius:var(--radius-xl);padding:2.5rem;width:100%;max-width:480px;box-shadow:0 25px 50px #00000040;animation:slideUp .3s ease}.modal h2{font-size:1.5rem;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.75rem}.modal .form-group{margin-bottom:1.5rem}.modal .form-group input,.modal .form-group textarea{border:2px solid var(--border-color);padding:.75rem 1rem;border-radius:var(--radius);transition:all var(--transition)}.modal .form-group input:focus,.modal .form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.modal-actions button{flex:1;padding:.875rem;font-weight:600}.diagram-page{display:flex;flex-direction:column;height:100vh;background:var(--bg-gray)}.diagram-header{height:var(--header-height);background:var(--bg-white);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 1.5rem;gap:1rem;box-shadow:var(--shadow-sm)}.diagram-header .header-info{display:flex;align-items:center;gap:.75rem;flex:1}.diagram-header h1{font-size:1rem;font-weight:600;color:var(--text-primary)}.diagram-header .location-name{font-size:.8125rem;color:var(--text-secondary)}.diagram-header-compact{height:52px;background:linear-gradient(135deg,#1e293b,#334155);border-bottom:none;display:flex;align-items:center;padding:0 1rem;gap:.75rem;box-shadow:0 2px 8px #00000026}.diagram-header-compact .header-left{display:flex;align-items:center;gap:.5rem;min-width:0}.diagram-header-compact .btn-back-compact{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#ffffffe6;cursor:pointer;border-radius:var(--radius);flex-shrink:0;transition:all .15s ease}.diagram-header-compact .btn-back-compact:hover{background:#fff3;color:#fff}.diagram-header-compact .header-breadcrumb{display:flex;align-items:center;font-size:.8125rem;color:#ffffffb3;min-width:0;overflow:hidden}.diagram-header-compact .bc-item{display:flex;align-items:center;white-space:nowrap}.diagram-header-compact .bc-item a{color:#ffffffd9;text-decoration:none;cursor:pointer;transition:color .15s ease}.diagram-header-compact .bc-item a:hover{color:#fff;text-decoration:underline}.diagram-header-compact .bc-sep{margin:0 .35rem;color:#fff6}.diagram-header-compact .bc-current{font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diagram-header-compact .type-badge-compact{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.diagram-header-compact .type-badge-compact.sikringsplan{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.diagram-header-compact .type-badge-compact svg{width:12px;height:12px}.diagram-header-compact .toolbar{height:auto;background:transparent;border:none;padding:0 .5rem;gap:.25rem;flex:1;justify-content:center}.diagram-header-compact .toolbar-btn{padding:.35rem .5rem;font-size:.75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:#ffffffd9}.diagram-header-compact .toolbar-btn:hover{background:#fff3;color:#fff}.diagram-header-compact .toolbar-btn.active{background:#6366f199;border-color:#6366f1cc;color:#fff}.diagram-header-compact .toolbar-btn span{display:none}.diagram-header-compact .toolbar-btn svg{width:16px;height:16px}.diagram-header-compact .toolbar-divider{height:20px;margin:0 .35rem;background:#fff3}.diagram-header-compact .stroke-width-group{gap:.25rem}.diagram-header-compact .stroke-width-label{font-size:.7rem;color:#ffffffb3}.diagram-header-compact .stroke-width-label svg{stroke:#ffffffb3}.diagram-header-compact .stroke-width-value{color:#ffffffd9}.diagram-header-compact .stroke-width-slider{width:50px}.diagram-header-compact .header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.diagram-header-compact .header-drawing-controls{display:flex;align-items:center;gap:.35rem;padding:.25rem .5rem;background:#ffffff1a;border-radius:var(--radius);border:1px solid rgba(255,255,255,.15)}.diagram-header-compact .btn-header-action{padding:.35rem .6rem;font-size:.75rem;gap:.25rem;border-radius:var(--radius-sm);border:none;cursor:pointer;font-weight:500;display:flex;align-items:center;transition:all .15s ease}.diagram-header-compact .btn-header-action.btn-undo{background:#ffffff26;color:#ffffffe6}.diagram-header-compact .btn-header-action.btn-undo:hover{background:#ffffff40;color:#fff}.diagram-header-compact .btn-header-action.btn-cancel{background:#ef444433;color:#fca5a5}.diagram-header-compact .btn-header-action.btn-cancel:hover{background:#ef444466;color:#fff}.diagram-header-compact .btn-header-action.btn-save{background:#10b9814d;color:#6ee7b7}.diagram-header-compact .btn-header-action.btn-save:hover{background:#10b98180;color:#fff}.diagram-header-compact .btn-header-action svg{width:14px;height:14px}.diagram-header-compact .view-mode-badge{font-size:.7rem;font-weight:600;background:#f59e0b33;color:#fbbf24;padding:.3rem .6rem;border-radius:var(--radius-sm);border:1px solid rgba(245,158,11,.3)}.view-mode-badge{font-size:.75rem;font-weight:600;background:var(--warning-light);color:var(--warning);padding:.375rem .75rem;border-radius:var(--radius-sm)}.header-right{display:flex;align-items:center;gap:.75rem}.header-drawing-controls{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--bg-secondary);border-radius:var(--radius);border:1px solid var(--border-color)}.drawing-type-badge{font-size:.6875rem;font-weight:600;color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.btn-header-action{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-header-action svg{width:14px;height:14px}.btn-header-action.btn-save{background:var(--primary);color:#fff}.btn-header-action.btn-save:hover{background:var(--primary-dark)}.btn-header-action.btn-cancel{background:var(--bg-white);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-header-action.btn-cancel:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.btn-header-action.btn-undo{background:var(--bg-white);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-header-action.btn-undo:hover{background:var(--warning-light);color:var(--warning);border-color:var(--warning)}.diagram-workspace{display:flex;flex:1;overflow:hidden}.toolbar{height:var(--toolbar-height);background:var(--bg-white);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 1.25rem;gap:.5rem}.toolbar-group{display:flex;gap:.25rem}.toolbar-divider{width:1px;height:28px;background:var(--border-color);margin:0 .75rem}.toolbar-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:all .15s ease}.toolbar-btn:hover{background:var(--bg-gray);color:var(--text-primary)}.toolbar-btn.active{background:var(--primary);color:#fff}.toolbar-btn.danger:hover{background:var(--danger-light);color:var(--danger)}.toolbar-btn svg{width:18px;height:18px}.toolbar-btn.zoom-display{font-weight:600;min-width:60px;justify-content:center;background:var(--bg-gray);color:var(--text-primary)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn.locked{background:var(--warning-light);color:var(--warning);border-color:var(--warning)}.toolbar-btn.locked:hover{background:var(--warning);color:#fff}.stroke-width-group{display:flex;align-items:center;gap:.5rem}.stroke-width-label{display:flex;align-items:center;gap:.375rem;color:var(--text-secondary);font-size:.8125rem;white-space:nowrap}.stroke-width-label svg{color:var(--text-muted)}.stroke-width-value{font-weight:600;color:var(--text-primary);min-width:36px}.stroke-width-slider{width:80px;height:4px;appearance:none;background:var(--bg-dark);border-radius:var(--radius-full);cursor:pointer}.stroke-width-slider::-webkit-slider-thumb{appearance:none;width:14px;height:14px;background:var(--primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #6366f14d;transition:transform .15s ease}.stroke-width-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.stroke-width-slider::-moz-range-thumb{width:14px;height:14px;background:var(--primary);border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #6366f14d}.stroke-width-slider:disabled{opacity:.4;cursor:not-allowed}.diagram-view{flex:1;background:var(--bg-gray);overflow:auto;position:relative}.diagram-view.empty{display:flex;align-items:center;justify-content:center}.diagram-container{position:relative;display:inline-block;margin:2rem;box-shadow:var(--shadow-lg);border-radius:var(--radius);overflow:hidden}.pdf-layer{position:relative;z-index:1}.annotation-layer{position:absolute;top:0;left:0;z-index:2;pointer-events:auto}.annotation-container{position:relative;width:100%;height:100%}.annotation-canvas{background:transparent;display:block}.zoom-controls-floating{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.25rem;padding:.5rem;background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:90;border:1px solid var(--border-color)}.zoom-controls-floating .zoom-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.zoom-controls-floating .zoom-btn:hover:not(:disabled){background:var(--bg-gray);color:var(--primary)}.zoom-controls-floating .zoom-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-controls-floating .zoom-btn.zoom-display{width:auto;min-width:50px;padding:0 .5rem;font-size:.8125rem;font-weight:600;color:var(--text-primary)}.zoom-controls-floating .zoom-btn svg{width:18px;height:18px}.locked-indicator{position:fixed;top:calc(var(--header-height) + var(--toolbar-height) + 16px);left:16px;background:var(--warning-light);color:var(--warning);padding:10px 18px;border-radius:var(--radius);font-size:.875rem;font-weight:500;box-shadow:var(--shadow-md);z-index:100;border:1px solid rgba(202,138,4,.3)}.annotation-type-selector{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;background:var(--bg-white);padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border-color);box-shadow:var(--shadow-md);z-index:10}.annotation-type-selector .type-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-right:4px}.annotation-type-selector .type-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);border:2px solid transparent;background:var(--bg-light);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.annotation-type-selector .type-btn:hover{background:#6366f11a;border-color:var(--type-color);color:var(--type-color)}.annotation-type-selector .type-btn.active{background:var(--type-color);border-color:var(--type-color);color:#fff}.annotation-type-selector .type-icon{font-size:1rem;line-height:1}.annotation-type-indicator{position:fixed;top:calc(var(--header-height) + var(--toolbar-height) + 16px);right:calc(var(--sidebar-width) + 16px);z-index:100}.annotation-type-indicator .type-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);color:#fff;font-size:.875rem;font-weight:600;box-shadow:var(--shadow-md)}.annotation-type-indicator .type-icon{font-size:1rem;line-height:1}.pdf-viewer{position:relative;background:#fff}.pdf-viewer canvas{display:block}.pdf-loading,.pdf-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;padding:2rem;background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow)}.pdf-error{color:var(--danger)}.page-info{position:absolute;bottom:-2rem;left:50%;transform:translate(-50%);font-size:.8125rem;color:var(--text-muted);background:var(--bg-white);padding:.25rem .75rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,var(--bg-white) 0%,#f8fafc 100%);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;box-shadow:-4px 0 20px #0000000d}.sidebar.sidebar-floating{position:fixed;top:calc(var(--header-height) + var(--toolbar-height) + 20px);right:20px;width:380px;max-height:calc(100vh - var(--header-height) - var(--toolbar-height) - 40px);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);z-index:100;transition:box-shadow var(--transition),opacity var(--transition);overflow:hidden}.sidebar.sidebar-floating.dragging{box-shadow:0 20px 60px #00000040;opacity:.95;cursor:grabbing}.sidebar.sidebar-floating.minimized{max-height:48px;overflow:hidden}.sidebar-drag-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(0,0,0,.1)}.sidebar-drag-header:active{cursor:grabbing}.drag-handle{display:flex;align-items:center;gap:.5rem;color:#fff}.drag-handle svg{width:16px;height:16px;opacity:.8}.drag-handle h2{font-size:1rem;font-weight:600;color:#fff;margin:0}.sidebar-controls{display:flex;align-items:center;gap:.5rem}.sidebar-controls .btn-reset,.sidebar-controls .btn-minimize{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff26;border:none;border-radius:var(--radius-sm);color:#fff;font-size:1rem;cursor:pointer;transition:background var(--transition-fast)}.sidebar-controls .btn-reset:hover,.sidebar-controls .btn-minimize:hover{background:#ffffff40}.sidebar-controls .btn-minimize svg{width:16px;height:16px}.sidebar.sidebar-floating .sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.sidebar.sidebar-floating .sidebar-header{padding:.75rem 1rem;background:var(--bg-light);border-bottom:1px solid var(--border-color)}.sidebar.sidebar-floating .sidebar-header .diagram-name{color:var(--text-secondary);font-size:.8125rem}.sidebar-search-bar{display:flex;gap:.5rem;padding:.75rem 1rem;background:var(--bg-light);border-bottom:1px solid var(--border-color)}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:.75rem;color:var(--text-muted);width:16px;height:16px;pointer-events:none}.search-input{width:100%;padding:.5rem 2rem .5rem 2.25rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;background:#fff;transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:var(--text-muted)}.search-clear{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--bg-hover);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.search-clear:hover{background:var(--border-color);color:var(--text-secondary)}.filter-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.filter-toggle:hover{background:var(--bg-hover);color:var(--text-secondary)}.filter-toggle.active{background:var(--primary);border-color:var(--primary);color:#fff}.sidebar-filters{display:flex;gap:.5rem;padding:.5rem 1rem;background:var(--bg-light);border-bottom:1px solid var(--border-color)}.status-filter{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.85rem;background:#fff;cursor:pointer}.status-filter:focus{outline:none;border-color:var(--primary)}.clear-filters{padding:.5rem .75rem;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.clear-filters:hover{background:var(--border-color)}.section-header-row{display:flex;align-items:center;gap:.5rem}.section-header-row .section-header{flex:1}.bulk-toggle-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.bulk-toggle-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.bulk-toggle-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.bulk-actions-bar{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;background:var(--bg-light);border-bottom:1px solid var(--border-color)}.bulk-selection-info{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:var(--text-secondary)}.bulk-selection-info .link-btn{background:none;border:none;color:var(--primary);font-size:.8rem;cursor:pointer;text-decoration:underline;padding:0}.bulk-selection-info .link-btn:hover{color:var(--primary-dark)}.bulk-status-buttons{display:flex;gap:.5rem}.bulk-status-btn{display:flex;align-items:center;justify-content:center;flex:1;padding:.5rem;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.bulk-status-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-status-btn.ok{background:#22c55e1a;color:#16a34a}.bulk-status-btn.ok:hover:not(:disabled){background:#22c55e33}.bulk-status-btn.warning{background:#fbbf241a;color:#d97706}.bulk-status-btn.warning:hover:not(:disabled){background:#fbbf2433}.bulk-status-btn.critical{background:#ef44441a;color:#dc2626}.bulk-status-btn.critical:hover:not(:disabled){background:#ef444433}.bulk-status-btn.not-inspected{background:#9ca3af1a;color:#6b7280}.bulk-status-btn.not-inspected:hover:not(:disabled){background:#9ca3af33}.annotation-item.bulk-selected{background:#3b82f61a}.bulk-checkbox{display:flex;align-items:center;margin-right:.5rem;color:var(--primary)}.sidebar.sidebar-floating .sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;min-height:0}.sidebar.sidebar-floating .sidebar-content::-webkit-scrollbar{width:6px}.sidebar.sidebar-floating .sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar.sidebar-floating .sidebar-content::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.sidebar.sidebar-floating .sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar-controls .btn-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff26;border:none;border-radius:var(--radius-sm);color:#fff;font-size:1rem;cursor:pointer;transition:background var(--transition-fast)}.sidebar-controls .btn-close:hover{background:#ef4444cc}.sidebar-controls .btn-close svg{width:16px;height:16px}.sidebar-show-btn{position:fixed;top:calc(var(--header-height) + var(--toolbar-height) + 20px);right:20px;z-index:100;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition)}.sidebar-show-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.sidebar-show-btn svg{width:18px;height:18px}.sidebar-resize-handle{position:absolute;bottom:0;left:0;width:20px;height:20px;cursor:sw-resize;background:transparent;z-index:10}.sidebar-resize-handle:before{content:"";position:absolute;bottom:4px;left:4px;width:10px;height:10px;border-left:2px solid var(--border-dark);border-bottom:2px solid var(--border-dark);opacity:.5;transition:opacity var(--transition-fast)}.sidebar-resize-handle:hover:before{opacity:1;border-color:var(--primary)}.sidebar.sidebar-floating.resizing{-webkit-user-select:none;user-select:none}.sidebar.sidebar-floating.resizing .sidebar-content{pointer-events:none}.sidebar-header{padding:1.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-bottom:none}.sidebar-header h2{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:-.02em}.sidebar-header .diagram-name{font-size:.875rem;color:#ffffffd9;margin-top:.375rem;font-weight:500}.selected-annotation-hero{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border-bottom:3px solid var(--status-color, var(--border-color));box-shadow:0 4px 12px #00000014;position:relative}.selected-annotation-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--status-color, var(--primary))}.hero-status-indicator{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--status-color, var(--bg-gray));color:#fff;font-size:1.5rem;flex-shrink:0;box-shadow:0 4px 12px #00000026}.hero-content{flex:1;min-width:0}.hero-kks{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-type{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.hero-type span:first-child{font-size:1rem}.hero-status-badge{padding:.5rem 1rem;background:var(--status-color, var(--bg-gray));color:#fff;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius);flex-shrink:0}.select-annotation-prompt{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;background:linear-gradient(135deg,var(--primary-light) 0%,rgba(99,102,241,.08) 100%);border-bottom:2px solid var(--primary);color:var(--primary-dark);font-size:.9375rem;font-weight:500}.select-annotation-prompt .prompt-icon{font-size:1.25rem;opacity:.8}.sidebar-section{border-bottom:1px solid var(--border-color)}.sidebar-section .section-header{width:100%;display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;margin:0;background:transparent;border:none;color:var(--text-primary);cursor:pointer;font-size:.9375rem;font-weight:600}.sidebar-section .section-header:hover{background:var(--bg-gray)}.annotations-list{max-height:none;overflow-y:auto;padding:.5rem}.annotations-list.accordion-style{padding:.25rem}.accordion-item{margin-bottom:.25rem;border-radius:var(--radius);overflow:hidden;background:var(--bg-light);border:1px solid transparent;transition:all .2s ease}.accordion-item.expanded{border-color:var(--primary);box-shadow:0 2px 8px #6366f126;margin-bottom:.5rem}.accordion-header{display:flex;align-items:center;gap:.5rem;padding:.75rem;cursor:pointer;transition:all .15s ease;background:#fff;border-radius:var(--radius)}.accordion-header:hover{background:var(--bg-gray)}.accordion-header.selected{background:linear-gradient(135deg,var(--primary-light) 0%,rgba(99,102,241,.12) 100%)}.accordion-expand-icon{color:var(--text-muted);font-size:.875rem;display:flex;align-items:center}.accordion-header.selected .accordion-expand-icon{color:var(--primary)}.accordion-content{background:var(--bg-gray);border-top:1px solid var(--border-color);animation:accordionSlideDown .2s ease-out}@keyframes accordionSlideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.accordion-section{border-bottom:1px solid var(--border-color)}.accordion-section:last-child{border-bottom:none}.accordion-section-header{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:#00000008}.accordion-section-header svg{font-size:.875rem}.accordion-section-header .qr-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.accordion-section-header .qr-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.accordion-section-header .qr-btn svg{font-size:1rem}.accordion-content .annotation-details{padding:.75rem;background:transparent}.accordion-content .annotation-details .form-group{margin-bottom:.75rem}.accordion-content .annotation-details .form-group:last-child{margin-bottom:0}.accordion-content .annotation-details .form-group label{font-size:.6875rem;margin-bottom:.25rem}.accordion-content .annotation-details .form-group input,.accordion-content .annotation-details .form-group select,.accordion-content .annotation-details .form-group textarea{padding:.5rem .625rem;font-size:.8125rem}.accordion-content .annotation-details .form-row{gap:.5rem}.accordion-content .inspections-content{padding:.5rem .75rem .75rem}.accordion-content .inspections-list{margin-bottom:.5rem}.accordion-content .inspection-item{padding:.5rem .625rem;margin-bottom:.25rem;font-size:.8125rem}.accordion-content .btn-new-inspection{padding:.5rem .75rem;font-size:.8125rem}.accordion-content .empty-state.compact{padding:.5rem;font-size:.75rem;border:none;background:transparent}.accordion-content .loading-state{padding:.5rem;font-size:.75rem}.annotation-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;border-radius:var(--radius);margin-bottom:.25rem}.annotation-item:hover{background:var(--bg-gray);transform:translate(2px)}.annotation-item.selected{background:linear-gradient(135deg,var(--primary-light) 0%,rgba(99,102,241,.15) 100%);border-left-color:var(--primary);box-shadow:0 2px 8px #6366f126}.annotation-item .type-icon{font-size:1.125rem;width:24px;text-align:center}.status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #fffc}.kks-number{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.kks-number.kks-link{cursor:pointer;transition:color .15s ease}.kks-number.kks-link:hover{color:var(--primary);text-decoration:underline}.status-text{margin-left:auto;font-size:.8125rem;color:var(--text-muted);font-weight:500}.annotation-details{padding:1.5rem;overflow-y:auto;background:var(--bg-light)}.annotation-details .form-group{margin-bottom:1.25rem}.annotation-details .form-group label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.annotation-details .form-group input,.annotation-details .form-group select,.annotation-details .form-group textarea{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius);font-size:.9375rem;transition:all .2s ease}.annotation-details .form-group input:focus,.annotation-details .form-group select:focus,.annotation-details .form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.annotation-details .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.annotation-details .form-meta{display:flex;gap:1rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid var(--border-color)}.annotation-details .form-meta small{font-size:.75rem;color:var(--text-muted)}.inspection-dates-summary{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-light);border-radius:var(--radius-sm);border:1px solid var(--border-color);margin-top:.5rem}.inspection-dates-summary .date-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.inspection-dates-summary .date-item.warning{color:var(--warning)}.inspection-dates-summary .date-icon{font-size:1rem;flex-shrink:0}.inspection-dates-summary .date-icon.ok{color:var(--success)}.inspection-dates-summary .date-label{color:var(--text-muted);font-weight:500}.inspection-dates-summary .date-value{color:var(--text-primary);font-weight:500}.inspection-dates-summary .days-until{margin-left:.35rem;color:var(--text-muted);font-weight:400;font-size:.8rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-light)}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.error-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--danger);color:#fff;padding:.875rem 1.5rem;border-radius:var(--radius);display:flex;align-items:center;gap:1rem;z-index:1000;box-shadow:var(--shadow-lg)}.error-toast button{background:transparent;border:none;color:#fff;font-size:1.25rem;cursor:pointer;opacity:.8;padding:0}.error-toast button:hover{opacity:1}.loading-overlay{position:fixed;inset:0;background:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99}.welcome-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.welcome-content{text-align:center;padding:3rem;background:var(--bg-white);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.welcome-content h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.welcome-content p{color:var(--text-secondary);margin-bottom:1.5rem}.inspection-form-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:2rem}.inspection-form{background:var(--bg-white);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.inspection-form .form-header{display:flex;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-light);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.inspection-form .form-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.inspection-form .header-info{display:flex;gap:.5rem;margin-left:1rem}.inspection-form .kks-badge,.inspection-form .material-badge,.inspection-form .diameter-badge{font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:var(--radius-sm)}.inspection-form .kks-badge{background:var(--primary);color:#fff}.inspection-form .material-badge,.inspection-form .diameter-badge{background:var(--bg-gray);color:var(--text-secondary);border:1px solid var(--border-dark)}.inspection-form .btn-close{margin-left:auto;background:transparent;border:none;padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:all .15s ease}.inspection-form .btn-close:hover{background:var(--bg-gray);color:var(--text-primary)}.inspection-form .btn-close svg{width:20px;height:20px}.inspection-form .form-error{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--danger-light);border-bottom:1px solid #fca5a5;color:var(--danger);font-size:.875rem}.inspection-form .form-error button{background:transparent;border:none;padding:.25rem;cursor:pointer;color:var(--danger)}.inspection-form .form-content{flex:1;overflow-y:auto;padding:0}.inspection-form .form-section{border-bottom:1px solid var(--border-color)}.inspection-form .section-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:transparent;border:none;cursor:pointer;color:var(--text-primary);font-size:.9375rem;font-weight:600;text-align:left;transition:background .15s ease}.inspection-form .section-toggle:hover{background:var(--bg-gray)}.inspection-form .section-toggle svg{width:18px;height:18px;color:var(--text-muted)}.inspection-form .section-content{padding:0 1.5rem 1.5rem}.inspection-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.inspection-form .form-group{margin-bottom:1rem}.inspection-form .form-group:last-child{margin-bottom:0}.inspection-form .form-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.375rem}.inspection-form .form-group input,.inspection-form .form-group select,.inspection-form .form-group textarea{width:100%;padding:.5rem .75rem;background:var(--bg-white);border:1px solid var(--border-dark);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem}.inspection-form .form-group input:focus,.inspection-form .form-group select:focus,.inspection-form .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.checklist-table{border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden}.checklist-header,.checklist-row{display:grid;grid-template-columns:40px 1fr 100px 1fr;gap:.5rem;padding:.625rem .75rem;align-items:center}.checklist-header{background:var(--bg-gray);font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em}.checklist-row{border-top:1px solid var(--border-color);font-size:.875rem}.checklist-row:hover{background:var(--bg-light)}.checklist-row .col-num{font-weight:600;color:var(--text-muted);text-align:center}.checklist-row .col-name{color:var(--text-primary)}.checklist-row select{padding:.375rem .5rem;border:1px solid var(--border-dark);border-radius:var(--radius-sm);font-size:.8125rem;background:var(--bg-white)}.checklist-row input{padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.8125rem;background:var(--bg-white)}.checklist-row input:focus,.checklist-row select:focus{outline:none;border-color:var(--primary)}.checklist-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem;font-size:.75rem;color:var(--text-muted)}.tml-table{border:1px solid var(--border-color);border-radius:var(--radius);overflow-x:auto;margin-bottom:1rem}.tml-header,.tml-row{display:grid;grid-template-columns:50px 80px 60px 60px 60px 60px 70px 80px 40px;gap:.5rem;padding:.5rem;align-items:center;min-width:600px}.tml-header{background:var(--bg-gray);font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.tml-row{border-top:1px solid var(--border-color);font-size:.8125rem}.tml-row span{text-align:center}.tml-row .warning{background:var(--danger-light);color:var(--danger);padding:.125rem .25rem;border-radius:var(--radius-sm);font-weight:600}.tml-row .btn-delete{background:transparent;border:none;padding:.25rem;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm)}.tml-row .btn-delete:hover{color:var(--danger);background:var(--danger-light)}.tml-row .btn-delete svg{width:14px;height:14px}.add-tml-form{background:var(--bg-light);padding:1rem;border-radius:var(--radius);border:1px solid var(--border-color)}.add-tml-form h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.tml-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:.75rem}.tml-form-grid .form-group{margin-bottom:0}.tml-form-grid label{font-size:.6875rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.tml-form-grid input{padding:.375rem .5rem;font-size:.8125rem}.btn-add-tml{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer}.btn-add-tml:hover{background:var(--primary-dark)}.btn-add-tml svg{width:14px;height:14px}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.image-card{border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden;background:var(--bg-white)}.image-card img{width:100%;height:100px;object-fit:cover}.image-card .image-info{padding:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.75rem}.image-card .image-number{font-weight:600;color:var(--text-muted)}.image-card .image-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.image-card .btn-delete{background:transparent;border:none;padding:.25rem;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm)}.image-card .btn-delete:hover{color:var(--danger);background:var(--danger-light)}.image-card .btn-delete svg{width:14px;height:14px}.upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--bg-white);border:1px dashed var(--border-dark);border-radius:var(--radius);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .15s ease}.upload-button:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.upload-button svg{width:18px;height:18px}.info-message{font-size:.875rem;color:var(--text-muted);font-style:italic;padding:.5rem 0}.inspection-form .form-actions{display:flex;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-light);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.inspection-form .btn-cancel{padding:.625rem 1.25rem;background:var(--bg-white);border:1px solid var(--border-dark);border-radius:var(--radius);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.inspection-form .btn-cancel:hover{background:var(--bg-gray);color:var(--text-primary)}.inspection-form .btn-export{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--primary);border:none;border-radius:var(--radius);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.inspection-form .btn-export:hover{background:var(--primary-dark)}.inspection-form .btn-export:disabled{opacity:.6;cursor:not-allowed}.inspection-form .btn-export svg{width:16px;height:16px}.inspection-form .btn-save{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:var(--success);border:none;border-radius:var(--radius);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;margin-left:auto}.inspection-form .btn-save:hover{background:#15803d}.inspection-form .btn-save:disabled{opacity:.6;cursor:not-allowed}.inspection-form .btn-save svg{width:16px;height:16px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary)}.inspections-section{margin-top:0;flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,#f0fdf4,#dcfce7);border-top:3px solid var(--success)}.inspections-section .section-header{background:#22c55e1a}.inspections-section .section-header svg{color:var(--success)}.inspections-content{flex:1;display:flex;flex-direction:column;padding-bottom:1rem}.inspections-list{max-height:240px;overflow-y:auto;padding:.5rem}.inspection-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;border-radius:var(--radius);margin-bottom:.25rem;background:#ffffffb3}.inspection-item:hover{background:#ffffffe6;transform:translate(2px);box-shadow:0 2px 8px #00000014}.inspection-item .inspection-info{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.inspection-item .inspection-title{font-size:.875rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-item .inspection-date-small{font-size:.75rem;color:var(--text-muted)}.inspection-item .inspection-date{font-size:.875rem;font-weight:600;color:var(--text-primary)}.inspection-item .inspection-status{margin-left:auto;font-size:.75rem;font-weight:600;text-transform:uppercase;padding:.375rem .75rem;border-radius:var(--radius);letter-spacing:.02em}.inspection-item .inspection-status.approved{background:var(--success);color:#fff}.inspection-item .inspection-status.conditional{background:var(--warning);color:#fff}.inspection-item .inspection-status.rejected{background:var(--danger);color:#fff}.inspection-item .inspection-status.pending{background:var(--text-muted);color:#fff}.btn-new-inspection{display:flex;align-items:center;justify-content:center;gap:.75rem;width:calc(100% - 3rem);padding:1rem 1.5rem;margin:1rem 1.5rem;background:linear-gradient(135deg,var(--success) 0%,#16a34a 100%);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #22c55e4d}.btn-new-inspection:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 6px 16px #22c55e66}.btn-new-inspection svg{width:16px;height:16px}.documents-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.document-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius);transition:all .15s ease}.document-item:hover{background:var(--bg-gray);border-color:var(--border-dark)}.document-item .document-icon{width:24px;height:24px;color:var(--danger);flex-shrink:0}.document-item .document-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.document-item .document-name{display:flex;align-items:center;font-size:.875rem;font-weight:500;color:var(--primary);text-decoration:none;word-break:break-word}.document-item .document-name:hover{text-decoration:underline}.document-item .document-date{font-size:.75rem;color:var(--text-muted)}.document-item .btn-delete{background:transparent;border:none;padding:.375rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:all .15s ease;flex-shrink:0}.document-item .btn-delete:hover{background:var(--danger-light);color:var(--danger)}.isolation-sidebar{background:linear-gradient(180deg,var(--bg-white) 0%,#f8fafc 100%);display:flex;flex-direction:column;overflow:hidden;box-shadow:-4px 0 20px #0000000d}.isolation-sidebar.sidebar-floating{width:380px;height:600px}.isolation-sidebar .sidebar-drag-header{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.isolation-sidebar .sidebar-drag-header h2{display:flex;align-items:center;margin:0;font-size:1rem}.isolation-sidebar .sidebar-controls .lock-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff26;border:none;border-radius:var(--radius-sm);color:#fff;font-size:1rem;cursor:pointer;transition:background var(--transition-fast)}.isolation-sidebar .sidebar-controls .lock-toggle:hover{background:#ffffff40}.isolation-sidebar .sidebar-controls .lock-toggle.unlocked{background:#22c55ecc}.isolation-sidebar .sidebar-controls .lock-toggle:disabled{opacity:.5;cursor:not-allowed}.isolation-show-btn{position:fixed;top:calc(var(--header-height) + var(--toolbar-height) + 20px);right:20px;z-index:100;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition)}.isolation-show-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.isolation-show-btn svg{width:18px;height:18px}.isolation-plans-list{padding:.5rem;max-height:250px;overflow-y:auto}.isolation-plan-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;border-radius:var(--radius);margin-bottom:.25rem}.isolation-plan-item:hover{background:var(--bg-gray);transform:translate(2px)}.isolation-plan-item.selected{background:linear-gradient(135deg,var(--primary-light) 0%,rgba(99,102,241,.15) 100%);border-left-color:var(--primary);box-shadow:0 2px 8px #6366f126}.isolation-plan-item .plan-status-icon{font-size:1.25rem;width:28px;text-align:center;flex-shrink:0}.isolation-plan-item .plan-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.isolation-plan-item .plan-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.isolation-plan-item .plan-status{font-size:.75rem;font-weight:500}.isolation-plan-item .plan-point-count{font-size:.8125rem;font-weight:600;color:var(--text-muted);background:var(--bg-gray);padding:.25rem .5rem;border-radius:var(--radius-sm)}.btn-new-plan{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;margin-top:.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:var(--radius);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6366f140}.btn-new-plan:hover{transform:translateY(-2px);box-shadow:0 4px 16px #6366f159}.btn-new-plan svg{width:20px;height:20px}.plan-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-light);border-bottom:1px solid var(--border-color)}.plan-status-badge{padding:.375rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm)}.plan-action-buttons{display:flex;gap:.5rem}.plan-action-buttons .btn-icon-small.success{color:var(--success)}.plan-action-buttons .btn-icon-small.success:hover{background:var(--success-light)}.plan-action-buttons .btn-icon-small.danger{color:var(--danger)}.plan-action-buttons .btn-icon-small.danger:hover{background:var(--danger-light)}.isolation-points-list{padding:.5rem;max-height:300px;overflow-y:auto}.isolation-point-item{display:flex;align-items:center;gap:.5rem;padding:.75rem .875rem;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;border-radius:var(--radius);margin-bottom:.25rem;background:var(--bg-white);box-shadow:var(--shadow-sm)}.isolation-point-item:hover{background:var(--bg-gray);transform:translate(2px)}.isolation-point-item.selected{background:linear-gradient(135deg,var(--primary-light) 0%,rgba(99,102,241,.15) 100%);border-left-color:var(--primary);box-shadow:0 2px 8px #6366f126}.isolation-point-item .point-sequence{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-dark);color:var(--text-secondary);font-size:.75rem;font-weight:700;border-radius:50%;flex-shrink:0}.isolation-point-item .point-type-icon{font-size:1.25rem;width:24px;text-align:center;flex-shrink:0}.isolation-point-item .point-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.isolation-point-item .point-tag{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.isolation-point-item .point-type{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.isolation-point-item .point-status-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#fff;font-size:.875rem;border-radius:50%;flex-shrink:0}.btn-add-point{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;margin-top:.5rem;background:transparent;color:var(--primary);border:2px dashed var(--primary);border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-point:hover{background:var(--primary-light)}.btn-add-point svg{width:18px;height:18px}.isolation-point-details{padding:1rem;background:var(--bg-light)}.point-detail-header{display:flex;gap:.5rem;margin-bottom:1rem}.point-type-badge,.point-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-sm)}.point-detail-row{margin-bottom:.75rem}.point-detail-row label{display:block;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}.point-detail-row span{display:block;font-size:.9375rem;color:var(--text-primary)}.point-action-buttons{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-point-action{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;border:none;border-radius:var(--radius);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#fff}.btn-point-action svg{width:18px;height:18px}.btn-point-action.isolate{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b40}.btn-point-action.isolate:hover{transform:translateY(-2px);box-shadow:0 4px 16px #f59e0b59}.btn-point-action.verify{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px #22c55e40}.btn-point-action.verify:hover{transform:translateY(-2px);box-shadow:0 4px 16px #22c55e59}.btn-point-action.restore{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f640}.btn-point-action.restore:hover{transform:translateY(-2px);box-shadow:0 4px 16px #3b82f659}.point-history{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.point-history>label{display:block;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.history-entry{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-white);border-radius:var(--radius-sm);margin-bottom:.375rem;font-size:.8125rem}.history-entry svg{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.history-entry span{flex:1;color:var(--text-secondary)}.history-entry small{color:var(--text-muted);font-size:.75rem}.btn-delete-point{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem;margin-top:1rem;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-delete-point:hover{background:var(--danger-light)}.btn-delete-point svg{width:16px;height:16px}.isolation-modal h2 svg{color:var(--primary)}.sikringsplaner-page{min-height:100vh;background:var(--bg-gradient)}.sikringsplaner-page .page-header{display:flex;align-items:center;gap:1.5rem;padding:1.25rem 2rem;background:var(--bg-white);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.sikringsplaner-page .header-title{display:flex;align-items:center;gap:.75rem;flex:1}.sikringsplaner-page .header-icon{width:32px;height:32px;color:var(--primary)}.sikringsplaner-page .header-title h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.sikringsplaner-page .header-subtitle{font-size:.875rem;color:var(--text-muted);padding:.25rem .75rem;background:var(--bg-gray);border-radius:var(--radius-sm)}.sikringsplaner-page .page-content{padding:2rem;max-width:1400px;margin:0 auto}.sikringsplaner-stats{display:flex;gap:1rem;margin-bottom:2rem}.sikringsplaner-stats .stat-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:1.25rem;background:var(--bg-white);border-radius:var(--radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.sikringsplaner-stats .stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.sikringsplaner-stats .stat-label{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.sikringsplaner-stats .stat-card.active .stat-value{color:#22c55e}.sikringsplaner-stats .stat-card.approved .stat-value{color:#3b82f6}.sikringsplaner-stats .stat-card.draft .stat-value{color:#f59e0b}.sikringsplaner-stats .stat-card.completed .stat-value{color:#8b5cf6}.sikringsplaner-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.375rem;background:var(--bg-white);border-radius:var(--radius);border:1px solid var(--border-color);width:fit-content}.filter-btn{padding:.625rem 1.25rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:var(--bg-gray);color:var(--text-primary)}.filter-btn.active{background:var(--primary);color:#fff}.sikringsplaner-list{display:flex;flex-direction:column;gap:1rem}.sikringsplan-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.25rem 1.5rem;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.sikringsplan-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.plan-card-main{display:flex;align-items:flex-start;gap:1.25rem}.sikringsplan-card .plan-status-indicator{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;color:#fff;font-size:1.25rem;flex-shrink:0}.plan-card-content{flex:1;min-width:0}.plan-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.plan-card-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.sikringsplan-card .plan-status-badge{padding:.25rem .75rem;color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm)}.sikringsplan-card .plan-description{color:var(--text-secondary);font-size:.9375rem;margin-bottom:.75rem}.plan-meta-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.meta-item{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-muted)}.meta-item svg{width:14px;height:14px}.meta-item.equipment{padding:.125rem .5rem;background:#6366f11a;color:var(--primary);font-weight:600;border-radius:var(--radius-sm)}.meta-item.work-order{padding:.125rem .5rem;background:var(--bg-gray);font-weight:500;border-radius:var(--radius-sm)}.plan-card-right{display:flex;align-items:center;gap:1.5rem}.plan-progress-info{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.plan-progress-info .progress-count{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.plan-progress-info .progress-label{font-size:.75rem;color:var(--text-muted)}.progress-bar-mini{width:80px;height:6px;background:var(--bg-gray);border-radius:3px;overflow:hidden;margin-top:.25rem}.progress-bar-mini .progress-fill{height:100%;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:3px;transition:width .3s ease}.card-arrow{width:24px;height:24px;color:var(--text-muted);transition:all .2s ease}.sikringsplan-card:hover .card-arrow{color:var(--primary);transform:translate(4px)}.sikringsplaner-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--bg-white);border:2px dashed var(--border-color);border-radius:var(--radius);text-align:center}.sikringsplaner-page .empty-icon{width:64px;height:64px;color:var(--text-muted);opacity:.5;margin-bottom:1rem}.sikringsplaner-page .empty-state h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.sikringsplaner-page .empty-state p{color:var(--text-muted);margin-bottom:1.5rem}@media(max-width:768px){.sikringsplaner-stats{flex-wrap:wrap}.sikringsplaner-stats .stat-card{flex:1 1 calc(50% - .5rem);min-width:120px}.plan-card-main{flex-wrap:wrap}.plan-card-right{width:100%;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}}.diagram-select-modal{max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column}.diagram-select-modal .modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:1.5rem}.diagram-filters{display:flex;gap:1rem;margin-bottom:1rem}.search-input-wrapper{flex:1;position:relative}.search-input-wrapper .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-input-wrapper .search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--input-bg);color:var(--text-primary);font-size:.95rem}.search-input-wrapper .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.terminal-select{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--input-bg);color:var(--text-primary);font-size:.95rem;min-width:180px;cursor:pointer}.terminal-select:focus{outline:none;border-color:var(--primary-color)}.modal-loading,.modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.modal-loading .spinner{margin-bottom:1rem}.modal-empty .empty-icon{font-size:2.5rem;opacity:.5;margin-bottom:.75rem}.diagram-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.diagram-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;text-align:left;transition:all .2s ease;width:100%}.diagram-list-item:hover{background:var(--bg-tertiary);border-color:var(--primary-color);transform:translate(2px)}.diagram-list-item .diagram-icon{font-size:1.25rem;color:var(--primary-color);flex-shrink:0}.diagram-list-item .diagram-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.diagram-list-item .diagram-name{font-weight:500;color:var(--text-primary)}.diagram-list-item .diagram-location{font-size:.85rem;color:var(--text-muted)}.diagram-list-item .diagram-arrow{font-size:1.25rem;color:var(--text-muted);flex-shrink:0}@media(max-width:600px){.diagram-filters{flex-direction:column}.terminal-select{width:100%}}.step-select-modal{max-width:550px;width:90%;max-height:80vh;display:flex;flex-direction:column}.step-select-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.step-select-modal .modal-header-left{display:flex;align-items:center;gap:.75rem}.step-select-modal .modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.btn-back-modal{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:var(--bg-secondary);border-radius:.375rem;cursor:pointer;color:var(--text-primary);transition:background .2s}.btn-back-modal:hover{background:var(--bg-tertiary)}.modal-breadcrumb{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:.85rem;color:var(--text-muted);flex-wrap:wrap}.modal-breadcrumb span{white-space:nowrap}.modal-breadcrumb span.active{color:var(--primary-color);font-weight:500}.modal-breadcrumb span.completed{color:var(--text-primary)}.modal-breadcrumb svg{font-size:.75rem;flex-shrink:0}.step-select-modal .modal-body{flex:1;overflow-y:auto;padding:1rem}.selection-list{display:flex;flex-direction:column;gap:.5rem}.selection-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;text-align:left;width:100%;transition:all .2s ease}.selection-item:hover{background:var(--bg-secondary);border-color:var(--primary-color);transform:translate(4px)}.selection-item .item-icon{font-size:1.5rem;color:var(--primary-color);flex-shrink:0}.selection-item .item-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.selection-item .item-code{font-size:.8rem;font-weight:600;color:var(--primary-color);text-transform:uppercase;letter-spacing:.5px}.selection-item .item-name{font-weight:500;color:var(--text-primary)}.selection-item .item-description{font-size:.85rem;color:var(--text-muted)}.selection-item .item-count{font-size:.8rem;color:var(--text-muted)}.selection-item .item-arrow{font-size:1.25rem;color:var(--text-muted);flex-shrink:0;transition:transform .2s}.selection-item:hover .item-arrow{transform:translate(4px);color:var(--primary-color)}.isolation-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between}.lock-toggle{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.lock-toggle.locked{background:var(--bg-tertiary);color:var(--text-muted)}.lock-toggle.unlocked{background:#22c55e26;color:#22c55e}.lock-toggle:hover:not(:disabled){transform:scale(1.05)}.lock-toggle:disabled{opacity:.5;cursor:not-allowed}.tools-section{border-bottom:1px solid var(--border-color);padding-bottom:.75rem}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.5rem}.tool-button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--bg-primary);cursor:pointer;transition:all .2s ease;font-size:1.25rem;color:var(--text-muted)}.tool-button .tool-label{font-size:.65rem;text-align:center;line-height:1.2}.tool-button:hover:not(.disabled){border-color:var(--tool-color, var(--primary-color));color:var(--tool-color, var(--primary-color));background:#3b82f60d}.tool-button.active{border-color:var(--tool-color, var(--primary-color));background:var(--tool-color, var(--primary-color));color:#fff}.tool-button.disabled{opacity:.5;cursor:not-allowed}.tool-hint{padding:.5rem .75rem;margin:.5rem;background:#3b82f61a;border-radius:.375rem;font-size:.8rem;color:var(--primary-color);text-align:center}.isolation-plans-list{display:flex;flex-direction:column;gap:.25rem;padding:.5rem}.isolation-plan-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.5rem;cursor:pointer;transition:background .2s;border:1px solid transparent}.isolation-plan-item:hover{background:var(--bg-secondary)}.isolation-plan-item.selected{background:#3b82f61a;border-color:var(--primary-color)}.isolation-plan-item .plan-status-icon{font-size:1.25rem}.isolation-plan-item .plan-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.isolation-plan-item .plan-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.isolation-plan-item .plan-status{font-size:.75rem}.isolation-plan-item .plan-point-count{font-size:.8rem;font-weight:500;color:var(--text-muted);background:var(--bg-tertiary);padding:.125rem .5rem;border-radius:1rem}.btn-new-plan{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:1px dashed var(--border-color);border-radius:.5rem;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s;margin-top:.25rem}.btn-new-plan:hover{border-color:var(--primary-color);color:var(--primary-color);background:#3b82f60d}.plan-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.plan-status-badge{font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:1rem}.plan-action-buttons{display:flex;gap:.25rem}.btn-icon-small{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:.375rem;background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;transition:all .2s}.btn-icon-small:hover{background:var(--bg-primary);color:var(--text-primary)}.btn-icon-small.success:hover{background:#22c55e26;color:#22c55e}.btn-icon-small.danger:hover{background:#ef444426;color:#ef4444}.isolation-points-list{display:flex;flex-direction:column;gap:.25rem;padding:.5rem}.isolation-point-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:.375rem;cursor:pointer;transition:background .2s;border:1px solid transparent}.isolation-point-item:hover{background:var(--bg-secondary)}.isolation-point-item.selected{background:#3b82f61a;border-color:var(--primary-color)}.isolation-point-item .point-sequence{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;font-size:.75rem;font-weight:600;color:#fff;flex-shrink:0}.isolation-point-item .point-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.isolation-point-item .point-tag{font-weight:500;font-size:.85rem;color:var(--text-primary)}.isolation-point-item .point-type{font-size:.7rem;color:var(--text-muted)}.isolation-point-item .point-status-indicator{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;color:#fff;font-size:.75rem}.isolation-point-details{padding:.75rem}.point-detail-header{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.point-type-badge,.point-status-badge{font-size:.7rem;font-weight:500;padding:.25rem .5rem;border-radius:.25rem}.point-detail-row{display:flex;flex-direction:column;gap:.125rem;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.point-detail-row label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.point-detail-row span{font-size:.85rem;color:var(--text-primary)}.point-action-buttons{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.btn-point-action{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-point-action.isolate{background:#3b82f626;color:#3b82f6}.btn-point-action.isolate:hover{background:#3b82f6;color:#fff}.btn-point-action.verify{background:#22c55e26;color:#22c55e}.btn-point-action.verify:hover{background:#22c55e;color:#fff}.btn-point-action.restore{background:#f9731626;color:#f97316}.btn-point-action.restore:hover{background:#f97316;color:#fff}.point-history{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.point-history label{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.history-entry{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.8rem;color:var(--text-secondary)}.history-entry svg{font-size:.875rem;color:var(--text-muted)}.history-entry small{color:var(--text-muted);margin-left:auto}.btn-delete-point{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem;margin-top:.75rem;border:1px solid rgba(239,68,68,.3);border-radius:.375rem;background:transparent;color:#ef4444;cursor:pointer;transition:all .2s}.btn-delete-point:hover{background:#ef44441a}.isolation-layer{position:absolute;top:0;left:0;z-index:3;pointer-events:auto}.isolation-canvas{display:block}.isolation-modal h2{display:flex;align-items:center;gap:.5rem}.isolation-modal h2 svg{color:var(--primary-color)}
