.landing{position:relative;min-height:100vh;overflow:hidden;padding:28px 38px 24px;background:linear-gradient(180deg,#eff8ff47,#fff3 46%,#ffffff85),url(/background.avif) center / cover no-repeat,#f7fbff;color:#08214a}.landing-sky{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cloud{position:absolute;opacity:.72}.cloud{width:260px;height:130px;border-radius:999px;background:radial-gradient(circle at 28% 46%,rgba(255,255,255,.98) 0 34%,transparent 35%),radial-gradient(circle at 55% 32%,rgba(255,255,255,.95) 0 38%,transparent 39%),radial-gradient(circle at 75% 56%,rgba(255,255,255,.9) 0 30%,transparent 31%);filter:blur(.5px)}.cloud-left{top:94px;left:-42px}.cloud-right{top:124px;right:-36px}.landing-panel{position:relative;z-index:1;width:min(1460px,100%);min-height:calc(100vh - 52px);margin:0 auto;display:flex;flex-direction:column;align-items:center}.landing-topbar{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px}.flysafair-logo{width:174px;height:auto;object-fit:contain}.trust-mark,.landing-footer{display:inline-flex;align-items:center;gap:10px;color:#425574;font-weight:700}.trust-mark svg,.landing-footer svg{color:#147bd1;fill:#147bd11f}.brand-mark{position:relative;display:grid;place-items:center;width:104px;height:104px;margin:12px 0;color:#147bd1;background:#ffffffdb;border:1px solid rgba(173,211,246,.8);border-radius:999px;box-shadow:0 18px 38px #0a427e1a}.brand-mark:before,.brand-mark:after{content:"";position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;border:1px solid rgba(147,197,253,.36);border-radius:inherit}.brand-mark:after{top:-28px;right:-28px;bottom:-28px;left:-28px;border-style:dashed;opacity:.55}.flight-path{position:absolute;top:106px;left:50%;width:360px;height:90px;border-top:2px dashed rgba(37,137,218,.28);border-radius:50%;transform:translate(40px) rotate(3deg)}.flight-path:after{content:"";position:absolute;top:-42px;right:0;width:78px;height:58px;background:#147bd12e;clip-path:polygon(4% 50%,100% 30%,76% 52%,100% 76%);transform:rotate(-18deg)}.landing h1{margin:0;font-size:clamp(42px,5vw,74px);line-height:.98;letter-spacing:0;color:#08285c;text-align:center}.subtitle{margin:10px 0 0;color:#567096;font-size:clamp(22px,2vw,32px);font-weight:700;text-align:center}.landing-copy{width:min(760px,100%);margin:14px auto 30px;color:#4b5f81;font-size:18px;line-height:1.55;text-align:center}.role-grid{width:min(980px,100%);display:grid;grid-template-columns:1fr 1fr;gap:28px}.role-card{min-height:226px;display:grid;grid-template-columns:104px 1fr;grid-template-rows:1fr auto;gap:18px 24px;align-items:center;text-align:left;color:#09285c;background:#ffffffe8;border:1px solid rgba(191,211,232,.9);border-top:4px solid #1685df;border-radius:8px;padding:28px 34px 22px;box-shadow:0 20px 46px #1240701c}.role-card:hover{transform:translateY(-2px);box-shadow:0 24px 56px #12407029}.role-icon,.feature-icon{display:grid;place-items:center;color:#147bd1;background:linear-gradient(180deg,#edf6ff,#dceeff)}.role-icon{width:104px;height:104px;border-radius:999px}.role-content{display:flex;flex-direction:column;gap:14px}.role-content strong{font-size:23px}.role-content span{color:#445b80;font-size:18px;line-height:1.5}.role-action{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;gap:14px;padding-top:22px;border-top:1px solid rgba(190,208,229,.86);color:#0875ce;font-size:17px;font-weight:800}.feature-strip{width:min(1240px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:32px;padding:18px 26px;background:#ffffffb8;border:1px solid rgba(199,216,234,.9);border-radius:8px;box-shadow:0 18px 42px #12407014}.feature-pill{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:center;padding:4px 24px;border-right:1px solid rgba(199,216,234,.9)}.feature-pill:last-child{border-right:0}.feature-icon{width:58px;height:58px;border-radius:14px}.feature-pill span:last-child{display:flex;flex-direction:column;gap:7px}.feature-pill strong{color:#08285c;font-size:15px}.feature-pill small,.landing-footer small{color:#445b80;line-height:1.42}.landing-footer{margin-top:auto;padding-top:28px;text-align:center}.landing-footer span{display:flex;flex-direction:column;gap:6px}@media(max-width:1060px){.landing{padding:28px 22px}.role-grid,.feature-strip{width:min(760px,100%);grid-template-columns:1fr}.feature-pill{border-right:0;border-bottom:1px solid rgba(199,216,234,.9);padding:18px 4px}.feature-pill:last-child{border-bottom:0}}@media(max-width:640px){.landing{padding:20px 14px}.landing-topbar{align-items:flex-start;flex-direction:column}.flysafair-logo{width:142px}.trust-mark{font-size:13px}.brand-mark{width:88px;height:88px;margin-top:14px}.flight-path{display:none}.landing-copy{font-size:16px;margin-bottom:26px}.role-card{grid-template-columns:74px 1fr;min-height:0;padding:24px 20px 20px}.role-icon{width:74px;height:74px}.role-content strong{font-size:19px}.role-content span{font-size:15px}.feature-strip{margin-top:26px;padding:10px 18px}.landing-footer{padding-top:26px}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(440px,100%);display:flex;flex-direction:column;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px}.auth-card h1{margin:4px 0 0}.auth-card p{color:var(--muted);margin:0 0 10px}.auth-card label{color:var(--muted);font-size:13px;font-weight:700}.error-box{color:var(--red);background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;padding:10px}.app-shell{min-height:100vh;background:var(--bg)}.app-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;background:#fffffff5;border-bottom:1px solid var(--line);box-shadow:0 1px 12px #1720330f}.app-header h1{margin:0;font-size:17px;letter-spacing:0}.app-header p{margin:3px 0 0;color:var(--muted);font-size:13px}.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.app-main{padding:20px;max-width:1180px;margin:0 auto}@media(max-width:720px){.app-header{align-items:flex-start;flex-direction:column}.app-main{padding:14px}}.tabs,.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.tabs button,.chip{background:var(--panel);color:var(--muted);border:1px solid var(--line)}.tabs button.active,.chip.selected{color:var(--accent);border-color:var(--accent);background:#e0f2fe}.stack{display:flex;flex-direction:column;gap:10px}.stack h2{font-size:13px;color:var(--muted);text-transform:uppercase}.session-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.session-row div{display:flex;flex-direction:column;gap:4px}.session-row span{color:var(--muted)}.muted-row{opacity:.7}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:860px}.form-grid label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-weight:700}.wide{grid-column:1 / -1}.label{display:block;margin-bottom:8px;color:var(--muted);font-weight:700}@media(max-width:720px){.form-grid{grid-template-columns:1fr}}.issue-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.issue-card.is-resolved{opacity:.62}.issue-card__top,.issue-card__footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.issue-card__pills{display:flex;flex-wrap:wrap;gap:6px}.issue-card p{margin:10px 0 4px;line-height:1.55;color:var(--text)}.issue-card small,.issue-time{color:var(--muted)}.resolved{color:var(--green);font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#0f172a61}.thread-panel{width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px}.thread-panel__header,.thread-input{display:flex;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.thread-panel__header h2{margin:10px 0 4px}.thread-panel__header p{margin:0;color:var(--muted)}.thread-details,.thread-messages{padding:16px;border-bottom:1px solid var(--line)}.thread-details h3{font-size:12px;text-transform:uppercase;color:var(--muted)}.message{border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px;background:var(--panel-strong)}.message.admin{border-color:#7dd3fc}.message p{margin:5px 0 0}.thread-input{align-items:flex-end;border-bottom:0}.thread-input textarea{min-height:74px}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.stats-grid div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.stats-grid strong{display:block;font-size:30px}.stats-grid span,.muted-text{color:var(--muted)}.issue-list,.panel-stack{display:flex;flex-direction:column;gap:12px}.issue-form{display:grid;grid-template-columns:1fr auto;gap:10px}.note,.output-box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.note p{margin:6px 0 0}.large-textarea{min-height:260px}.output-box{white-space:pre-wrap;line-height:1.6;color:var(--text)}@media(max-width:820px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.issue-form{grid-template-columns:1fr}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f5f7fb;--bg: #f5f7fb;--panel: #ffffff;--panel-strong: #eef3f8;--line: #d7e0ea;--text: #172033;--muted: #52657a;--accent: #0369a1;--accent-strong: #075985;--green: #047857;--yellow: #a16207;--orange: #c2410c;--red: #be123c;--focus: rgba(3, 105, 161, .24)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{border:0;border-radius:8px;padding:10px 14px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));cursor:pointer;font-weight:700}button:disabled{cursor:not-allowed;opacity:.55}.secondary{background:var(--panel-strong);border:1px solid var(--line);color:var(--text)}.danger-button{background:#fff1f2;border:1px solid #fecdd3;color:var(--red)}.small{padding:6px 10px;font-size:13px}.link-button{padding:0;background:transparent;color:var(--accent);border:0}input,select,textarea{width:100%;background:#fff;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}textarea{resize:vertical}.pill,.severity{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;border:1px solid var(--line)}.pill.muted{color:var(--muted)}.pill.danger{color:var(--red);border-color:#fecdd3;background:#fff1f2}.severity-critical{color:var(--red);background:#fff1f2;border-color:#fecdd3}.severity-high{color:var(--orange);background:#fff7ed;border-color:#fed7aa}.severity-medium{color:var(--yellow);background:#fefce8;border-color:#fde68a}.severity-low{color:var(--green);background:#ecfdf5;border-color:#a7f3d0}.empty{color:var(--muted)}
