@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17243a;--muted:#7c8798;--line:#e7ebf0;--bg:#f5f7fa;--navy:#101a2b;--blue:#5276a8;--teal:#5da89e;--amber:#d99b45;--red:#c96b65;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--navy);color:#dce4ef;padding:27px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;color:white;text-decoration:none;padding:0 8px 43px}.brand-mark{width:37px;height:37px;border:1px solid #91a9c8;border-radius:11px;display:grid;place-items:center;font:800 21px Manrope;color:#d7e7f7}.brand b{font:800 16px Manrope;letter-spacing:2px;display:block}.brand small{font-size:8px;letter-spacing:2px;color:#93a3b8;display:block;margin-top:3px}.workspace-label,.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#8995a7}.workspace-label{padding:0 11px 13px;color:#73849c}.nav-item{height:43px;border:0;background:transparent;color:#aab6c7;text-align:left;padding:0 12px;border-radius:8px;margin:2px 0;font:500 13px 'DM Sans';cursor:pointer}.nav-item span{display:inline-block;width:26px;font-size:17px}.nav-item.active,.nav-item:hover{background:#23334b;color:white}.nav-count{float:right;font-style:normal;background:#344966;border-radius:10px;padding:2px 7px;font-size:10px}.sidebar-bottom{margin-top:auto}.system-status{border-top:1px solid #2a3a50;border-bottom:1px solid #2a3a50;padding:17px 7px;display:flex;gap:10px;align-items:center;font-size:11px}.system-status small,.user-chip small{display:block;color:#91a0b4;font-size:10px;margin-top:4px}.pulse{width:8px;height:8px;border-radius:50%;background:#d6a052;box-shadow:0 0 0 4px #d6a05222}.user-chip{display:flex;align-items:center;gap:9px;padding:17px 5px 0;font-size:11px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#dce6f1;color:#304965;font-weight:700}.muted{color:var(--muted);font-size:11px}.main{margin-left:238px;min-height:100vh}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.5%}.crumb{font-size:12px;color:#8a95a4}.crumb span{padding:0 9px;color:#c2c9d2}.crumb b{color:#33445b;font-weight:600}.top-actions{display:flex;align-items:center;gap:16px}.demo-pill,.status-tag{display:inline-flex;align-items:center;gap:7px;background:#f3f6f8;color:#7d8999;border:1px solid #e7ebef;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:700;letter-spacing:1px}.demo-pill i{width:6px;height:6px;background:#d8a44d;border-radius:50%}.icon-btn{border:0;background:none;color:#65748a;font-size:11px;cursor:pointer}.page{display:none;max-width:1300px;margin:auto;padding:44px 4.5% 60px}.page.active{display:block}.welcome-row,.page-heading,.section-heading,.briefing-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.welcome-row{margin-bottom:30px}.eyebrow{color:#8b98a9}.welcome-row h1,.page-heading h1,.briefing-title h1{font:700 34px Manrope;letter-spacing:-1.4px;margin:11px 0 8px}.lead{font-size:14px;color:#7d8999;margin:0;line-height:1.7}.primary-btn{background:#1c3453;color:#fff;border:1px solid #1c3453;border-radius:7px;padding:12px 17px;font-weight:600;font-size:12px;cursor:pointer;box-shadow:0 3px 9px #152c481c}.primary-btn:hover{background:#29496f}.hero-card{height:250px;background:#14243a;border-radius:13px;overflow:hidden;position:relative;display:flex;color:white;margin-bottom:38px}.hero-copy{padding:33px 38px;position:relative;z-index:2;width:55%}.hero-copy .eyebrow{color:#9aacc1}.hero-copy h2{font:700 27px/1.24 Manrope;letter-spacing:-.7px;margin:13px 0 9px}.hero-copy p{color:#aebbd0;max-width:390px;font-size:12px;line-height:1.7}.text-btn{border:0;background:none;color:#d9e7f7;font-weight:600;font-size:11px;padding:12px 0;cursor:pointer}.text-btn span{padding-left:7px}.hero-visual{position:absolute;right:4%;top:-60px;width:390px;height:370px;border-radius:50%;background:radial-gradient(circle,#284666 0,#1a304c 40%,#14243a 70%);overflow:hidden}.map-grid{position:absolute;inset:0;background-image:linear-gradient(#7d9ab31a 1px,transparent 1px),linear-gradient(90deg,#7d9ab31a 1px,transparent 1px);background-size:27px 27px;mask-image:radial-gradient(circle,#000 20%,transparent 75%)}.orbit{position:absolute;border:1px solid #7da0bd40;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-one{width:230px;height:230px}.orbit-two{width:320px;height:320px}.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:#e1eaf2;color:#1c3551;display:grid;place-content:center;text-align:center;box-shadow:0 0 0 10px #9bb4ca20,0 0 35px #7eaccb55}.core b{font:800 24px Manrope}.core small{font-size:6px;letter-spacing:1px}.map-point{position:absolute;color:#c7d8e8;font-size:8px;letter-spacing:1px}.map-point i{display:block;width:9px;height:9px;background:#d9a85d;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 5px #d9a85d22;margin-bottom:5px}.p1{left:15%;top:32%}.p2{right:14%;top:36%}.p3{left:61%;bottom:18%}.map-link{position:absolute;width:160px;height:90px;left:28%;top:38%;border-top:1px dashed #9bb7d2;transform:rotate(19deg);border-radius:50%}.section-heading{margin:27px 0 15px;align-items:center}.section-heading h2{font:700 19px Manrope;margin:5px 0 0}.subtle-btn,.outline-btn{border:1px solid #dfe5eb;background:#fff;color:#465a73;border-radius:6px;padding:9px 12px;font-size:11px;font-weight:600;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px 18px}.stat-card span,.stat-card small{display:block;color:#8792a2;font-size:10px}.stat-card b{display:block;font:700 25px Manrope;margin:9px 0 5px;color:#273b56}.trip-card{background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:260px 1fr;overflow:hidden;max-width:800px}.trip-cover{background:linear-gradient(145deg,#293f59,#71879b);min-height:205px;position:relative;overflow:hidden;color:white;padding:18px}.cover-tag{font-size:8px;letter-spacing:1.5px;border:1px solid #ffffff66;border-radius:20px;padding:5px 8px;display:inline-block}.cover-city{position:absolute;bottom:22px;left:20px;font:700 26px Manrope;z-index:1}.cover-city span{display:block;font:500 9px 'DM Sans';letter-spacing:2px;margin-top:5px;color:#d5dfeb}.cover-orb{position:absolute;width:180px;height:180px;border:1px solid #ffffff35;border-radius:50%;right:-30px;top:20px;box-shadow:0 0 0 25px #ffffff0b,0 0 0 50px #ffffff08}.trip-info{padding:19px 23px}.trip-top{display:flex;justify-content:space-between;align-items:center}.status-tag{background:#f8f4eb;color:#a17a3f;border:0;padding:5px 8px}.trip-info h3{font:700 18px Manrope;margin:15px 0 5px}.trip-info p{font-size:11px;color:#818d9d}.trip-meta{display:flex;gap:18px;color:#718096;font-size:10px;margin:18px 0}.outline-btn{padding:10px 13px}.disclaimer{font-size:10px;color:#929dad;margin-top:25px;line-height:1.6}.page-heading{align-items:center;margin-bottom:30px}.trip-list{display:grid;gap:12px}.trip-list .trip-card{max-width:none}.briefing-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.back-btn{border:0;background:none;color:#62738a;font-size:11px;cursor:pointer}.briefing-title{align-items:center;margin-bottom:23px}.briefing-title h1{font-size:31px}.risk-summary{display:flex;align-items:center;gap:28px;padding:22px 28px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:22px}.risk-score{display:flex;align-items:center;gap:13px;min-width:180px}.score-ring{width:72px;height:72px;border-radius:50%;border:5px solid #e9d9bb;display:grid;place-content:center;text-align:center}.score-ring b{font:700 22px Manrope}.score-ring small{font-size:8px;color:#929dad}.risk-score>span{font-size:10px;color:#8994a4;max-width:60px}.risk-summary-copy{border-left:1px solid var(--line);padding-left:27px}.risk-label{font-size:9px;letter-spacing:1.2px;color:#ad8246;font-weight:700}.risk-summary-copy h2{font:700 18px Manrope;margin:7px 0}.risk-summary-copy p{font-size:11px;color:#808c9c;margin:0;line-height:1.6}.risk-chips{display:flex;gap:8px;margin-top:12px}.risk-chips span{background:#f4f6f8;border-radius:20px;padding:5px 9px;color:#69788c;font-size:9px}.briefing-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.brief-main,.brief-side{display:grid;align-content:start;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panel h2{font:700 17px Manrope;margin:5px 0 0}.panel h3{font:700 14px Manrope;margin:8px 0 15px}.sample-label{font-size:8px;letter-spacing:1px;color:#b18a52;background:#fbf6ec;padding:6px 8px;border-radius:4px}.impact-row,.event-row,.action-row{display:flex;gap:13px;padding:14px 0;border-top:1px solid #edf0f3}.impact-icon,.event-icon,.action-num{width:32px;height:32px;flex:none;border-radius:8px;background:#f5f1e9;color:#a27c45;display:grid;place-items:center;font-size:13px}.impact-content,.event-content,.action-content{flex:1}.impact-content b,.event-content b,.action-content b{font-size:11px}.impact-content p,.event-content p,.action-content p{font-size:10px;color:#7e8999;line-height:1.6;margin:5px 0 0}.impact-level{font-size:8px;font-weight:700;letter-spacing:.8px;padding:5px 7px;border-radius:4px;height:max-content}.level-med{background:#faf3e7;color:#a47b40}.level-low{background:#edf5f2;color:#598b7e}.level-high{background:#faeeee;color:#b56c65}.event-meta{display:flex;gap:9px;align-items:center;margin-top:7px;font-size:9px;color:#98a2af}.event-meta span:first-child{color:#a17c48}.profile-list{display:grid;gap:13px}.profile-item{display:flex;justify-content:space-between;gap:12px;font-size:10px}.profile-item span{color:#8994a4}.profile-item b{text-align:right;font-weight:600;max-width:60%}.side-note{font-size:10px;line-height:1.6;color:#8a95a4}.evidence-row{display:flex;gap:9px;align-items:center;border-top:1px solid #edf0f3;padding:12px 0}.source-icon{width:25px;height:25px;border-radius:6px;background:#eef2f6;color:#60748b;display:grid;place-items:center;font-size:9px}.evidence-row b,.evidence-row small{display:block;font-size:10px}.evidence-row small{color:#929cab;font-size:9px;margin-top:4px}.source-state{margin-left:auto;color:#ae8c57;font-size:8px}.feedback-panel p{font-size:10px;color:#8792a1;line-height:1.5}.feedback-actions{display:flex;gap:7px}.feedback-actions button{border:1px solid #e5eaf0;background:#fff;border-radius:5px;padding:8px 10px;font-size:9px;color:#607187;cursor:pointer}.feedback-result{font-size:9px;color:#5d8d7e;margin-top:9px}.notice-banner{background:#fbf6ec;border:1px solid #f0e5d1;border-radius:8px;padding:15px 18px;margin-bottom:20px}.notice-banner b,.notice-banner span{display:block;font-size:11px}.notice-banner span{color:#917c5c;font-size:10px;margin-top:4px}.monitor-list{display:grid;gap:10px}.monitor-item{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;gap:14px}.monitor-dot{width:9px;height:9px;border-radius:50%;background:#d5a45b;margin-top:4px}.monitor-item b{font-size:11px}.monitor-item p{font-size:10px;color:#818d9d;margin:5px 0}.modal-backdrop{position:fixed;inset:0;background:#101a2bbd;z-index:10;display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{background:#fff;width:min(520px,100%);border-radius:12px;padding:27px;max-height:92vh;overflow:auto;box-shadow:0 20px 70px #07101d55}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal h2{font:700 22px Manrope;margin:7px 0}.modal-head p{font-size:11px;color:#8390a0;margin:0}.close-btn{border:0;background:#f2f4f6;border-radius:50%;width:29px;height:29px;font-size:18px;color:#607187;cursor:pointer}form label{display:block;font-size:10px;font-weight:700;color:#506178;margin:13px 0}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #dfe5eb;border-radius:6px;padding:11px 12px;font:11px 'DM Sans';color:#293b53;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:#829bb8;box-shadow:0 0 0 3px #829bb81c}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-note{background:#f5f7f9;padding:10px;border-radius:6px;color:#7f8b9a;font-size:9px;line-height:1.5;margin:16px 0}.full-btn{width:100%;margin-top:5px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#1c2d44;color:#fff;border-radius:7px;padding:11px 17px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1}
@media(max-width:900px){.sidebar{width:70px;padding:20px 10px}.brand{padding:0 6px 35px}.brand>span:last-child,.workspace-label,.nav-item:not(.active){font-size:0}.brand-mark{flex:none}.nav-item{font-size:0;text-align:center;padding:0}.nav-item span{font-size:19px;width:auto}.nav-count,.sidebar-bottom .system-status span:not(.pulse),.user-chip span:not(.avatar){display:none}.user-chip{justify-content:center}.main{margin-left:70px}.briefing-grid{grid-template-columns:1fr}.brief-side{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-visual{right:-110px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar{padding:0 17px}.page{padding:28px 17px 45px}.welcome-row,.page-heading{align-items:flex-start;flex-direction:column}.welcome-row h1,.page-heading h1{font-size:27px}.hero-card{height:270px}.hero-copy{width:100%;padding:25px}.hero-copy h2{font-size:23px}.hero-visual{opacity:.5;right:-190px;top:0}.stats-grid{gap:8px}.stat-card{padding:13px}.trip-card{grid-template-columns:1fr}.trip-cover{min-height:150px}.risk-summary{align-items:flex-start;gap:14px;padding:17px}.risk-score{min-width:110px;display:block}.risk-score>span{display:block;margin-top:7px}.risk-summary-copy{padding-left:15px}.risk-summary-copy h2{font-size:15px}.risk-chips{flex-wrap:wrap}.brief-side{grid-template-columns:1fr}.briefing-title{align-items:flex-start;flex-direction:column}.briefing-title h1{font-size:27px}.panel{padding:16px}.form-row{grid-template-columns:1fr}.top-actions{gap:8px}.demo-pill{font-size:8px}.section-heading{margin-top:24px}}
.trip-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.trip-actions .outline-btn{padding:8px 10px}

/* M1.1 Authentication */
.user-chip{gap:9px}.user-copy{min-width:0;flex:1}.user-copy b,.user-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signout-btn{border:0;background:transparent;color:#b9c3d1;font-size:11px;cursor:pointer;padding:6px}
.auth-backdrop{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(8,16,29,.94);backdrop-filter:blur(12px)}.auth-backdrop.open{display:flex}.auth-card{width:min(100%,440px);background:#fff;border-radius:18px;padding:36px;box-shadow:0 24px 80px rgba(0,0,0,.28);color:#172235}.auth-brand{display:inline-flex;margin-bottom:30px;color:#172235;text-decoration:none}.auth-card h1{font-size:30px;line-height:1.15;margin:10px 0}.auth-card>p{color:#667286;line-height:1.6}.auth-card form{display:grid;gap:16px;margin-top:20px}.auth-card label{display:grid;gap:8px;font-size:13px;font-weight:600;color:#27364b}.auth-card input{width:100%;border:1px solid #d9e0e9;border-radius:8px;padding:13px 14px;font:inherit;color:#172235;background:#fff}.auth-card input:focus{outline:2px solid #9bb6d9;border-color:#6586b4}.auth-card .full-btn{width:100%;justify-content:center;margin-top:4px}.auth-error{min-height:18px;color:#b42318;font-size:12px;line-height:1.5}.auth-tabs{display:flex;gap:8px;margin-top:22px}.auth-tabs button{flex:1;border:1px solid #d9e0e9;border-radius:8px;background:#f6f8fb;padding:10px;color:#44546a;cursor:pointer}.auth-tabs button.selected{background:#e8eff8;border-color:#829fc3;color:#183b66;font-weight:700}.auth-privacy{text-align:center;font-size:11px!important;margin:18px 0 0!important;color:#8792a2!important}.auth-card [hidden]{display:none!important}@media(max-width:600px){.auth-card{padding:26px 22px}.user-copy{display:none}}
