/* Shared compact controls use the app's existing paper, ink and navy palette. */
.qe-launch { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:52px; padding:12px 14px; border:1px solid #bacbd9; border-radius:10px; background:#edf3f8; color:#1a3a5c; font-family:inherit; font-size:14px; font-weight:600; line-height:1.5; cursor:pointer; text-align:left; }
.qe-launch span { display:block; font-size:12px; font-weight:400; color:#3a4a5c; }
#page-itinerary > .qe-launch { margin:0 0 16px; }
.qe-shopping-launch { padding:10px 16px; flex-shrink:0; border-bottom:1px solid var(--paper3); }
#quick-entry-dialog { width:min(100% - 24px, 560px); max-height:calc(100dvh - 24px); margin:auto; padding:0; border:0; border-radius:16px; background:var(--paper); color:var(--ink); overflow:auto; overscroll-behavior:contain; font-family:inherit; }
#quick-entry-dialog::backdrop { background:rgba(20,35,50,.6); }
.qe-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 18px 12px; }
.qe-header h2 { margin:0 0 4px; font-size:20px; line-height:1.4; }
.qe-header p { margin:0; color:#3a4a5c; font-size:13px; line-height:1.6; }
.qe-close { flex-shrink:0; min-width:48px; min-height:44px; border:1px solid #bacbd9; border-radius:8px; background:transparent; color:#1a3a5c; font:inherit; cursor:pointer; }
#quick-entry-form { padding:0 18px max(18px, env(safe-area-inset-bottom)); }
#quick-entry-context { margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid var(--paper3); color:#3a4a5c; font-size:13px; overflow-wrap:anywhere; }
.qe-field { display:block; margin:12px 0; font-size:14px; font-weight:600; }
.qe-field > span { display:block; margin-bottom:6px; }
.qe-field :is(select,textarea) { width:100%; box-sizing:border-box; border:1px solid #8c9baa; border-radius:8px; padding:11px; background:#fff; color:#24384c; font-weight:400; font-family:inherit; font-size:16px; line-height:1.6; }
.qe-field textarea { display:block; min-height:126px; resize:vertical; }
.qe-field textarea::placeholder { color:#546473; opacity:1; }
.qe-help,#quick-entry-preview > p { margin:8px 0 14px; color:#3a4a5c; font-size:13px; line-height:1.7; }
.qe-locks-details { margin:10px 0; font-size:13px; color:#3a4a5c; }
.qe-locks-details summary { min-height:44px; display:list-item; align-content:center; cursor:pointer; }
#quick-entry-locks { max-height:200px; overflow:auto; border-bottom:1px solid var(--paper3); }
.qe-lock,.qe-shopping-row { display:flex; gap:10px; align-items:flex-start; min-height:44px; padding:10px 0; font-size:13px; line-height:1.6; overflow-wrap:anywhere; cursor:pointer; }
.qe-lock input,.qe-shopping-row > input { width:22px; height:22px; margin:1px 0; flex-shrink:0; accent-color:#1a3a5c; }
.qe-shopping-row { border-bottom:1px solid var(--paper3); }
.qe-shopping-row > span { min-width:0; }
.qe-shopping-row span span { display:block; color:#3a4a5c; }
.qe-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.qe-actions button { flex:1 1 130px; min-height:46px; padding:10px 14px; border:1px solid #1a3a5c; border-radius:9px; background:#1a3a5c; color:#fff; font-size:14px; font-weight:600; line-height:1.5; font-family:inherit; cursor:pointer; }
.qe-actions .qe-secondary { background:transparent; color:#1a3a5c; }
.qe-actions button:disabled { background:#dce4eb; border-color:#a5b3c0; color:#465969; cursor:wait; }
#quick-entry-status { margin-top:12px; color:#1a3a5c; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
#quick-entry-status[role="alert"] { color:#a12f20; }
#quick-entry-preview h3 { margin:20px 0 8px; font-size:16px; }
.qe-change { padding:12px 0; border-bottom:1px solid var(--paper3); font-size:14px; overflow-wrap:anywhere; }
.qe-change p { margin:5px 0 0; color:#3a4a5c; font-size:13px; line-height:1.7; }
#quick-entry-preview .qe-notice { padding:10px; border-radius:8px; background:#eee5d6; color:#594124; }
:is(.qe-launch,#quick-entry-dialog button,#quick-entry-dialog select,#quick-entry-dialog textarea,#quick-entry-dialog input,#quick-entry-dialog summary):focus-visible { outline:3px solid #d4502a; outline-offset:3px; }
#quick-entry-dialog [hidden] { display:none !important; }
@media (max-width:360px) { #quick-entry-dialog { width:calc(100% - 12px); } .qe-header { padding:14px 12px 10px; } #quick-entry-form { padding-left:12px; padding-right:12px; } }
