/* Posty's mobile layering and admin patterns, adapted to JouTrip's coastal palette. */
:root{
  color-scheme:dark;
  --paper:#0d1926;--white:#152735;--ink:#edf5f3;--muted:#9cb1ba;
  --teal:#6bdbcc;--soft:#183d43;--line:#2b4352;--orange:#efb28b;
  --accent-2:#578cc7;--grad:linear-gradient(135deg,#79e2ce 0%,#65b9cd 55%,#6b95d3 100%);
  --shadow:0 10px 32px #020b1524;
}
body{background:radial-gradient(1000px 650px at 95% -12%,#1e4154 0%,transparent 65%),radial-gradient(700px 600px at -10% 80%,#142f38 0%,transparent 65%),var(--paper);background-attachment:fixed;color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#efb28b}
button,input,select,textarea{color-scheme:dark}
.desktop-rail{background:#0d192666;border-color:var(--line)}
.brand{letter-spacing:-.6px}.brand-icon{background:var(--grad);color:#102937;box-shadow:0 5px 20px #62c3d52a;border-radius:12px}
.brand-icon span{color:#143547}
.rail-caption,.rail-bottom p,.prototype-label,.desktop-breadcrumb,.project-menu{color:var(--muted)}
.nav-item{color:#a8bbc2;border-radius:15px}
.nav-item.active{background:#203c49;color:#8be8da}
.nav-item:hover{background:#1c3543}
.member-plus{background:#1d3342;border-color:var(--line);color:#9bd9d0}
.avatar,.mini-avatars span,.dot-avatar{background:#344d59;color:#e8f3ed;border-color:var(--paper)}
.mini-avatars span:nth-child(2){background:#3a5c5c}.mini-avatars span:nth-child(3){background:#253e4c}
.trip-hero{border-color:#3a5963;background:radial-gradient(300px 150px at 100% 0,#70665355,transparent),linear-gradient(120deg,#223f4d 0%,#244f56 100%);border-radius:24px;box-shadow:0 15px 45px #030d1720}
.hero-copy .eyebrow{color:#99c4c8;letter-spacing:2.5px}
.hero-copy h1{color:#f3f7ef}.hero-copy p{color:#b7d0ce}.hero-copy .sun{color:#efbf8d}
.hero-meta{color:#c3d9d5}.hero-meta span+span{border-color:#557b7c}
.busan-art{opacity:.76;filter:saturate(.85)}
.day-strip{padding-top:4px;padding-bottom:6px}
.day-button{background:#162936;border-color:#2b4352;border-radius:14px;min-height:64px}
.day-button .date{color:#9eb6bf}.day-button.active{background:var(--grad);color:#102b37;border-color:transparent;box-shadow:0 5px 18px #64bfc72b}
.day-button.active .date{color:#285365}.day-button.active .day-num{font-weight:800}
.section-heading p,.section-heading>span,.view-top p{color:var(--muted)}
.card,.candidate-card,.flight-card,.route-stops{background:linear-gradient(180deg,#172c3a,#142733);border-color:var(--line);border-radius:18px}
.hotel-card{border-radius:17px;padding-top:15px;padding-bottom:15px}
.hotel-icon{background:#3d3e38;color:#e2c492;border-radius:12px}
.hotel-info small,.hotel-info p,.spot-info p,.candidate-head p{color:#a1b5bd}
.hotel-info strong{color:#e8f2ee}.text-button,.discussion-button{color:#85dbcd}
.pill{background:#22454a;color:#9cdfd1;border-radius:8px;padding:4px 8px}
.pill.orange{background:#493f36;color:#edc49a}.pill.blue{background:#263f57;color:#b0d1ee}.pill.gray{background:#2a3d48;color:#b2c0c7}
.timeline:before{background:#375262}.timeline-marker{background:#496774;border-color:var(--paper)}.timeline-marker.first{background:#7dd9c5}
.stop-time{color:#91dfce}.stop-time small{color:#a2b4bd}.stop-bottom{border-color:#2b414f}
.added-by{color:#a2b6be}.icon-button{color:#a8bbc5;border-radius:12px}.icon-button:hover{background:#274453;color:#a1e6dc}
.travel-leg{color:#9eb5bc}
.drop-zone{border-color:#486c77;background:#18333e;color:#a3d8d0;border-radius:15px;min-height:64px}
.side-panel{background:#102330;border-color:var(--line);border-radius:21px;padding:19px}
.side-panel .section-heading p,.side-panel .section-heading>span,.candidate-quote,.side-note{color:#a0b5be}
.candidate-card{background:#1b303e}.candidate-foot .vote-button,.vote-button{background:#152a38;border-color:#355262;color:#bdccd0;border-radius:11px}
.vote-button.voted{background:#493d3f;border-color:#8c6564;color:#f5c1a5}
.add-button{background:#234a4e;color:#a3ead8;border-radius:11px}
.full-button{color:#a0dcd0;border-color:#4b707c;border-radius:12px;min-height:48px}
.primary-button{background:var(--grad);border-color:transparent;color:#102d38;border-radius:14px;min-height:50px;font-weight:750;box-shadow:0 5px 19px #61c9c91c}
.primary-button svg{color:#163b49}.secondary-button{background:#1b3242;border-color:#36515f;color:#d2e4e3;border-radius:14px;min-height:48px}
.filter-button{background:#162b39;border-color:#304957;color:#adc0c8;min-height:44px}
.filter-button.active{background:#2a525b;border-color:#5c9598;color:#c6f1e6}
.search-field{background:#142a38;border-color:#36515f;border-radius:14px}
.search-field input{color:#ecf4f3}.search-field input::placeholder{color:#93aab6}
.empty-state{color:#a9bbc2}.empty-state svg{color:#82b4b4}
.flight-meta{border-color:#385360;color:#afc0c8}.flight-airport p,.flight-airport small{color:#a7bdc5}.flight-arrow{color:#8fc9c5}.flight-arrow span{border-color:#52757c}
.info-banner{background:#203944;color:#b6d4d3;border:1px solid #365362;border-radius:14px}
.stay-date{border-color:#35505d}.stay-date small{color:#a5b8c1}
.map-panel,.place-map{border-color:#37525c;background:#dce5dc;border-radius:18px}
.map-caption,.place-map>span{background:#132b3ae8;color:#cbddd9;border:1px solid #44626d}
.map-sea{color:#436a75}.route-summary{border-color:#36505c;color:#acbec4}.route-stop p{color:#a7bec4}
.route-number{background:var(--grad);color:#173845;font-weight:700}
.flight-event{border-left-color:#71ccbd}.flight-event p{color:#adc2c9}
.bottom-nav{background:#0f2130f2;border-color:#35505d;box-shadow:0 -6px 30px #020b1525;padding-top:9px}
.bottom-nav .nav-item{color:#9cafbc}.bottom-nav .nav-item.active{color:#a9f0df}
.bottom-nav .nav-item.active .nav-icon{background:#254d56;border:1px solid #447780}
.page-footer{color:#8da3af}.collab-people small,.collab-bar .text-button{color:#a5c0c5}
.mobile-candidates{background:#1b3b46;border-color:#365865;color:#bae3da;border-radius:14px}
dialog{background:#122532;border:1px solid #35515e;border-radius:27px;color:var(--ink);box-shadow:0 25px 100px #0009;padding-left:22px;padding-right:22px}
dialog::backdrop{background:#030b14b5;backdrop-filter:blur(5px)}
.sheet-head{background:#122532;padding-bottom:4px}.sheet-head h2{font-size:20px;letter-spacing:.3px}.sheet-handle{background:#405d6a}
.sheet-head-actions .icon-button{background:#1c3543;border:1px solid #35515d;border-radius:50%;min-height:40px;min-width:40px;margin-left:4px}
.sheet-head-actions .sheet-ai{color:#a6dfcf}.form-intro{color:#a7bdc5;line-height:1.9}
.field{color:#b5c9d0;font-size:12px;gap:9px}
.field input,.field select,.field textarea{background:#1a3040;border-color:#355261;color:#eaf5f1;border-radius:13px;font-size:16px;min-height:50px}
.field small{color:#a1b7c2;line-height:1.7}.field input::placeholder,.field textarea::placeholder{color:#8da6b4}
.form-actions{background:#122532;padding-top:16px}.form-actions .primary-button{min-height:54px}
.member-row,.activity-row{border-color:#304b59}.member-row .role,.activity-row small,.member-name small{color:#a6bcc3}
.danger-link{color:#f0aa9a}.remove-member-button{background:#7b443e;color:#ffe8df;border-color:#ab6859}
#toast{background:#2e675f;border:1px solid #6aab9b;color:#f3fff8;border-radius:14px;box-shadow:0 8px 30px #0005}
.layout-toggle{background:#142b39;border-color:#355260;border-radius:15px;padding:4px}
.layout-toggle button{color:#a9bfc7;border-radius:11px}.layout-toggle button.active{background:var(--grad);color:#183744;box-shadow:none}
.list-view-hint,.table-summary{color:#acc5cc}.table-summary span+span{border-color:#45616b}.table-summary span:last-child{color:#9eb2bd}
.table-scroll{border-color:#37515f;background:#162c3a;scrollbar-color:#547983 #102330;border-radius:15px}
.overview-table thead th{background:#224251;color:#c3d9de}.overview-table tbody tr>*{background:#162c3a}.overview-table tbody tr:nth-child(even)>*{background:#1a3342}.overview-table tbody tr:hover>*{background:#244454}
.overview-table th,.overview-table td{border-bottom-color:#304a58}.overview-table tr>:first-child{border-right-color:#45616f}.overview-table small{color:#a7bec5}.table-time{color:#98e5d4}
.place-context,.place-result-count,.place-demo-note{color:#a7bec7}.place-result{background:#1b3241;border-color:#355260;border-radius:16px}.place-result:hover{background:#244351;border-color:#628b90}
.place-result-info strong{color:#eff8f4}.place-result-info small{color:#adc3ca}.place-result-link{color:#9be2d2}.place-chevron{color:#97b6bf}
.current-stay{background:#1b3a43;border-color:#52737a;border-radius:14px}.current-stay small{color:#a5c3c7}.current-stay strong{color:#def0e9}
.place-detail-title p,.place-description{color:#aec4ca}.stay-night-options label{background:#1d3544;border-color:#3b5967;border-radius:13px}.stay-night-options label:has(input:checked){background:#255054;border-color:#74b7aa}.stay-night-options small{color:#b3cad0}
.project-name-button{color:#e2f0ec}.project-card{background:#1a3040;border-color:#34515f;border-radius:19px}.project-card.selected{background:#24454d;border-color:#64a397}.project-card small{color:#b5cbd0}.project-card-icon{background:#2b4d57;color:#b0eadb;border-radius:13px}
.demo-role{border-color:#35505e;color:#acc0c8}.invite-card{background:linear-gradient(140deg,#254751,#23364c);border-color:#436976;border-radius:21px}.invite-card p{color:#bad2d4}.invite-card .eyebrow{color:#a8d4d5}.invite-state{color:#afd9c6}
.line-button{background:#229462;color:#f1fff8;border-color:#45b484}.line-preview{background:#203c40}.line-preview>span{color:#9dcab6}.line-preview>div{background:#19392e;color:#e1f4df}.line-preview small{color:#9bdcb8}
.provider-settings{background:#172e3d;border-color:#385362;border-radius:18px;padding:18px}.provider-settings legend{color:#ebf5f1}.clear-key{color:#adc0ca}
.day-discussions .discussion-button{border-color:#385563;background:#17313f;border-radius:12px;color:#b2e7db}
.discussion-topic{border-color:#6fb7af}.discussion-topic p{color:#a6c1c8}.discussion-message{border-color:#304a5a}.discussion-author time{color:#9eb7c3}.discussion-message-body blockquote{background:#1b3c47;border-color:#619997;color:#b5d3d6;border-radius:0 10px 10px 0}
.discussion-composer{background:#122532}.discussion-identity>span:last-child,.discussion-send small{color:#9fb8c3}.discussion-composer textarea{background:#1a3344;border-color:#3e5d6d;color:#edf6f2;border-radius:14px}.reply-target{background:#254853;color:#c5e2df}
.ai-fab{background:var(--grad);color:#14323e;border:0;box-shadow:0 8px 28px #1c98a838;border-radius:18px;min-height:52px;font-weight:700}.ai-fab>span{color:#244859}
.ai-context{background:linear-gradient(135deg,#244651,#253b52);border:1px solid #3a6171;border-radius:15px}.ai-context>span{color:#94c2cc}.ai-context small{color:#b0ced2}
.ai-demo-note{color:#e0bc94}.ai-provider-label{color:#adc1cb}.ai-provider-label select{background:#193241;border-color:#3b596b;color:#e0efeb;border-radius:12px}
.ai-welcome>span{color:#8bdbd0}.ai-welcome p{color:#a3bec7}.ai-message{background:#1b3444;border-color:#365364;border-radius:17px}.ai-message.from-user{background:#255052;border-color:#3d7b7a}.ai-message small{color:#aac7cd}
.ai-suggestions button{background:#203c4c;border-color:#426471;color:#c2ddd8;border-radius:12px}.ai-composer{border-color:#385463}.ai-composer textarea{background:#1b3445;border-color:#456777;color:#edf6f4;border-radius:14px}
.travel-book{color-scheme:light}

/* Admin overview: status first, settings next, auditable activity separately. */
.admin-title-row{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:9px 0 18px}
.admin-reference-note{font-size:10px;color:var(--muted)}
.admin-tab-list{display:flex;gap:5px;padding:5px;background:#0e202d;border:1px solid #304d5e;border-radius:17px;margin-bottom:14px}
.admin-tab-list button{flex:1;min-height:46px;border:0;border-radius:12px;background:transparent;color:#a6bdc7;font-size:12px;font-weight:600}
.admin-tab-list button.selected{background:var(--grad);color:#173746;font-weight:750}
.admin-prototype-note{font-size:10px;line-height:1.8;color:#acc0c9;margin:0 0 20px}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.admin-stat-grid>div{background:#1b3343;border:1px solid #365061;border-radius:14px;padding:14px 10px}
.admin-stat-grid small{display:block;font-size:9px;color:#a9c0c9;white-space:nowrap}.admin-stat-grid strong{display:block;font-size:25px;margin-top:8px;color:#caeee4}
.admin-shortcuts .secondary-button{display:flex;align-items:center;justify-content:space-between;font-size:12px;min-height:50px}.admin-shortcuts svg{width:18px;height:18px}
.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:27px 0 12px}.admin-section-heading h3{font-size:16px;margin:0}.admin-section-heading>span{font-size:10px;color:#a4c2cb}
.provider-overview-list{display:grid;gap:14px}.provider-overview-card{padding:18px;border:1px solid #365464;border-radius:20px;background:linear-gradient(180deg,#1a3343,#182d3c)}.provider-overview-card.active{border-color:#70c3b1;box-shadow:inset 0 0 0 1px #70c3b110}
.provider-card-heading{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.provider-card-heading h4{font-size:15px;margin:0;flex:1}.provider-monogram{width:34px;height:34px;border-radius:10px;background:#2a495a;display:grid;place-items:center;font-size:25px;color:#acd8ee}.provider-monogram.claude{background:#493f3b;color:#ecc2a0}.provider-monogram.openai{background:#294e46;color:#b8e2c7}
.provider-badge{font-size:10px;padding:5px 9px;border:1px solid #456370;border-radius:20px;color:#b2c8d0}.provider-badge.active{background:#79d9bc;color:#123a32;border-color:transparent;font-weight:750}.provider-badge.ready{color:#b5e2d4}
.provider-overview-card dl,.admin-call-card dl{margin:16px 0;display:grid;gap:9px}.provider-overview-card dl>div,.admin-call-card dl>div{display:flex;justify-content:space-between;gap:13px;font-size:11px}.provider-overview-card dt,.admin-call-card dt{color:#9fb8c4;flex-shrink:0}.provider-overview-card dd,.admin-call-card dd{margin:0;color:#d4e5e7;text-align:right;overflow-wrap:anywhere;min-width:0}
.provider-meta{font-size:9px;color:#9cb5c0;margin:12px 0}.provider-check{padding:10px 12px;border:1px dashed #466170;border-radius:11px;color:#ddbd94;font-size:10px;line-height:1.8}.provider-check.good{color:#afe0ca;border-color:#528d7c;background:#21443d}
.provider-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.provider-card-actions .secondary-button{min-height:44px;font-size:11px;padding:9px 12px}.provider-card-actions .text-button{font-size:11px;margin-left:auto}
.admin-log-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;background:#203e4d;border:1px solid #3b6170;border-radius:14px;padding:12px 16px;color:#bde6de;font-size:12px;margin-top:20px}
.admin-call-list{display:grid;gap:13px}.admin-call-card{background:#1a3444;border:1px solid #3b5667;border-radius:17px;padding:16px}.admin-call-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:9px}.admin-call-card strong{font-size:12px}.admin-call-card h4{font-size:14px;margin:14px 0 6px}.admin-call-card p{font-size:10px;color:#adc5ce;line-height:1.8;margin:0}.admin-call-card dl{border-top:1px solid #3a5363;padding-top:14px;margin-bottom:0}
@media(max-width:620px){
  .trip-hero{border-radius:21px}.day-button{border-radius:13px}.side-panel{padding:15px}
  dialog{border-radius:28px 28px 0 0;padding-left:20px;padding-right:20px}.sheet-head h2{font-size:19px}
  .bottom-nav .nav-item.active .nav-icon{padding:4px 14px;margin-left:-14px;margin-right:-14px}.bottom-nav .nav-item{font-size:10px}
  .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-stat-grid>div{display:flex;align-items:center;justify-content:space-between;padding:13px 14px}.admin-stat-grid strong{font-size:23px;margin:0}.admin-stat-grid small{font-size:10px}
  .provider-overview-card{padding:16px}.provider-card-heading h4{font-size:14px}.provider-card-actions .secondary-button{padding:9px 10px}
  .ai-fab{min-height:48px;border-radius:16px;padding:9px 13px}.primary-button{min-height:50px}
}
@media print{body{background:#fff}.travel-book{--book-ink:#254c44}dialog,.ai-fab{display:none!important}}
