:root{--bg: #0b1220;--bg-elevated: #0f182c;--bg-subtle: #0d1526;--bg-chip: #17223a;--border-subtle: #17223a;--border-strong: #203052;--text-main: #e6edf3;--text-muted: #9ca3af;--text-soft: #88a;--accent: #facc15;--accent-soft: #7cb2ff;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-soft: 0 10px 25px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;min-height:100%;background-color:var(--bg)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:url(/apipday.png) center/cover no-repeat fixed;background-color:var(--bg);color:var(--text-main)}#root{background-color:var(--bg);min-height:100vh;min-width:100%}.page{max-width:1200px;margin:0 auto;padding:16px}a{color:var(--accent-soft);text-decoration:none}a:hover{text-decoration:underline}select,input,button,textarea{background:var(--bg-subtle);color:var(--text-main);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:8px;font:inherit}button{cursor:pointer}header,.toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}header{padding:12px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);position:sticky;top:0;z-index:10}.tabs{display:flex;gap:.5rem;padding:8px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);position:sticky;top:56px;z-index:9}.tab{padding:8px 12px;border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border-strong);font-size:.9rem;color:var(--text-muted)}.tab--active{border-color:var(--accent-soft);color:var(--text-main)}.container{padding:16px}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.p-2{padding:.5rem}.p-4{padding:1rem}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.card{background:var(--bg-subtle);border-radius:var(--radius-lg);border:1px solid var(--border-strong);padding:16px;box-shadow:var(--shadow-soft)}.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.kpi .card{padding:16px}.grid{width:100%;border-collapse:collapse}.grid th,.grid td{border-bottom:1px solid var(--border-subtle);padding:8px 6px;text-align:left;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:8px 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text-main);font-size:.9rem;font-weight:500;transition:background .15s ease,border-color .15s ease,transform .05s ease}.btn:hover{border-color:var(--accent-soft);transform:translateY(-1px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#111827}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{border-color:var(--border-strong);background:#0f182ccc}.bubbles{display:flex;flex-wrap:wrap;gap:8px}.bubble{padding:10px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-chip);font-size:.85rem}.bubble.complete{background:#0e3a1a}.bubble.available{background:#3a300e}.bubble.inwork{background:#0e283a}.bubble.differ{background:#3a0e0e}.bubble.idle{background:#1f2838}.bubble.deleted{text-decoration:line-through;color:#ff9b9b;border-color:#703232}.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.75rem;border:1px solid var(--border-strong);background:#0f182ce6;color:var(--text-muted)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:40}.modal .panel{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);max-width:720px;width:100%;padding:16px;box-shadow:var(--shadow-soft)}footer{padding:16px;border-top:1px solid var(--border-subtle);text-align:center;color:var(--text-soft);opacity:.8;font-size:.85rem}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.form-container{max-width:480px;width:100%;background:#fff;padding:24px;border-radius:8px;box-shadow:0 4px 12px #00000026;color:#111}.form-container h2{margin-bottom:16px}.form-container form{display:grid;gap:12px}.form-container label{display:block;font-weight:600;font-size:.9rem}.form-container input{width:100%;margin-top:4px;padding:8px;border:1px solid #ccc;border-radius:4px;font:inherit}.form-container button{margin-top:8px;padding:10px 20px;background-color:#005f99;color:#fff;border:none;border-radius:4px;cursor:pointer}.form-container button:disabled{background-color:#888;cursor:not-allowed}.login-footer{margin-top:16px;font-size:.8rem;text-align:center;color:#555}.visual-root{display:flex;flex-direction:column;gap:12px}.visual-layout{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch}.visual-3d{height:700px;background:var(--bg-elevated, #0f182c);border-radius:8px;border:1px solid var(--border-subtle, #17223a);overflow:hidden}.cabin-map{position:relative;background:var(--bg-elevated, #0f182c);border-radius:8px;border:1px solid var(--border-subtle, #17223a);padding:8px}.cabin-map img{width:100%;display:block;border-radius:4px}.cabin-pin{position:absolute;transform:translate(-50%,-50%);background:var(--accent-soft, #7cb2ff);color:#fff;font-size:11px;padding:3px 6px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.4)}.cabin-pin.mandatory{background:#ff3b30;box-shadow:0 0 10px #ff3b30}.visual-list{padding:12px}.visual-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.visual-list .table{display:flex;flex-direction:column;gap:4px}.visual-list .table-header,.visual-list .table-row{display:grid;grid-template-columns:1.2fr .8fr .9fr 4fr;gap:8px;padding:6px 8px;border-radius:4px}.visual-list .table-header{background:var(--bg-subtle, #0d1526);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.visual-list .table-row{background:#0f182cb3;font-size:13px}.visual-list .table-row.empty{border:1px dashed var(--border-subtle, #17223a);background:transparent}.visual-mode-toggle{display:flex;gap:8px;margin-bottom:8px}.visual-mode-toggle .chip{padding:4px 10px;font-size:13px;border-radius:999px;border:1px solid var(--border-subtle, #17223a);background:transparent;cursor:pointer}.visual-mode-toggle .chip-active{background:var(--accent-soft, #7cb2ff);color:#fff;border-color:transparent}.visual-3d{position:relative}.model-credit{position:absolute;bottom:8px;right:12px;color:#ffffffb3;font-size:11px;pointer-events:none;-webkit-user-select:none;user-select:none}.cabin-map-wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:6px}.cabin-map{position:relative;width:100%;aspect-ratio:8 / 1;background-repeat:no-repeat;background-size:100% 100%;background-position:center;border-radius:8px;overflow:hidden}.cabin-zone{position:absolute;cursor:pointer;border-radius:4px;background:#0080ff14;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,transform .12s ease}.cabin-zone-has-findings{background:#0080ff2e}.cabin-zone-hover{border-color:#0080ffe6;background:#0080ff3d;transform:translateY(-1px)}.cabin-zone-badge{position:absolute;top:2px;right:2px;min-width:18px;padding:1px 5px;border-radius:999px;font-size:10px;line-height:1.1;text-align:center;color:#fff;background:#000000a6}.cabin-map-legend{font-size:12px;color:#fffc}
