@font-face{
font-family:"SignPainter HouseScript";
src:url("./assets/fonts/signpainter_housescript.otf") format("opentype");
font-display:swap;
}

/* GLOBAL */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}

html,
body{
min-height:100%;
background:#eef3f8;
}

/* LOGIN PAGE */

#loginPage{
height:100vh;
display:flex;
justify-content:center;
align-items:center;
background: linear-gradient(135deg,#0f2027,#203a43,#2c5364,#1e3c72,#2a5298);
}

.admin-welcome-overlay{
position:fixed;
inset:0;
display:none;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,#0f2027,#203a43,#2c5364,#1e3c72,#2a5298);
z-index:120;
opacity:0;
pointer-events:none;
}

.app-boot-overlay{
position:fixed;
inset:0;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,#0f2027,#203a43,#2c5364,#1e3c72,#2a5298);
z-index:140;
opacity:1;
pointer-events:none;
transition:opacity 0.18s ease;
}

.app-boot-overlay.is-hidden{
opacity:0;
}

.admin-welcome-overlay.is-shell-visible{
display:flex;
opacity:1;
}

.admin-welcome-overlay.is-visible{
display:flex;
animation:adminWelcomeFade 4s ease forwards;
}

.admin-welcome-message{
width:min(1120px, calc(100vw - 64px));
padding:12px 18px;
transform:translateY(10px) scale(0.96);
filter:drop-shadow(0 18px 28px rgba(0,0,0,0.24));
animation:adminWelcomeMessageFloat 4s ease forwards;
}

.admin-welcome-signature{
width:100%;
height:auto;
overflow:visible;
}

.admin-welcome-text{
font-family:"SignPainter HouseScript", "Brush Script MT", cursive;
font-size:138px;
letter-spacing:0.01em;
paint-order:stroke fill;
stroke-linecap:round;
stroke-linejoin:round;
}

.admin-welcome-text-stroke{
fill:transparent;
stroke:rgba(255,249,236,0.95);
stroke-width:2.8px;
stroke-dasharray:1800;
stroke-dashoffset:1800;
animation:adminWelcomeStroke 4s cubic-bezier(0.32, 0.02, 0.2, 1) forwards;
}

.admin-welcome-text-fill{
fill:#fff9ec;
opacity:0;
filter:drop-shadow(0 0 12px rgba(255,249,236,0.12));
animation:adminWelcomeFill 4s ease forwards;
}

@keyframes adminWelcomeFade{
0%{opacity:1;}
90%{opacity:1;}
100%{opacity:0;}
}

@keyframes adminWelcomeMessageFloat{
0%{
opacity:0;
transform:translateY(18px) scale(0.94);
}
14%{
opacity:1;
transform:translateY(0) scale(1);
}
90%{
opacity:1;
transform:translateY(0) scale(1);
}
100%{
opacity:0;
transform:translateY(-10px) scale(1.02);
}
}

@keyframes adminWelcomeStroke{
0%{
stroke-dashoffset:1800;
opacity:0.4;
}
14%{
opacity:1;
}
70%{
stroke-dashoffset:0;
opacity:1;
}
100%{
stroke-dashoffset:0;
opacity:0;
}
}

@keyframes adminWelcomeFill{
0%{
opacity:0;
}
46%{
opacity:0;
}
76%{
opacity:0.88;
}
100%{
opacity:1;
}
}

.login-shell{
display:flex;
flex-direction:column;
align-items:center;
gap:14px;
}

.login-card{
width:360px;
padding:50px 40px;
border-radius:30px;
background: rgba(255,255,255,0.1);
backdrop-filter: blur(20px);
box-shadow:0 20px 40px rgba(0,0,0,0.25);
color:white;
text-align:center;
}

.login-popup{
width:min(360px, calc(100vw - 40px));
padding:14px 16px;
border-radius:18px;
background:rgba(9,18,31,0.88);
border:1px solid rgba(255,255,255,0.12);
box-shadow:0 18px 34px rgba(0,0,0,0.22);
color:#ff8d8d;
font-size:13px;
line-height:1.45;
opacity:0;
transform:translateY(-6px);
pointer-events:none;
transition:opacity 0.18s ease, transform 0.18s ease;
text-align:center;
}

.login-popup.is-visible{
opacity:1;
transform:translateY(0);
}

.avatar{
width:90px;
height:90px;
margin:auto;
border-radius:50%;
background: rgba(255,255,255,0.15);
display:flex;
align-items:center;
justify-content:center;
font-size:40px;
margin-bottom:35px;
}

.input-group{
position:relative;
margin-bottom:25px;
}

.input-group input{
width:100%;
border:none;
border-bottom:1px solid rgba(255,255,255,0.6);
background:transparent;
padding:10px 34px 10px 30px;
color:white;
font-size:14px;
outline:none;
}

.input-group input:-webkit-autofill,
.input-group input:-webkit-autofill:hover,
.input-group input:-webkit-autofill:focus{
-webkit-text-fill-color:white;
-webkit-box-shadow:0 0 0 1000px transparent inset;
box-shadow:0 0 0 1000px transparent inset;
transition:background-color 9999s ease-in-out 0s;
caret-color:white;
}

.input-group i{
position:absolute;
left:0;
top:12px;
font-size:14px;
color:rgba(255,255,255,0.8);
}

.login-btn{
width:100%;
border:none;
padding:12px;
border-radius:20px;
background:linear-gradient(90deg,#1e3c72,#2a5298,#4facfe);
color:white;
font-weight:bold;
letter-spacing:1px;
cursor:pointer;
transition:transform 0.16s ease, filter 0.16s ease, box-shadow 0.16s ease;
}

.login-btn:hover{
transform:scale(1.02);
filter:brightness(1.08);
box-shadow:0 10px 22px rgba(79,172,254,0.22);
}

.password-toggle-btn{
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
border:none;
background:transparent;
color:rgba(255,255,255,0.78);
width:28px;
height:28px;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:14px;
}

/* DASHBOARD */

#dashboard{
display:none;
height:100vh;
background:#eef3f8;
}

.container{
display:flex;
height:100%;
}

/* SIDEBAR */

.sidebar{
width:250px;
background:#16304f;
color:white;
padding:20px 0 18px;
display:flex;
flex-direction:column;
flex-shrink:0;
box-shadow:inset -1px 0 0 rgba(255,255,255,0.08);
height:100%;
min-height:0;
overflow:hidden;
}

.sidebar-top{
padding:0 0 8px;
flex:1;
min-height:0;
overflow-y:auto;
overflow-x:hidden;
}

.logo-container{
text-align:center;
margin-bottom:56px;
position:relative;
cursor:pointer;
width:200px;
height:160px;
margin-left:auto;
margin-right:auto;
overflow:visible;
--logo-scale:100;
}

.logo-img{
width:calc(170px * (var(--logo-scale) / 100));
height:calc(118px * (var(--logo-scale) / 100));
border-radius:0;
object-fit:contain;
position:absolute;
top:56%;
left:50%;
transform:translate(-50%, -50%);
display:none;
z-index:1;
}

.logo-placeholder{
width:132px;
height:132px;
border-radius:50%;
background:#27476f;
display:flex;
align-items:center;
justify-content:center;
font-size:30px;
font-weight:300;
margin:auto;
}

.logo-container.has-managed-image .logo-img{
z-index:1;
}

.logo-controls{
position:absolute;
top:6px;
right:6px;
display:none;
align-items:center;
gap:6px;
z-index:4;
}

.logo-control-btn{
border:none;
border-radius:50%;
width:24px;
height:24px;
display:inline-flex;
align-items:center;
justify-content:center;
font-size:11px;
color:#ffffff;
box-shadow:0 6px 14px rgba(0,0,0,0.24);
cursor:pointer;
}

.logo-edit-btn{
background:#f3b543;
}

.logo-delete-btn{
background:#d84d4d;
}

.logo-resize-btn{
background:#4e87c7;
}

.logo-resize-panel{
position:absolute;
top:36px;
right:6px;
display:none;
width:144px;
padding:10px 12px;
border-radius:14px;
background:rgba(15,32,52,0.92);
box-shadow:0 14px 26px rgba(0,0,0,0.28);
z-index:4;
}

.logo-container.resize-open .logo-resize-panel{
display:block;
}

.logo-size-slider{
width:100%;
accent-color:#4e87c7;
}

.sidebar-divider{
height:1px;
background:rgba(255,255,255,0.16);
margin:0 28px 34px;
}

.nav-section{
margin-bottom:18px;
}

.nav-section-title{
padding:0 28px 12px;
font-size:18px;
font-weight:400;
color:rgba(255,255,255,0.4);
}

.menu-item{
width:100%;
background:none;
border:none;
color:white;
padding:13px 28px;
text-align:left;
cursor:pointer;
opacity:0.85;
font-size:14px;
display:flex;
align-items:center;
gap:11px;
transition:background 0.16s ease, opacity 0.16s ease, color 0.16s ease;
}

.menu-item i{
margin-right:0;
width:14px;
text-align:center;
}

.menu-item-text{
position:relative;
z-index:2;
}

.menu-item-animated-icon{
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
width:16px;
height:16px;
flex:0 0 16px;
z-index:1;
}

.menu-item-route-icon{
position:relative;
z-index:1;
opacity:1;
animation:menuRouteReveal 4.8s linear infinite;
}

.menu-item-plane-icon{
position:absolute;
left:0;
top:50%;
width:16px;
text-align:center;
transform:translate(-20px, -50%);
opacity:0;
z-index:0;
animation:menuPlaneTraverse 4.8s linear infinite;
pointer-events:none;
will-change:transform, opacity;
}

#flightInfoBtn{
position:relative;
overflow:visible;
}

@keyframes menuPlaneTraverse{
0%{
transform:translate(-22px, -50%);
opacity:0;
}
8%{
transform:translate(-14px, -50%);
opacity:0.72;
}
24%{
transform:translate(2px, -50%);
opacity:1;
}
52%{
transform:translate(34px, -50%);
opacity:1;
}
74%{
transform:translate(66px, -50%);
opacity:0.88;
}
100%{
transform:translate(98px, -50%);
opacity:0;
}
}

@keyframes menuRouteReveal{
0%,
48%{
opacity:0.2;
transform:scale(0.94);
}
68%{
opacity:0.72;
transform:scale(1);
}
84%,
100%{
opacity:1;
transform:scale(1);
}
}

.menu-item:hover,
.menu-item.active{
background:rgba(255,255,255,0.04);
opacity:1;
}

.menu-item-with-arrow{
justify-content:space-between;
}

.menu-item-with-arrow span{
display:inline-flex;
align-items:center;
gap:11px;
}

.submenu{
display:none;
padding-bottom:4px;
}

.submenu-item{
padding-left:48px;
font-size:13px;
}

.logo-container:hover .logo-controls,
.logo-container.resize-open .logo-controls{
display:flex;
}

.materials-menu{
padding:4px 28px 0 28px;
overflow-x:hidden;
}

.materials-header-row{
display:flex;
align-items:center;
gap:6px;
padding:13px 28px;
}

.materials-toggle-btn{
width:auto;
padding:0;
flex:0 0 auto;
}

.materials-btn-label{
display:flex;
align-items:center;
gap:8px;
white-space:nowrap;
}

.materials-toggle-btn:hover,
.materials-toggle-btn.active{
background:none;
}

.materials-toggle-btn #materialsArrow{
display:inline-flex;
align-items:center;
justify-content:center;
width:14px;
color:rgba(255,255,255,0.78);
font-size:11px;
}

.materials-add-btn{
width:22px;
height:22px;
border:none;
border-radius:6px;
background:rgba(255,255,255,0.12);
color:#fff;
display:none;
align-items:center;
justify-content:center;
cursor:pointer;
padding:0;
transition:background 0.16s ease, transform 0.16s ease;
}

.materials-add-btn i{
font-size:11px;
width:auto;
}

.materials-add-btn:hover{
background:rgba(255,255,255,0.2);
transform:translateY(-1px);
}

.materials-list{
margin-top:8px;
font-size:13px;
display:flex;
flex-direction:column;
gap:1px;
}

.materials-doc-item{
width:100%;
display:flex;
align-items:flex-start;
justify-content:flex-start;
padding:6px 0;
padding-right:72px;
border:none;
background:none;
color:#fff;
text-align:left;
cursor:pointer;
opacity:0.92;
position:relative;
}

.materials-doc-item:hover{
opacity:1;
}

.materials-doc-title{
flex:1;
display:flex;
align-items:flex-start;
min-width:0;
max-width:100%;
font-size:13px;
line-height:1.3;
padding:0;
border:none;
background:none;
color:inherit;
cursor:pointer;
}

.materials-doc-name{
display:block;
white-space:normal;
overflow:visible;
text-overflow:clip;
overflow-wrap:anywhere;
word-break:break-word;
padding-right:8px;
}

.materials-doc-actions{
display:flex;
align-items:center;
gap:6px;
position:absolute;
right:0;
top:50%;
transform:translate(4px, -50%);
opacity:0;
pointer-events:none;
transition:opacity 0.16s ease, transform 0.16s ease;
}

.materials-doc-item:hover .materials-doc-actions{
opacity:1;
pointer-events:auto;
transform:translate(0, -50%);
}

.materials-action-popup-overlay{
display:none;
position:fixed;
left:0;
top:0;
z-index:1400;
}

.materials-action-popup{
position:static;
width:220px;
padding:12px;
border-radius:12px;
background:#f8fbff;
border:1px solid rgba(21,49,84,0.14);
box-shadow:0 18px 36px rgba(10, 24, 43, 0.24);
color:#17304e;
}

.materials-action-popup-title{
font-size:13px;
font-weight:700;
line-height:1.2;
margin-bottom:6px;
}

.materials-action-popup-copy{
font-size:12px;
line-height:1.35;
color:#5f7186;
margin-bottom:10px;
}

.materials-action-popup-input{
width:100%;
height:34px;
border:1px solid rgba(35, 78, 130, 0.18);
border-radius:9px;
padding:0 10px;
font-size:13px;
color:#17304e;
background:#fff;
outline:none;
margin-bottom:10px;
}

.materials-action-popup-input:focus{
border-color:rgba(36, 104, 189, 0.42);
box-shadow:0 0 0 3px rgba(79, 138, 221, 0.14);
}

.materials-action-popup-actions{
display:flex;
justify-content:flex-end;
gap:8px;
}

.materials-action-popup-btn{
height:30px;
padding:0 10px;
border:none;
border-radius:8px;
background:#e9eff6;
color:#17304e;
font-size:12px;
font-weight:600;
cursor:pointer;
}

.materials-action-popup-btn.primary{
background:#22496f;
color:#fff;
}

.materials-action-popup-btn.danger{
background:#c74f4f;
color:#fff;
}

.materials-doc-action{
width:28px;
height:28px;
border:none;
border-radius:8px;
background:rgba(255,255,255,0.1);
color:#fff;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition:background 0.16s ease, transform 0.16s ease;
}

.materials-doc-action:hover{
background:rgba(255,255,255,0.2);
transform:translateY(-1px);
}

.materials-doc-action-delete:hover{
background:rgba(208,66,66,0.26);
}

.materials-empty{
padding:8px 0 4px;
font-size:12px;
color:rgba(255,255,255,0.62);
}

.doc-viewer-window{
display:none;
position:fixed;
top:88px;
left:300px;
width:min(880px, calc(100vw - 360px));
height:min(78vh, 920px);
min-width:520px;
min-height:520px;
background:#fff;
border-radius:18px;
box-shadow:0 24px 56px rgba(15, 31, 53, 0.28);
border:1px solid rgba(22,48,79,0.12);
overflow:hidden;
resize:both;
z-index:2000;
}

.doc-viewer-header{
height:56px;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 16px 0 18px;
background:linear-gradient(135deg, #1b3f67, #2d5c92);
color:#fff;
cursor:move;
user-select:none;
}

.doc-viewer-title{
display:flex;
align-items:center;
gap:10px;
font-size:14px;
font-weight:600;
letter-spacing:0.01em;
}

.doc-viewer-close{
width:34px;
height:34px;
border:none;
border-radius:10px;
background:rgba(255,255,255,0.14);
color:#fff;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition:background 0.16s ease, transform 0.16s ease;
}

.doc-viewer-close:hover{
background:rgba(255,255,255,0.22);
transform:scale(1.04);
}

.doc-viewer-body{
height:calc(100% - 56px);
background:#eef3f8;
}

.doc-viewer-frame{
width:100%;
height:100%;
border:none;
background:#fff;
}

.folder-manager-sidebar{
margin-top:4px;
}

.folder-manager-inline-head{
display:flex;
align-items:center;
gap:2px;
padding-left:28px;
padding-right:14px;
}

.folder-manager-inline-btn{
flex:1;
min-width:0;
padding:10px 0 10px 0;
font-size:12px;
white-space:nowrap;
}

.folder-manager-inline-add-btn{
width:20px;
height:20px;
border:none;
border-radius:6px;
background:rgba(255,255,255,0.12);
color:#fff;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
flex:0 0 auto;
transition:background 0.16s ease, transform 0.16s ease;
font-size:10px;
}

.folder-manager-inline-add-btn:hover{
background:rgba(255,255,255,0.2);
transform:translateY(-1px);
}

.folder-manager-inline-toggle-btn{
width:20px;
height:20px;
border:none;
background:none;
color:rgba(255,255,255,0.82);
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
flex:0 0 auto;
font-size:10px;
}

.folder-manager-inline-list{
display:flex;
flex-direction:column;
gap:6px;
padding:4px 18px 4px 48px;
}

.folder-inline-empty{
padding:4px 0 6px;
font-size:12px;
color:rgba(255,255,255,0.48);
}

.folder-card{
position:relative;
padding:8px 0 6px;
border-bottom:1px solid rgba(255,255,255,0.06);
}

.folder-card:last-child{
border-bottom:none;
}

.folder-manager-popup-overlay{
display:none;
position:fixed;
left:0;
top:0;
z-index:1400;
}

.folder-manager-popup{
width:248px;
padding:12px;
border-radius:12px;
background:#f8fbff;
border:1px solid rgba(21,49,84,0.14);
box-shadow:0 18px 36px rgba(10, 24, 43, 0.24);
color:#17304e;
}

.folder-manager-popup-title{
font-size:13px;
font-weight:700;
line-height:1.2;
margin-bottom:6px;
}

.folder-manager-popup-copy{
font-size:12px;
line-height:1.4;
color:#5f7186;
margin-bottom:10px;
}

.folder-manager-popup-actions{
display:flex;
justify-content:flex-end;
gap:8px;
}

.folder-manager-popup-btn{
height:30px;
padding:0 10px;
border:none;
border-radius:8px;
background:#e9eff6;
color:#17304e;
font-size:12px;
font-weight:600;
cursor:pointer;
}

.folder-manager-popup-btn.danger{
background:#c74f4f;
color:#fff;
}

.folder-card-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
flex-wrap:wrap;
}

.folder-card-title-wrap{
display:flex;
align-items:center;
gap:10px;
min-width:0;
}

.folder-card-icon{
width:20px;
height:20px;
border-radius:6px;
background:rgba(255,255,255,0.08);
color:#d6e5f7;
display:inline-flex;
align-items:center;
justify-content:center;
font-size:11px;
flex:0 0 auto;
}

.folder-card-copy{
flex:1;
min-width:0;
}

.folder-card-name{
font-size:12px;
font-weight:600;
color:#ffffff;
white-space:normal;
overflow:visible;
text-overflow:clip;
line-height:1.35;
word-break:break-word;
}

.folder-card-name-input{
width:100%;
border:none;
border-radius:8px;
padding:6px 8px;
background:rgba(255,255,255,0.12);
color:#fff;
font-size:12px;
font-weight:600;
outline:none;
}

.folder-card-name-input::placeholder{
color:rgba(228,237,247,0.42);
}

.folder-card-controls{
display:flex;
align-items:center;
gap:6px;
flex:0 0 auto;
margin-left:30px;
}

.folder-upload-btn,
.folder-inline-action-btn{
width:22px;
height:22px;
border:none;
border-radius:50%;
background:rgba(255,255,255,0.08);
color:#d9e7f5;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
opacity:0;
pointer-events:none;
transition:opacity 0.16s ease, background 0.16s ease;
}

.folder-card:hover .folder-inline-action-btn,
.folder-card:hover .folder-upload-btn{
opacity:1;
pointer-events:auto;
}

.folder-upload-btn:hover,
.folder-inline-action-btn:hover{
background:rgba(255,255,255,0.16);
}

.folder-inline-action-btn.delete:hover{
background:rgba(208,66,66,0.28);
}

.folder-files{
margin-top:8px;
display:flex;
flex-direction:column;
gap:6px;
padding-left:30px;
}

.folder-file-item{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
padding:6px 0;
}

.folder-file-open{
flex:1;
display:flex;
align-items:center;
gap:8px;
min-width:0;
border:none;
background:none;
padding:0;
color:rgba(243,248,255,0.86);
cursor:pointer;
text-align:left;
font-size:12px;
}

.folder-file-name{
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
font-size:12px;
font-weight:500;
}

.folder-file-size{
font-size:11px;
color:rgba(221,232,244,0.5);
white-space:nowrap;
}

.sidebar-footer{
padding:0 10px 8px;
display:flex;
flex-direction:column;
gap:10px;
flex-shrink:0;
margin-top:12px;
background:rgba(73,101,133,0.24);
border-top:1px solid rgba(255,255,255,0.08);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}

.sidebar-user-card{
position:relative;
display:grid;
grid-template-columns:40px minmax(0, 1fr) auto;
align-items:center;
gap:10px;
padding:12px 8px 10px 6px;
border-radius:14px;
}

.sidebar-user-avatar-wrap{
position:relative;
width:40px;
height:40px;
}

.sidebarProfilePic,
.sidebarProfilePicPlaceholder{
width:40px;
height:40px;
border-radius:50%;
}

.sidebarProfilePic{
display:none;
object-fit:cover;
border:2px solid rgba(255,255,255,0.26);
}

.sidebarProfilePicPlaceholder{
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,0.08);
border:2px solid rgba(255,255,255,0.42);
color:#ffffff;
font-size:17px;
}

.sidebar-user-copy{
min-width:0;
display:flex;
flex-direction:column;
gap:2px;
}

.sidebar-user-name{
font-size:15px;
font-weight:500;
color:#ffffff;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.sidebar-user-email{
font-size:11px;
color:rgba(255,255,255,0.76);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.sidebar-user-menu-wrap{
position:relative;
align-self:flex-start;
}

.sidebar-user-menu-btn{
border:none;
background:transparent;
color:rgba(255,255,255,0.95);
width:24px;
height:24px;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:16px;
}

.sidebar-user-menu{
position:absolute;
right:0;
bottom:calc(100% + 8px);
display:none;
padding:0;
z-index:5;
}

.sidebar-user-menu.open{
display:block;
}

.sidebar-user-logout-btn{
border:1px solid rgba(255,255,255,0.32);
background:transparent;
color:#ffffff;
font-size:13px;
padding:8px 12px;
border-radius:10px;
display:inline-flex;
align-items:center;
gap:8px;
cursor:pointer;
white-space:nowrap;
box-shadow:0 8px 18px rgba(2,8,18,0.18);
}

/* MAIN AREA */

.main{
flex:1;
background:#eef3f8;
min-width:0;
}

.header{
min-height:84px;
background:white;
display:flex;
align-items:center;
justify-content:space-between;
padding:10px 28px;
border-bottom:1px solid rgba(11,33,60,0.1);
gap:20px;
}

.header.rooming-mode{
position:relative;
display:flex;
align-items:center;
}

.header.flight-mode{
position:relative;
display:flex;
align-items:center;
}

#titleInput{
font-size:24px;
border:1px solid transparent;
outline:none;
background:transparent;
text-align:center;
min-width:220px;
max-width:min(100%, 720px);
width:clamp(220px, 34vw, 560px);
min-height:44px;
padding:8px 12px;
border-radius:10px;
transition:border-color 0.16s ease, background 0.16s ease;
resize:none;
overflow:hidden;
line-height:1.2;
white-space:pre-wrap;
word-break:break-word;
position:relative;
z-index:3;
pointer-events:auto;
}

.profilePic{
width:40px;
height:40px;
border-radius:50%;
object-fit:cover;
aspect-ratio:1 / 1;
display:none;
overflow:hidden;
flex-shrink:0;
border:2px solid rgba(255,255,255,0.9);
}

.profilePicPlaceholder{
width:40px;
height:40px;
border-radius:50%;
background:#eef3f8;
display:flex;
align-items:center;
justify-content:center;
color:#7a8ba1;
font-size:17px;
flex-shrink:0;
}

.workspace{
padding:0;
height:calc(100vh - 84px);
overflow:auto;
}

.profile-menu{
display:flex;
align-items:center;
gap:12px;
position:relative;
z-index:1;
}

.profile-avatar-menu{
position:relative;
display:flex;
align-items:center;
padding-bottom:20px;
margin-bottom:-20px;
}

.profile-avatar-trigger{
border:none;
background:transparent;
padding:0;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
}

.profile-avatar-dropdown{
position:absolute;
right:0;
top:calc(100% - 2px);
opacity:0;
pointer-events:none;
transform:translateY(-6px);
transition:opacity 0.16s ease, transform 0.16s ease;
z-index:10;
padding-top:14px;
min-width:max-content;
}

.profile-avatar-dropdown::before{
content:"";
position:absolute;
left:0;
right:0;
top:0;
height:18px;
}

.profile-avatar-menu:hover .profile-avatar-dropdown,
.profile-avatar-menu:focus-within .profile-avatar-dropdown{
opacity:1;
pointer-events:auto;
transform:translateY(0);
}

.profile-avatar-logout-btn{
border:1px solid rgba(21,48,79,0.18);
background:#ffffff;
color:#17304e;
font-size:13px;
padding:9px 14px;
border-radius:12px;
display:inline-flex;
align-items:center;
gap:8px;
cursor:pointer;
box-shadow:0 18px 34px rgba(12,36,62,0.16);
}

.header-brand{
display:flex;
align-items:center;
gap:12px;
min-width:240px;
}

.header-rooming{
display:flex;
align-items:center;
gap:14px;
min-width:320px;
padding-right:12px;
}

.header-rooming-icon{
width:42px;
height:42px;
font-size:20px;
box-shadow:0 8px 18px rgba(188,161,43,0.2);
}

.header-rooming-copy{
display:flex;
flex-direction:column;
gap:6px;
justify-content:center;
}

.header-profile{
display:flex;
align-items:center;
gap:14px;
min-width:220px;
padding-right:12px;
}

.profile-header-icon{
width:auto;
height:auto;
font-size:18px;
box-shadow:none;
background:transparent;
color:#183355;
border-radius:0;
}

.header-profile-title{
font-size:24px;
line-height:1;
font-weight:700;
color:#161616;
}

.header-rooming-title{
font-size:34px;
line-height:1;
font-weight:700;
color:#161616;
}

.header-rooming-tabs{
display:flex;
gap:22px;
padding-bottom:4px;
}

.rooming-card-tabs{
display:flex;
gap:22px;
margin-bottom:18px;
}

.rooming-shared-tabs{
margin-bottom:0;
padding:0 2px;
}

.header-rooming-actions{
display:flex;
align-items:center;
gap:10px;
margin-left:auto;
padding-right:8px;
}

.header-brand-script{
font-family:"SignPainter HouseScript", "Brush Script MT", cursive;
font-size:26px;
line-height:1;
color:#17304e;
padding-top:2px;
}

.header-separator{
width:1px;
height:28px;
background:rgba(13,36,64,0.18);
}

.header-page-label{
font-size:14px;
color:#5b6775;
}

.header-title-wrap{
flex:1;
display:flex;
justify-content:center;
align-items:center;
min-width:0;
position:relative;
z-index:5;
}

.header.profile-mode{
display:flex;
align-items:center;
}

.header.profile-mode .header-profile{
order:1;
flex:0 0 auto;
margin-right:18px;
}

.header.profile-mode .header-title-wrap{
order:2;
flex:1;
justify-content:center;
pointer-events:auto;
}

.header.profile-mode .profile-menu{
order:3;
margin-left:auto;
}

.header.flight-mode .header-title-wrap{
position:absolute;
left:50%;
transform:translateX(-50%);
width:min(100%, 760px);
display:flex;
justify-content:center;
pointer-events:none;
}

.header.flight-mode #titleInput{
margin:0;
pointer-events:auto;
}

.header.rooming-mode .header-title-wrap{
position:absolute;
left:50%;
transform:translateX(-50%);
width:min(100%, 760px);
display:flex;
justify-content:center;
pointer-events:none;
}

.header.rooming-mode #titleInput{
margin:0;
pointer-events:auto;
}

.header-icon-btn{
width:30px;
height:30px;
border:none;
background:transparent;
cursor:pointer;
color:#7f8ca1;
font-size:15px;
}

.notification-trigger{
position:relative;
width:auto;
height:auto;
padding:0;
border:none;
border-radius:0;
background:transparent;
color:#17304e;
box-shadow:none;
display:inline-flex;
align-items:center;
justify-content:center;
transition:transform 0.16s ease, color 0.16s ease;
}

.notification-trigger i{
font-size:20px;
line-height:1;
}

.notification-trigger:hover,
.notification-trigger.is-open{
transform:translateY(-1px);
color:#112a49;
}

.header-notification-badge{
position:absolute;
top:-7px;
right:-8px;
min-width:18px;
height:18px;
padding:0 5px;
border-radius:999px;
background:#d52b1e;
color:#fff;
font-size:11px;
font-weight:800;
display:inline-flex;
align-items:center;
justify-content:center;
box-shadow:0 10px 20px rgba(213,43,30,0.35);
line-height:1;
}

.header-notification-panel{
position:absolute;
right:0;
top:calc(100% + 12px);
width:360px;
max-height:460px;
padding:14px;
border-radius:24px;
border:1px solid rgba(17,42,73,0.1);
background:linear-gradient(180deg,rgba(255,255,255,0.98),rgba(245,249,253,0.97));
box-shadow:0 26px 60px rgba(17,42,73,0.18);
backdrop-filter:blur(16px);
display:none;
z-index:30;
}

.header-notification-panel.open{
display:block;
}

.header-notification-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
padding-bottom:10px;
border-bottom:1px solid rgba(148,163,184,0.18);
position:relative;
z-index:2;
}

.header-notification-title{
font-size:15px;
font-weight:700;
color:#17304e;
}

.header-notification-sync-btn{
appearance:none;
-webkit-appearance:none;
border:none;
background:linear-gradient(180deg,#ffffff,#edf3f8);
color:#17304e;
font-size:12px;
font-weight:700;
padding:8px 12px;
border-radius:999px;
display:inline-flex;
align-items:center;
justify-content:center;
gap:7px;
cursor:pointer;
border:1px solid rgba(23,48,78,0.1);
box-shadow:0 6px 14px rgba(17,42,73,0.06);
line-height:1;
position:relative;
z-index:1;
pointer-events:auto;
transition:background 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.header-notification-head-actions{
display:flex;
align-items:center;
gap:8px;
position:relative;
z-index:3;
pointer-events:auto;
}

.header-notification-clear-all{
appearance:none;
-webkit-appearance:none;
border:none;
background:linear-gradient(180deg,#ffffff,#edf3f8);
color:#17304e;
font-size:12px;
font-weight:700;
padding:8px 12px;
border-radius:999px;
display:inline-flex;
align-items:center;
justify-content:center;
gap:7px;
cursor:pointer;
border:1px solid rgba(23,48,78,0.1);
box-shadow:0 6px 14px rgba(17,42,73,0.06);
line-height:1;
position:relative;
z-index:1;
pointer-events:auto;
transition:background 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.header-notification-sync-btn:hover,
.header-notification-clear-all:hover{
background:linear-gradient(180deg,#fffef8,#f5ead0);
border-color:rgba(243,181,67,0.72);
color:#112a49;
box-shadow:0 12px 22px rgba(17,42,73,0.12);
}

.header-notification-list{
display:flex;
flex-direction:column;
gap:10px;
margin-top:12px;
max-height:380px;
overflow:auto;
padding-right:4px;
}

.header-notification-tabs{
display:flex;
flex-direction:column;
gap:10px;
overflow:auto;
padding:12px 2px 2px;
margin-top:2px;
max-height:380px;
}

.header-notification-group{
border:1px solid rgba(23,48,78,0.12);
border-radius:14px;
background:linear-gradient(180deg,#ffffff,#f5f8fb);
box-shadow:0 10px 20px rgba(17,42,73,0.05);
overflow:hidden;
}

.header-notification-tab{
width:100%;
border:none;
background:transparent;
color:#17304e;
border-radius:0;
padding:12px 14px;
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
cursor:pointer;
font-size:12px;
font-weight:700;
text-align:left;
transition:background 0.16s ease, color 0.16s ease;
appearance:none;
overflow:hidden;
}

.header-notification-tab:hover,
.header-notification-group.is-open .header-notification-tab{
background:linear-gradient(180deg,#fffef8,#f5ead0);
}

.header-notification-tab-label{
display:block;
flex:1 1 auto;
min-width:0;
max-width:100%;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.header-notification-tab-meta{
display:inline-flex;
align-items:center;
gap:10px;
flex-shrink:0;
}

.header-notification-tab-badge{
min-width:18px;
height:18px;
padding:0 5px;
border-radius:6px;
background:#d52b1e;
color:#fff;
font-size:10px;
font-weight:700;
display:inline-flex;
align-items:center;
justify-content:center;
}

.header-notification-tab-arrow{
display:inline-flex;
align-items:center;
justify-content:center;
width:20px;
height:20px;
color:#64748b;
transition:transform 0.16s ease, color 0.16s ease;
}

.header-notification-group.is-open .header-notification-tab-arrow{
transform:rotate(180deg);
color:#17304e;
}

.header-notification-group-list{
display:flex;
flex-direction:column;
gap:10px;
padding:0 10px 10px;
border-top:1px solid rgba(23,48,78,0.08);
background:rgba(248,250,252,0.82);
max-height:240px;
overflow:auto;
}

.header-notification-empty{
padding:24px 18px;
border-radius:18px;
background:rgba(238,244,250,0.9);
color:#64748b;
font-size:13px;
text-align:center;
}

.header-notification-item{
position:relative;
display:flex;
gap:12px;
padding:14px;
border-radius:18px;
border:1px solid rgba(148,163,184,0.16);
background:#fff;
cursor:pointer;
transition:transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.header-notification-item:hover{
transform:translateY(-1px);
border-color:rgba(23,48,78,0.16);
box-shadow:0 14px 28px rgba(17,42,73,0.08);
}

.header-notification-item.is-new{
background:linear-gradient(180deg,#fff8ef,#ffffff);
border-color:rgba(213,153,50,0.28);
}

.header-notification-item.is-viewed{
opacity:0.82;
}

.header-notification-item.is-highlighted{
border-color:#d3b32d;
box-shadow:0 0 0 3px rgba(211,179,45,0.15);
}

.header-notification-mark{
width:12px;
height:12px;
margin-top:5px;
border-radius:50%;
background:#d52b1e;
flex-shrink:0;
box-shadow:0 0 0 4px rgba(213,43,30,0.12);
}

.header-notification-item.is-viewed .header-notification-mark{
background:#cbd5e1;
box-shadow:none;
}

.header-notification-body{
min-width:0;
flex:1;
}

.header-notification-meta{
display:flex;
align-items:center;
gap:8px;
font-size:11px;
font-weight:700;
letter-spacing:0.04em;
text-transform:uppercase;
color:#64748b;
}

.header-notification-message{
margin-top:5px;
font-size:13px;
line-height:1.45;
color:#0f172a;
}

.header-notification-time{
margin-top:7px;
font-size:12px;
color:#64748b;
}

.header-notification-remove{
position:absolute;
top:10px;
right:10px;
width:24px;
height:24px;
border:none;
border-radius:50%;
background:rgba(15,23,42,0.06);
color:#64748b;
display:none;
align-items:center;
justify-content:center;
cursor:pointer;
}

.header-notification-item:hover .header-notification-remove{
display:inline-flex;
}

#titleInput:placeholder-shown,
.dashboard-field:placeholder-shown{
border-color:rgba(23,48,78,0.24);
background:rgba(255,255,255,0.16);
}

#titleInput:not(:placeholder-shown),
.dashboard-field:not(:placeholder-shown){
border-color:transparent;
background:transparent;
}

#dashboardHome{
padding:0 0 26px;
min-height:calc(100vh - 84px);
display:flex;
flex-direction:column;
}

#profilePage{
padding:22px 22px 30px;
min-height:calc(100vh - 84px);
background:#f5f8fb;
}

#itineraryPage{
padding:24px 28px 32px;
min-height:calc(100vh - 84px);
background:#f5f8fb;
}

.itinerary-page-shell{
min-height:calc(100vh - 140px);
display:flex;
flex-direction:column;
gap:16px;
}

.itinerary-admin-bar{
display:flex;
align-items:center;
justify-content:space-between;
flex-wrap:wrap;
gap:12px;
padding:14px 18px;
border-radius:18px;
background:linear-gradient(180deg,#ffffff 0%, #f7fbff 100%);
border:1px solid rgba(22,48,79,0.12);
box-shadow:0 12px 28px rgba(15,31,53,0.08);
}

.itinerary-admin-bar .rooming-admin-target-slot{
display:flex;
flex:1 1 340px;
min-width:280px;
}

.itinerary-admin-bar .rooming-admin-target-bar{
min-height:46px;
padding:8px 10px 8px 14px;
border-radius:14px;
background:linear-gradient(180deg,#eef5fb 0%, #e6f0fa 100%);
border:1px solid rgba(35,73,112,0.14);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.72);
}

.itinerary-admin-bar .rooming-admin-target-copy{
gap:4px;
}

.itinerary-admin-bar .rooming-admin-target-label{
color:#36506e;
font-size:11px;
letter-spacing:0.08em;
}

.itinerary-admin-bar .rooming-admin-target-select{
min-width:220px;
height:34px;
padding:0 36px 0 12px;
border-radius:10px;
border:1px solid rgba(36,73,111,0.16);
background:
linear-gradient(180deg, rgba(255,255,255,0.98), rgba(242,247,252,0.98));
color:#17304e;
font-size:12px;
font-weight:600;
box-shadow:0 6px 14px rgba(30, 58, 95, 0.08);
}

.itinerary-admin-bar .rooming-admin-target-select:hover,
.itinerary-admin-bar .rooming-admin-target-select:focus{
border-color:rgba(34,73,111,0.32);
box-shadow:0 0 0 3px rgba(86, 131, 186, 0.12);
}

.itinerary-admin-actions{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:8px;
justify-content:flex-end;
margin-left:auto;
}

.itinerary-pending-state{
display:none;
align-items:center;
min-height:34px;
padding:0 12px;
border-radius:10px;
background:rgba(23,48,78,0.08);
color:#28425f;
font-size:12px;
font-weight:600;
max-width:360px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.itinerary-admin-btn{
height:34px;
padding:0 12px;
border:none;
border-radius:10px;
background:#17304e;
color:#fff;
display:inline-flex;
align-items:center;
gap:8px;
font-size:12px;
font-weight:600;
cursor:pointer;
}

.itinerary-admin-btn.delete{
background:#b64a4a;
}

.itinerary-popup-overlay{
display:none;
position:fixed;
left:0;
top:0;
z-index:1400;
}

.itinerary-popup{
width:248px;
padding:12px;
border-radius:12px;
background:#f8fbff;
border:1px solid rgba(21,49,84,0.14);
box-shadow:0 18px 36px rgba(10, 24, 43, 0.24);
color:#17304e;
}

.itinerary-popup-title{
font-size:13px;
font-weight:700;
line-height:1.2;
margin-bottom:6px;
}

.itinerary-popup-copy{
font-size:12px;
line-height:1.4;
color:#5f7186;
margin-bottom:10px;
}

.itinerary-popup-actions{
display:flex;
justify-content:flex-end;
gap:8px;
}

.itinerary-popup-btn{
height:30px;
padding:0 10px;
border:none;
border-radius:8px;
background:#e9eff6;
color:#17304e;
font-size:12px;
font-weight:600;
cursor:pointer;
}

.itinerary-popup-btn.danger{
background:#c74f4f;
color:#fff;
}

.itinerary-empty-state{
min-height:calc(100vh - 220px);
border-radius:24px;
background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
border:1px solid rgba(22,48,79,0.1);
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
padding:40px 28px;
color:#4f6174;
}

.itinerary-empty-title{
font-size:22px;
font-weight:700;
color:#1d3553;
margin-bottom:10px;
}

.itinerary-empty-copy{
font-size:14px;
line-height:1.5;
max-width:520px;
}

.itinerary-pdf-wrap{
flex:1;
min-height:calc(100vh - 180px);
border-radius:24px;
overflow:hidden;
background:#fff;
border:1px solid rgba(22,48,79,0.1);
box-shadow:0 16px 38px rgba(15,31,53,0.08);
position:relative;
}

.itinerary-frame{
width:100%;
height:calc(100vh - 180px);
border:none;
display:block;
background:#fff;
}

.itinerary-loading-state{
position:absolute;
inset:0;
display:none;
flex-direction:column;
align-items:center;
justify-content:center;
gap:12px;
background:linear-gradient(180deg, rgba(247,250,253,0.96), rgba(255,255,255,0.92));
z-index:2;
}

.itinerary-loading-spinner{
width:28px;
height:28px;
border-radius:50%;
border:3px solid rgba(23,48,78,0.14);
border-top-color:#22496f;
animation:itinerarySpin 0.8s linear infinite;
}

.itinerary-loading-copy{
font-size:13px;
font-weight:600;
color:#36506f;
}

@keyframes itinerarySpin{
from{transform:rotate(0deg);}
to{transform:rotate(360deg);}
}

.profile-page-shell{
max-width:1220px;
margin:0 auto;
}

.profile-page-heading{
font-size:22px;
font-weight:800;
letter-spacing:0.02em;
color:#183355;
margin-bottom:18px;
}

.profile-top-grid{
display:grid;
grid-template-columns:240px minmax(0, 1fr);
gap:22px;
margin-bottom:18px;
align-items:start;
}

.profile-card{
background:#ffffff;
border-radius:18px;
box-shadow:0 10px 24px rgba(16,38,66,0.08);
padding:22px 22px 18px;
}

.profile-identity-card{
display:flex;
flex-direction:column;
align-items:center;
gap:16px;
min-height:292px;
}

.profile-image-shell{
position:relative;
width:132px;
height:132px;
}

.profile-page-avatar,
.profile-page-avatar-placeholder{
width:132px;
height:132px;
border-radius:50%;
}

.profile-page-avatar{
display:none;
object-fit:cover;
}

.profile-page-avatar-placeholder{
display:flex;
align-items:center;
justify-content:center;
background:#eaf3fa;
color:#8092a6;
font-size:52px;
}

.profile-image-edit-btn{
position:absolute;
right:8px;
bottom:8px;
width:30px;
height:30px;
border:none;
border-radius:50%;
background:#ffffff;
color:#183355;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
box-shadow:0 8px 18px rgba(16,38,66,0.12);
}

.profile-image-menu{
position:absolute;
right:-12px;
top:calc(100% + 10px);
display:none;
background:#ffffff;
border:1px solid rgba(24,51,85,0.12);
border-radius:12px;
box-shadow:0 16px 30px rgba(16,38,66,0.14);
padding:6px;
z-index:10;
min-width:160px;
}

.profile-image-menu.open{
display:block;
}

.profile-image-menu button{
width:100%;
border:none;
background:transparent;
padding:9px 10px;
border-radius:8px;
display:flex;
align-items:center;
gap:8px;
cursor:pointer;
color:#183355;
font-size:13px;
}

.profile-display-name{
font-size:16px;
font-weight:700;
color:#1f2d3d;
text-align:center;
}

.profile-address-box{
display:grid;
grid-template-columns:auto minmax(0, 1fr);
align-items:center;
gap:12px;
width:100%;
max-width:170px;
}

.profile-address-box-icon{
display:flex;
align-items:center;
justify-content:center;
color:#6d7f93;
font-size:16px;
}

.profile-address-box-body{
display:flex;
align-items:center;
min-height:52px;
padding:0 14px;
border:1px solid #d7e2ee;
border-radius:16px;
background:#ffffff;
box-sizing:border-box;
}

.profile-address-input{
border:none;
background:transparent;
outline:none;
font-size:14px;
font-weight:600;
color:#183355;
min-width:0;
width:100%;
}

.profile-address-input::placeholder{
color:#183355;
opacity:0.72;
}

.profile-user-card{
min-height:292px;
}

.profile-card-title{
font-size:16px;
font-weight:700;
color:#183355;
}

.profile-card-subtitle{
margin-top:4px;
font-size:13px;
color:#7b8794;
}

.profile-form-block{
margin-top:18px;
display:flex;
flex-direction:column;
gap:16px;
}

.profile-field{
display:flex;
flex-direction:column;
gap:8px;
}

.profile-field span,
.profile-dynamic-label,
.profile-panel-label{
font-size:13px;
font-weight:700;
color:#2a3b50;
}

.profile-input,
.profile-code-select{
border:1px solid #c8d4e2;
border-radius:10px;
padding:10px 12px;
font-size:14px;
color:#1d2a39;
background:#ffffff;
outline:none;
}

.profile-dynamic-group{
display:flex;
flex-direction:column;
gap:8px;
}

.profile-dynamic-rows{
display:flex;
flex-direction:column;
gap:10px;
}

.profile-dynamic-row{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:10px;
align-items:center;
}

.profile-phone-row{
display:grid;
grid-template-columns:86px minmax(0, 1fr);
gap:10px;
}

.profile-row-actions{
display:flex;
align-items:center;
gap:8px;
min-width:28px;
}

.profile-add-btn,
.profile-remove-btn{
width:28px;
height:28px;
border:none;
border-radius:50%;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
}

.profile-add-btn{
background:#183355;
color:#ffffff;
}

.profile-remove-btn{
background:#eef3f8;
color:#183355;
opacity:0;
pointer-events:none;
}

.profile-dynamic-row.is-removable:hover .profile-remove-btn{
opacity:1;
pointer-events:auto;
}

.profile-org-card{
display:flex;
flex-direction:column;
gap:18px;
}

.profile-org-name-row{
max-width:340px;
}

.profile-org-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:28px;
}

.profile-org-panel{
display:flex;
flex-direction:column;
gap:10px;
}

.profile-panel-body{
border:1px solid #d7e2ee;
border-radius:14px;
padding:14px;
display:flex;
flex-direction:column;
gap:12px;
min-height:184px;
}

.profile-icon-field{
display:grid;
grid-template-columns:18px minmax(0, 1fr);
gap:10px;
align-items:center;
}

.profile-icon-field i{
color:#6f7f90;
font-size:14px;
text-align:center;
}

.profile-panel-split{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:12px;
}

.dashboard-lower{
margin-top:0;
padding-bottom:8px;
}

.dashboard-hero{
background:white;
}

.hero-image-shell{
position:relative;
height:420px;
overflow:hidden;
background:linear-gradient(135deg,#84bcf2,#dce8f4);
}

.hero-image{
width:100%;
height:100%;
object-fit:cover;
display:none;
}

.hero-image-placeholder{
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(88,147,224,0.85),rgba(255,188,71,0.15)), url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1600&q=80") center/cover;
}

.hero-image-edit{
position:absolute;
right:16px;
bottom:14px;
width:36px;
height:36px;
border:none;
border-radius:50%;
background:rgba(22,48,79,0.88);
color:white;
cursor:pointer;
display:none;
align-items:center;
justify-content:center;
box-shadow:0 10px 20px rgba(0,0,0,0.2);
}

.hero-image-shell:hover .hero-image-edit{
display:flex;
}

.hero-overlay-fields{
position:absolute;
left:32px;
top:56px;
display:flex;
flex-direction:column;
gap:12px;
color:white;
max-width:none;
}

.dashboard-field{
border:1px solid transparent;
outline:none;
border-radius:8px;
padding:6px 10px;
font-size:14px;
color:inherit;
width:100%;
transition:border-color 0.16s ease, background 0.16s ease;
}

.dashboard-field::placeholder,
#titleInput::placeholder{
color:inherit;
opacity:0.78;
}

.hero-title-input{
font-size:36px;
font-weight:700;
padding-left:0;
margin-left:-10px;
width:auto;
max-width:none;
}

.hero-meta-line{
display:flex;
align-items:center;
gap:14px;
font-size:13px;
max-width:none;
width:max-content;
}

.hero-meta-line i{
width:14px;
font-size:13px;
}

.inline-dashboard-field{
padding-left:0;
margin-left:-10px;
width:auto;
min-width:140px;
max-width:none;
}

.dashboard-grid{
display:grid;
grid-template-columns:minmax(0, 0.9fr) minmax(320px, 0.72fr);
gap:18px;
padding:12px 14px 0;
align-items:stretch;
}

.dashboard-card{
background:white;
border-radius:6px;
box-shadow:0 3px 12px rgba(10,35,58,0.14);
}

.header-flight{
display:flex;
align-items:center;
gap:14px;
min-width:320px;
padding-right:12px;
}

.flight-header-icon{
background:transparent;
color:#111111;
box-shadow:none;
width:auto;
height:auto;
font-size:28px;
border-radius:0;
display:flex;
align-items:center;
justify-content:center;
}

.flight-header-separator{
height:34px;
}

#flightInfoPage{
padding:18px 18px 26px;
min-height:calc(100vh - 84px);
background:#f5f8fb;
}

.flight-page-shell{
max-width:1820px;
margin:0;
padding:0 4px 0 4px;
--flight-table-columns:72px minmax(122px, 1.08fr) minmax(198px, 1.46fr) minmax(64px, 0.56fr) minmax(70px, 0.54fr) minmax(104px, 0.72fr) minmax(132px, 0.86fr) minmax(176px, 1.02fr) 54px 24px;
}

.flight-layout{
display:grid;
grid-template-columns:minmax(0, 1fr);
gap:18px;
align-items:start;
}

.flight-page-shell.flight-admin-layout .flight-layout{
grid-template-columns:minmax(0, 1fr) 320px;
gap:20px;
}

.flight-page-shell.flight-admin-layout{
margin:0 auto;
}

.flight-page-shell:not(.flight-admin-layout){
margin:0 auto;
}

.flight-page-shell.flight-compact-viewport:not(.flight-admin-layout) .flight-layout{
grid-template-columns:1fr;
gap:16px;
}

.flight-page-shell.flight-compact-viewport:not(.flight-admin-layout) .flight-radar-panel{
position:relative;
top:auto;
min-height:0;
}

.flight-page-shell.flight-compact-viewport .flight-table-shell{
overflow-x:auto;
overflow-y:hidden;
padding-right:18px;
}

.flight-page-shell.flight-compact-viewport .flight-table-head,
.flight-page-shell.flight-compact-viewport .flight-row{
min-width:1500px;
width:max-content;
}

.flight-page-shell.flight-compact-viewport .flight-rows{
min-width:1500px;
padding-right:12px;
overflow-x:visible;
}

.flight-page-shell.flight-admin-tracker-top .flight-layout{
grid-template-columns:minmax(0, 1fr);
gap:16px;
}

.flight-panels{
min-width:0;
display:flex;
flex-direction:column;
}

.flight-radar-panel{
position:sticky;
top:110px;
display:flex;
flex-direction:column;
gap:16px;
min-height:720px;
padding:16px 14px 18px;
overflow:visible;
background:
radial-gradient(circle at center, rgba(71,76,90,0.16) 0 22%, rgba(38,41,52,0.04) 22% 42%, rgba(27,29,38,0.02) 42% 100%),
linear-gradient(180deg, #2a2d38 0%, #232733 100%);
border:1px solid rgba(84,90,106,0.8);
border-radius:10px;
box-shadow:0 20px 36px rgba(17,19,27,0.24);
width:100%;
justify-self:stretch;
align-self:stretch;
}

.flight-page-shell.flight-admin-tracker-top .flight-radar-panel{
position:relative;
top:auto;
min-height:0;
display:grid;
grid-template-columns:250px 1px minmax(0, 1fr);
gap:18px;
padding:16px 18px;
align-items:stretch;
}

.flightRadarShell{
display:flex;
justify-content:center;
align-items:flex-start;
padding-top:4px;
min-height:332px;
flex:0 0 auto;
overflow:visible;
}

.flight-page-shell.flight-admin-tracker-top .flightRadarShell{
min-height:250px;
height:100%;
align-items:center;
padding-top:0;
}

.flight-radar-divider{
height:1px;
background:rgba(255,255,255,0.18);
margin:2px 4px 0;
flex:0 0 auto;
}

.flight-page-shell.flight-admin-tracker-top .flight-radar-divider{
width:1px;
height:auto;
margin:0;
justify-self:center;
align-self:stretch;
}

.flight-page-intro{
display:flex;
flex-direction:column;
align-items:center;
gap:4px;
padding:2px 0 34px;
position:relative;
}

.flight-page-header-actions{
position:absolute;
top:0;
right:0;
display:flex;
align-items:center;
justify-content:flex-end;
width:100%;
pointer-events:none;
}

.flight-card-clear-wrap{
pointer-events:auto;
}

.flight-page-subtitle{
border:none;
outline:none;
background:transparent;
font-size:27px;
line-height:1.08;
font-weight:500;
color:#24313f;
text-align:center;
width:min(100%, 420px);
}

.flight-page-subtitle::placeholder{
color:#24313f;
opacity:1;
}

.flight-tracker-panel{
display:flex;
flex-direction:column;
gap:14px;
flex:1 1 auto;
min-height:0;
padding:2px 4px 0;
color:#edf3ff;
}

.flight-page-shell.flight-admin-tracker-top .flight-tracker-panel{
display:grid;
grid-template-columns:minmax(230px, 0.95fr) minmax(240px, 1.05fr) minmax(250px, 1.15fr);
gap:12px 14px;
align-content:start;
padding:0;
}

.flight-tracker-topbar{
display:flex;
flex-direction:column;
gap:10px;
}

.flight-page-shell.flight-admin-tracker-top .flight-tracker-topbar{
grid-column:1;
align-self:start;
padding:10px 12px;
border-radius:14px;
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,255,255,0.08);
}

.flight-tracker-topline{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
}

.flight-tracker-kicker{
font-size:11px;
font-weight:700;
letter-spacing:0.14em;
text-transform:uppercase;
color:rgba(230,238,255,0.72);
}

.flight-tracker-tabs{
display:grid;
grid-template-columns:1fr 1fr;
gap:8px;
}

.flight-tracker-sync-btn{
border:1px solid rgba(179,197,225,0.16);
border-radius:999px;
background:rgba(255,255,255,0.06);
color:#edf3ff;
padding:7px 12px;
font-size:11px;
font-weight:700;
letter-spacing:0.04em;
cursor:pointer;
}

.flight-tracker-sync-btn:disabled{
opacity:0.65;
cursor:default;
}

.flight-tracker-tab{
border:1px solid rgba(153,177,214,0.18);
border-radius:12px;
background:rgba(255,255,255,0.05);
color:#dbe7ff;
padding:10px 12px;
font-size:12px;
font-weight:700;
cursor:pointer;
transition:background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.flight-tracker-tab.is-active{
background:linear-gradient(180deg, rgba(103,140,197,0.34), rgba(77,108,160,0.22));
border-color:rgba(168,192,235,0.42);
color:#ffffff;
}

.flight-tracker-summary{
display:flex;
flex-direction:column;
gap:12px;
padding:14px;
border-radius:16px;
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,255,255,0.08);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}

.flight-page-shell.flight-admin-tracker-top .flight-tracker-summary{
grid-column:2;
height:100%;
}

.flight-tracker-title-row{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:10px;
}

.flight-tracker-title{
font-size:15px;
font-weight:700;
line-height:1.3;
color:#ffffff;
}

.flight-tracker-subtitle{
margin-top:4px;
font-size:12px;
color:rgba(224,232,245,0.72);
}

.flight-tracker-status{
display:inline-flex;
align-items:center;
justify-content:center;
padding:5px 10px;
border-radius:999px;
font-size:11px;
font-weight:700;
white-space:nowrap;
}

.flight-tracker-status.on-time{
color:#8de1a5;
background:rgba(44,128,73,0.2);
}

.flight-tracker-status.delayed{
color:#f3d77c;
background:rgba(155,117,16,0.22);
}

.flight-tracker-status.canceled{
color:#ffaaa5;
background:rgba(204,78,78,0.2);
}

.flight-tracker-meta{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:10px;
}

.flight-tracker-metric{
display:flex;
flex-direction:column;
gap:5px;
padding:10px 12px;
border-radius:12px;
background:rgba(14,20,31,0.24);
}

.flight-tracker-metric span{
font-size:10px;
font-weight:700;
letter-spacing:0.12em;
text-transform:uppercase;
color:rgba(205,216,232,0.62);
}

.flight-tracker-metric strong{
font-size:12px;
line-height:1.35;
color:#f3f7ff;
}

.flight-tracker-list{
display:flex;
flex-direction:column;
gap:8px;
max-height:184px;
overflow:auto;
padding-right:4px;
}

.flight-page-shell.flight-admin-tracker-top .flight-tracker-list{
grid-column:3;
max-height:unset;
height:100%;
}

.flight-tracker-flight{
width:100%;
border:1px solid rgba(255,255,255,0.07);
border-radius:14px;
background:rgba(255,255,255,0.035);
padding:10px 12px;
text-align:left;
cursor:pointer;
display:flex;
flex-direction:column;
gap:5px;
color:#e5efff;
}

.flight-tracker-flight.is-active{
background:linear-gradient(180deg, rgba(84,120,178,0.28), rgba(58,82,122,0.16));
border-color:rgba(160,188,233,0.34);
box-shadow:0 10px 22px rgba(6,10,18,0.18);
}

.flight-tracker-flight-line{
font-size:12px;
font-weight:700;
line-height:1.35;
}

.flight-tracker-flight-meta{
display:flex;
align-items:center;
gap:7px;
font-size:11px;
color:rgba(223,232,246,0.72);
}

.flight-tracker-dot{
width:4px;
height:4px;
border-radius:50%;
background:rgba(226,234,248,0.52);
display:inline-block;
flex:0 0 auto;
}

.flight-tracker-live-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
font-size:11px;
font-weight:700;
letter-spacing:0.08em;
text-transform:uppercase;
color:rgba(220,228,242,0.68);
}

.flight-page-shell.flight-admin-tracker-top .flight-tracker-live-head{
grid-column:1 / -1;
margin-top:2px;
}

.flight-live-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px;
}

.flight-page-shell.flight-admin-tracker-top .flight-live-grid,
.flight-page-shell.flight-admin-tracker-top .flight-live-note,
.flight-page-shell.flight-admin-tracker-top .flight-live-empty{
grid-column:1 / -1;
}

.flight-live-card{
display:flex;
flex-direction:column;
gap:5px;
padding:11px 12px;
border-radius:12px;
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,255,255,0.08);
}

.flight-live-card span{
font-size:10px;
font-weight:700;
letter-spacing:0.1em;
text-transform:uppercase;
color:rgba(214,224,239,0.58);
}

.flight-live-card strong{
font-size:13px;
line-height:1.35;
color:#f3f7ff;
}

.flight-live-note,
.flight-live-empty{
padding:12px 14px;
border-radius:14px;
background:rgba(255,255,255,0.045);
border:1px solid rgba(255,255,255,0.08);
font-size:12px;
line-height:1.5;
color:rgba(234,240,250,0.82);
}

.flight-live-empty{
border-style:dashed;
}

.flight-panel{
background:#ffffff;
border-radius:4px;
box-shadow:0 5px 16px rgba(12,36,62,0.16);
margin-bottom:20px;
overflow:visible;
}

.flight-panel:last-child{
margin-bottom:0;
}

.flight-panel-bar{
height:24px;
background:#17304e;
color:#ffffff;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 4px 0 12px;
font-size:12px;
font-weight:500;
letter-spacing:0.02em;
}

.flight-panel-menu{
border:none;
background:transparent;
color:#c98c3a;
font-size:18px;
cursor:pointer;
width:28px;
height:28px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:10px;
transition:background 0.16s ease, color 0.16s ease;
}

.flight-panel-menu:hover{
background:rgba(255,255,255,0.12);
color:#e7b26d;
}

.flight-panel-menu-wrap{
position:relative;
display:inline-flex;
align-items:center;
gap:2px;
}

.flight-panel-window-btn{
border:none;
background:transparent;
color:#d79b4d;
font-size:12px;
cursor:pointer;
width:26px;
height:26px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:8px;
transition:background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.flight-panel-window-btn:hover,
.flight-panel-window-btn:focus-visible{
background:rgba(255,255,255,0.12);
color:#efbf80;
outline:none;
transform:translateY(-1px);
}

.flight-panel[data-panel-section]:not(.is-maximized) [data-action="minimize-flight-panel"]{
display:none;
}

.flight-panel.is-maximized [data-action="maximize-flight-panel"]{
display:none;
}

.flight-panel-menu-popup{
position:absolute;
top:calc(100% + 8px);
right:0;
min-width:190px;
padding:6px;
border-radius:12px;
background:#ffffff;
border:1px solid #dfe6ee;
box-shadow:0 14px 30px rgba(15,36,62,0.16);
display:none;
z-index:60;
}

.flight-panel-menu-popup.open{
display:block;
}

.flight-panel-menu-popup button{
width:100%;
border:none;
background:transparent;
padding:9px 10px;
display:flex;
align-items:center;
gap:9px;
text-align:left;
font-size:12px;
font-weight:700;
color:#1c2732;
border-radius:8px;
cursor:pointer;
}

.flight-panel-menu-popup button i{
width:16px;
text-align:center;
color:#17304e;
}

.flight-panel-menu-popup button:hover{
background:#eef4fb;
}

.flight-panel-body{
padding:14px 16px 18px;
display:flex;
flex-direction:column;
min-height:0;
}

.flight-page-shell.flight-has-maximized-panel .flight-panel.is-maximized{
position:fixed;
top:84px;
left:50%;
transform:translateX(-50%);
z-index:1100;
width:min(1520px, calc(100vw - 42px));
height:min(84vh, 980px);
margin:0;
border-radius:18px;
box-shadow:0 34px 80px rgba(17,31,53,0.28);
}

.flight-page-shell.flight-has-maximized-panel .flight-panel.is-maximized .flight-panel-body{
height:calc(100% - 24px);
padding-bottom:16px;
}

.flight-page-shell.flight-has-maximized-panel .flight-panel.is-maximized .flight-table-shell{
flex:1;
display:flex;
flex-direction:column;
min-height:0;
}

.flight-page-shell.flight-has-maximized-panel .flight-panel.is-maximized .flight-rows{
flex:1;
min-height:0;
max-height:none;
padding-right:12px;
}

body.flight-panel-maximized-open{
overflow:hidden;
}

.flight-table-title{
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.04em;
color:#1b2027;
margin:2px 0 12px 14px;
}

.flight-table-shell{
border:2px solid #d6f8df;
border-radius:18px;
padding:14px 20px 12px 14px;
background:#ffffff;
display:flex;
flex-direction:column;
height:340px;
min-height:340px;
overflow:visible;
}

.flight-table-head,
.flight-row{
display:grid;
grid-template-columns:var(--flight-table-columns);
column-gap:10px;
align-items:start;
min-width:0;
width:100%;
}

.flight-table-head{
padding:0 0 12px 0;
font-size:11px;
font-weight:800;
color:#14171b;
border-bottom:1px solid rgba(165,173,184,0.65);
margin-bottom:10px;
align-items:center;
min-height:30px;
}

.flight-head-cell{
display:flex;
align-items:center;
justify-self:stretch;
text-align:left;
position:relative;
white-space:nowrap;
line-height:1.1;
padding-top:0;
min-height:30px;
}

.flight-head-cell:not(.flight-col-date):not(.flight-col-actions)::before{
content:"";
position:absolute;
left:-10px;
top:50%;
transform:translateY(-50%);
width:1px;
height:24px;
background:rgba(17,24,39,0.55);
}

.flight-table-head .flight-col-date{
padding-left:18px;
}

.flight-table-head .flight-col-name{
padding-left:20px;
}

.flight-table-head .flight-col-airline{
padding-left:70px;
}

.flight-table-head .flight-col-airline::before{
left:66px;
transform:translateY(-50%);
}

.flight-table-head .flight-col-time{
padding-left:0;
margin-left:-2px;
}

.flight-table-head .flight-col-pax{
padding-left:0;
margin-left:0;
}

.flight-table-head .flight-col-status{
padding-left:0;
margin-left:0;
}

.flight-table-head .flight-col-transport,
.flight-table-head .flight-col-destination,
.flight-table-head .flight-col-comment{
padding-left:0;
margin-left:0;
}

.flight-table-head .flight-col-comment{
justify-content:flex-start;
padding-left:6px;
margin-left:-24px;
}

.flight-table-head .flight-col-comment::before{
left:8px;
}

.flight-page-shell.flight-table-layout-clean{
--flight-table-columns:74px minmax(136px, 1.1fr) minmax(214px, 1.55fr) minmax(74px, 0.6fr) minmax(76px, 0.58fr) minmax(112px, 0.74fr) minmax(144px, 0.92fr) minmax(190px, 1.08fr) 64px 26px;
--flight-head-separator-gap:10px;
--flight-head-date-pad:12px;
--flight-head-name-pad:14px;
--flight-head-airline-pad:14px;
--flight-head-time-pad:8px;
--flight-head-pax-pad:8px;
--flight-head-status-pad:8px;
--flight-head-transport-pad:8px;
--flight-head-destination-pad:8px;
--flight-head-comment-pad:10px;
}

.flight-page-shell.flight-table-layout-clean.flight-destination-layout-dynamic{
--flight-table-columns:74px minmax(136px, 1.1fr) minmax(214px, 1.55fr) minmax(74px, 0.6fr) minmax(76px, 0.58fr) minmax(112px, 0.74fr) minmax(144px, 0.92fr) minmax(max-content, 1fr) minmax(64px, max-content) 26px;
}

.flight-page-shell.flight-table-layout-clean .flight-table-shell{
padding:14px 18px 12px 14px;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head,
.flight-page-shell.flight-table-layout-clean .flight-row{
grid-template-columns:var(--flight-table-columns);
column-gap:12px;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head{
padding:0 0 10px;
margin-bottom:8px;
min-height:28px;
align-items:center;
}

.flight-page-shell.flight-table-layout-clean .flight-head-cell{
min-height:28px;
padding-left:var(--flight-head-separator-gap);
align-items:center;
}

.flight-page-shell.flight-table-layout-clean .flight-head-cell:not(.flight-col-date):not(.flight-col-actions)::before{
left:0;
top:50%;
transform:translateY(-50%);
height:22px;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-date{
padding-left:var(--flight-head-date-pad);
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-name{
padding-left:28px;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-name::before{
left:18px;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-airline{
padding-left:var(--flight-head-airline-pad);
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-airline::before{
left:0;
transform:translateY(-50%);
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-time{
padding-left:var(--flight-head-time-pad);
margin-left:0;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-pax{
padding-left:var(--flight-head-pax-pad);
margin-left:0;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-status{
padding-left:var(--flight-head-status-pad);
margin-left:0;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-transport{
padding-left:10px;
margin-left:-10px;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-transport::before{
left:-6px;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-destination{
padding-left:var(--flight-head-destination-pad);
margin-left:0;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-comment{
padding-left:10px;
margin-left:-22px;
justify-content:flex-start;
}

.flight-page-shell.flight-table-layout-clean .flight-table-head .flight-col-comment::before{
left:-2px;
}

.flight-page-shell.flight-table-layout-clean .flight-panel:first-child .flight-table-head,
.flight-page-shell.flight-table-layout-clean .flight-panel:first-child .flight-head-cell{
min-height:28px;
padding-bottom:0;
}

.flight-page-shell.flight-table-layout-clean .flight-row{
padding:10px 0;
}

.flight-page-shell.flight-table-layout-clean .flight-date-cell{
padding-left:12px;
}

.flight-page-shell.flight-table-layout-clean .flight-col-time{
padding-left:var(--flight-head-time-pad);
}

.flight-page-shell.flight-table-layout-clean .flight-col-pax{
padding-left:var(--flight-head-pax-pad);
}

.flight-page-shell.flight-table-layout-clean .flight-col-status{
padding-left:var(--flight-head-status-pad);
}

.flight-page-shell.flight-table-layout-clean .flight-airline-cell{
padding-left:var(--flight-head-airline-pad);
}

.flight-page-shell.flight-table-layout-clean .flight-col-transport,
.flight-page-shell.flight-table-layout-clean .flight-col-destination,
.flight-page-shell.flight-table-layout-clean .flight-col-comment{
padding-top:0;
}

.flight-page-shell.flight-table-layout-clean .flight-col-transport{
padding-left:var(--flight-head-transport-pad);
}

.flight-page-shell.flight-table-layout-clean .flight-col-destination{
padding-left:30px;
}

.flight-page-shell.flight-table-layout-clean .flight-col-comment{
padding-left:var(--flight-head-comment-pad);
}

.flight-page-shell.flight-table-layout-clean.flight-destination-layout-dynamic .flight-table-head .flight-col-comment{
margin-left:0;
padding-left:14px;
}

.flight-page-shell.flight-table-layout-clean.flight-destination-layout-dynamic .flight-table-head .flight-col-comment::before{
left:0;
}

.flight-page-shell.flight-table-layout-clean.flight-destination-layout-dynamic .flight-col-destination{
width:max-content;
max-width:100%;
}

.flight-page-shell.flight-table-layout-clean.flight-destination-layout-dynamic .flight-destination-wrap,
.flight-page-shell.flight-table-layout-clean.flight-destination-layout-dynamic .flight-destination-control,
.flight-page-shell.flight-table-layout-clean.flight-destination-layout-dynamic .flight-destination-trigger,
.flight-page-shell.flight-table-layout-clean.flight-destination-layout-dynamic .flight-route-summary{
width:max-content;
max-width:100%;
}

.flight-page-shell.flight-table-layout-clean.flight-destination-layout-dynamic .flight-col-comment{
justify-content:flex-start;
}

.flight-panel:first-child .flight-table-head{
min-height:26px;
padding-bottom:8px;
}

.flight-panel:first-child .flight-head-cell{
min-height:26px;
}

.flight-table-actions-head{
display:block;
}

.flight-rows{
display:flex;
flex-direction:column;
gap:10px;
min-height:0;
overflow-y:auto;
overflow-x:hidden;
padding-right:10px;
scroll-behavior:smooth;
overscroll-behavior:contain;
scrollbar-gutter:stable;
min-width:0;
}

.flight-month-row{
padding:0 8px 3px 12px;
font-size:12px;
font-weight:700;
text-transform:uppercase;
color:#6f7b88;
}

.flight-month-label-wrap{
display:inline-flex;
align-items:center;
gap:8px;
}

.flight-month-calendar-btn{
border:none;
background:transparent;
color:#7f8b97;
cursor:pointer;
opacity:0;
pointer-events:none;
transition:opacity 0.16s ease;
}

.flight-month-row:hover .flight-month-calendar-btn{
opacity:1;
pointer-events:auto;
}

.flight-row{
padding:10px 0;
border-radius:16px;
background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);
border:1px solid rgba(210,218,227,0.95);
box-shadow:none;
position:relative;
align-items:start;
overflow:visible;
}

.flight-row.has-floating-menu{
z-index:35;
}

.flight-table-head > *,
.flight-row > *{
min-width:0;
}

.flight-date-cell{
display:flex;
flex-direction:column;
gap:5px;
min-height:68px;
padding-left:18px;
align-items:flex-start;
}

.flight-date-day-label{
font-size:11px;
font-style:italic;
color:#7b8794;
}

.flight-date-number{
font-size:18px;
font-weight:700;
letter-spacing:0.03em;
color:#111111;
}

.flight-date-picker-wrap{
position:relative;
display:flex;
align-items:center;
gap:8px;
margin-top:4px;
}

.flight-add-row-btn{
width:24px;
height:24px;
border:none;
border-radius:50%;
background:#f0f5fb;
color:#17304e;
cursor:pointer;
display:inline-flex;
align-items:center;
justify-content:center;
}

.flight-date-input{
position:absolute;
opacity:0;
pointer-events:none;
width:0;
height:0;
}

.flight-cell-stack{
display:flex;
flex-direction:column;
gap:7px;
min-height:68px;
}

.flight-airline-cell{
align-items:flex-start;
padding-left:70px;
}

.flight-name-list{
display:flex;
flex-direction:column;
gap:8px;
}

.flight-name-item{
display:grid;
grid-template-columns:auto 1fr;
align-items:center;
gap:8px;
}

.flight-name-input{
text-overflow:ellipsis;
overflow:hidden;
white-space:nowrap;
}

.flight-name-index{
font-size:12px;
font-weight:700;
color:#4f5f70;
min-width:18px;
text-align:right;
}

.flight-name-index.is-hidden{
visibility:hidden;
}

.flight-input,
.flight-select{
width:100%;
border:none;
outline:none;
background:transparent;
font-size:12px;
font-weight:600;
color:#161616;
padding:2px 0;
}

.flight-input::placeholder{
color:#161616;
opacity:1;
}

.flight-name-input::placeholder{
color:#161616;
}

.flight-select{
appearance:none;
padding-right:14px;
cursor:pointer;
}

.flight-airline-group{
display:inline-flex;
align-items:center;
gap:0;
width:max-content;
max-width:100%;
min-width:0;
overflow:visible;
position:relative;
}

.flight-airline-stack{
display:flex;
flex-direction:column;
gap:8px;
min-width:0;
max-width:100%;
}

.flight-airline-line{
display:inline-flex;
align-items:center;
gap:8px;
width:max-content;
max-width:100%;
min-width:0;
}

.flight-airline-line.is-additional{
padding-left:2px;
}

.flight-airline-picker{
position:relative;
display:inline-flex;
align-items:center;
width:auto;
min-width:0;
max-width:none;
flex:0 0 auto;
}

.flight-airline-display{
display:inline-flex;
align-items:center;
gap:6px;
padding-right:4px;
color:#161616;
white-space:nowrap;
font-size:12px;
font-weight:600;
line-height:1.2;
max-width:100%;
}

.flight-airline-display > span:last-child{
min-width:0;
}

.flight-airline-add-btn,
.flight-airline-remove-btn{
border:none;
background:transparent;
padding:0;
width:18px;
height:18px;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
color:#6b7b8c;
flex:0 0 auto;
}

.flight-airline-add-btn:hover,
.flight-airline-remove-btn:hover,
.flight-airline-add-btn:focus-visible,
.flight-airline-remove-btn:focus-visible{
color:#264f79;
outline:none;
}

.flight-airline-badge{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:22px;
height:18px;
padding:0 5px;
border-radius:999px;
font-size:9px;
font-weight:800;
letter-spacing:0.02em;
line-height:1;
color:#ffffff;
flex:0 0 auto;
}

.flight-airline-badge.delta{ background:#c8102e; }
.flight-airline-badge.united{ background:#1b3a8a; }
.flight-airline-badge.american{ background:#7c8aa5; }
.flight-airline-badge.british{ background:#1b365d; }
.flight-airline-badge.airfrance{ background:#1a1a1a; }
.flight-airline-badge.lufthansa{ background:#003b95; }
.flight-airline-badge.turkish{ background:#d71920; }
.flight-airline-badge.royaljordanian{ background:#5b4636; }
.flight-airline-badge.elal{ background:#0057b8; }

.flight-airline-select{
position:absolute;
inset:0;
display:block;
width:100%;
min-width:100%;
max-width:none;
opacity:0;
cursor:pointer;
padding:0;
}

.flight-airline-select option{
color:#161616;
}

.flight-airline-select option:disabled{
color:#8a94a1;
padding-top:6px;
padding-bottom:4px;
font-size:13px;
font-weight:700;
}

.flight-number-input{
display:block;
width:52px;
min-width:52px;
max-width:52px;
margin-left:-4px;
padding:2px 6px;
border:1px solid #d6dde6;
border-radius:8px;
background:#ffffff;
text-align:left;
box-shadow:0 1px 3px rgba(15,23,42,0.06);
flex:0 0 auto;
color:#355c8a;
font-size:12px;
font-weight:600;
line-height:1.2;
}

.flight-number-input.has-value{
border-color:transparent;
background:transparent;
box-shadow:none;
}

.flight-cell-stack{
min-width:0;
}

.flight-time-wrap{
display:flex;
align-items:center;
gap:7px;
position:relative;
overflow:visible;
}

.flight-time-wrap.is-open{
z-index:48;
}

.flight-time-picker-btn{
display:inline-flex;
align-items:center;
justify-content:center;
width:auto;
height:auto;
padding:0;
border:none;
border-radius:0;
background:transparent;
box-shadow:none;
cursor:pointer;
color:#6c7884;
line-height:1;
transition:transform 0.16s ease, color 0.16s ease;
}

.flight-time-picker-btn:hover,
.flight-time-picker-btn:focus-visible{
color:#2a5d8f;
transform:translateY(-1px);
outline:none;
}

.flight-time-picker-btn.is-active{
color:#2f6fb0;
}

.flight-time-icon{
font-size:13px;
}

.flight-time-input{
min-width:52px;
}

.flight-time-popover{
position:absolute;
top:calc(100% + 10px);
left:-4px;
z-index:60;
min-width:220px;
padding:14px;
border:1px solid #d7e4f1;
border-radius:18px;
background:linear-gradient(180deg,#ffffff 0%,#f5f9fd 100%);
box-shadow:0 18px 34px rgba(17,42,73,0.18);
display:flex;
flex-direction:column;
gap:12px;
}

.flight-time-popover-header{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
font-size:11px;
font-weight:700;
letter-spacing:0.05em;
text-transform:uppercase;
color:#67809b;
}

.flight-time-popover-header strong{
font-size:13px;
letter-spacing:0;
text-transform:none;
color:#1f4469;
}

.flight-time-picker-selects{
display:grid;
grid-template-columns:1fr auto 1fr 76px;
align-items:center;
gap:8px;
}

.flight-time-picker-selects select{
border:1px solid #cfe0f2;
background:linear-gradient(180deg,#fbfdff,#e9f1fa);
border-radius:12px;
padding:10px 12px;
font:inherit;
font-size:13px;
font-weight:600;
color:#23415f;
outline:none;
min-width:0;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.92);
appearance:none;
}

.flight-time-picker-separator{
font-size:18px;
font-weight:700;
color:#52769b;
}

.flight-time-popover-actions{
display:flex;
justify-content:flex-end;
gap:8px;
flex-wrap:wrap;
}

.flight-time-popover-actions button{
border:none;
border-radius:11px;
padding:8px 13px;
font-size:12px;
font-weight:700;
cursor:pointer;
}

.flight-time-popover-actions button[data-action="clear-flight-time"]{
margin-right:auto;
background:#fff4ec;
color:#a75622;
}

.flight-time-popover-actions button[data-action="close-flight-time"]{
background:#eaf1f8;
color:#244565;
}

.flight-time-popover-actions button[data-action="save-flight-time"]{
background:linear-gradient(180deg,#4b8bc8,#2f6fb0);
color:#fff;
box-shadow:0 10px 20px rgba(47,111,176,0.22);
}

.flight-date-day-label{
max-width:100%;
white-space:nowrap;
}

.flight-name-editor{
position:fixed;
display:none;
padding:8px 12px;
border:1px solid #d6e1ed;
border-radius:14px;
background:#ffffff;
box-shadow:0 18px 36px rgba(17,42,73,0.18);
}

.flight-name-editor-input{
width:100%;
border:none;
outline:none;
background:transparent;
font:inherit;
font-size:13px;
font-weight:600;
color:#17304e;
}

.flight-name-editor-input::placeholder{
color:#6f8092;
}

.flight-pax-wrap,
.flight-status-wrap{
display:flex;
align-items:center;
gap:6px;
min-height:20px;
}

.flight-pax-control{
display:flex;
flex-direction:column;
gap:7px;
min-height:20px;
}

.flight-pax-wrap{
flex-wrap:nowrap;
align-items:center;
}

.flight-pax-icon{
font-size:13px;
color:#7a8490;
}

.flight-pax-count{
width:26px;
border:none;
outline:none;
background:transparent;
font-size:12px;
font-weight:700;
color:#161616;
padding:0;
}

.flight-inline-caret-btn,
.flight-inline-trigger{
border:none;
background:transparent;
padding:0;
display:inline-flex;
align-items:center;
gap:4px;
cursor:pointer;
font-size:12px;
font-weight:600;
color:#161616;
}

.flight-inline-caret-btn{
width:10px;
height:10px;
justify-content:center;
font-size:10px;
}

.flight-pax-trigger-wrap,
.flight-status-trigger-wrap{
position:relative;
display:inline-flex;
align-items:center;
gap:6px;
z-index:8;
}

.flight-pax-trigger{
display:inline-flex;
align-items:center;
gap:4px;
}

.flight-status-trigger{
padding:0;
}

.flight-status-trigger.select{
color:#718096;
}

.flight-status-trigger.on-time{
color:#1f7f38;
}

.flight-status-trigger.delayed{
color:#8f7310;
}

.flight-status-trigger.canceled{
color:#e53935;
background:#fff5f4;
border:1px solid #f0b8b2;
border-radius:999px;
padding:2px 8px 2px 8px;
}

.flight-inline-menu{
position:absolute;
top:calc(100% + 4px);
left:0;
background:#ffffff;
border:1px solid #dfe6ee;
border-radius:10px;
box-shadow:0 10px 24px rgba(15,36,62,0.14);
padding:4px;
z-index:40;
min-width:110px;
max-height:220px;
overflow:auto;
}

.flight-inline-menu-overlay{
position:fixed;
display:none;
z-index:1200;
}

.flight-inline-menu.is-overlay{
position:static;
min-width:180px;
max-width:240px;
}

.flight-inline-option{
width:100%;
border:none;
background:transparent;
padding:8px 10px;
text-align:left;
font-size:12px;
font-weight:600;
color:#1c2732;
cursor:pointer;
border-radius:8px;
}

.flight-inline-option:hover{
background:#eef4fb;
}

.flight-status-option{
display:flex;
align-items:center;
gap:8px;
}

.flight-transport-option{
display:flex;
align-items:center;
gap:8px;
}

.flight-transport-option i{
width:14px;
text-align:center;
color:#556476;
}

.flight-status-dot{
width:6px;
height:6px;
border-radius:50%;
flex-shrink:0;
background:#cbd5e1;
}

.flight-status-dot.select{
background:#cbd5e1;
}

.flight-status-dot.on-time{
background:#2d9647;
}

.flight-status-dot.delayed{
background:#d4ad18;
}

.flight-status-dot.canceled{
background:#ff443a;
}

.flight-row-actions{
display:flex;
justify-content:flex-end;
padding-top:18px;
}

.flight-delete-row-btn{
position:absolute;
top:-9px;
right:-9px;
width:18px;
height:18px;
border:none;
border-radius:50%;
background:#ffffff;
color:#7a7a7a;
cursor:pointer;
display:inline-flex;
align-items:center;
justify-content:center;
box-shadow:0 2px 8px rgba(17,33,52,0.16);
font-size:10px;
}

.flight-empty-note{
padding:6px 8px 2px;
font-size:12px;
color:#5d6a78;
}

.flight-transport-stack{
display:flex;
flex-direction:column;
gap:8px;
}

.flight-col-transport{
display:flex;
flex-direction:row;
align-items:flex-start;
gap:6px;
}

.flight-transport-slot{
display:flex;
align-items:center;
gap:6px;
min-height:28px;
}

.flight-transport-trigger-wrap,
.flight-destination-wrap{
position:relative;
display:flex;
align-items:flex-start;
z-index:8;
}

.flight-destination-wrap{
flex-direction:column;
gap:6px;
width:100%;
}

.flight-transport-trigger,
.flight-destination-trigger{
min-height:28px;
padding:0;
justify-content:flex-start;
}

.flight-transport-trigger{
gap:7px;
color:#636363;
}

.flight-transport-trigger.is-placeholder,
.flight-destination-control.is-placeholder .flight-destination-trigger{
color:#737373;
}

.flight-transport-trigger i:first-child{
width:14px;
text-align:center;
color:#7a8792;
}

.flight-transport-trigger.need-taxi i:first-child,
.flight-transport-option.need-taxi i{
color:#d6a300;
}

.flight-transport-trigger.qp-bus i:first-child,
.flight-transport-option.qp-bus i{
color:#2b73c8;
}

.flight-transport-trigger.mini-bus i:first-child,
.flight-transport-option.mini-bus i{
color:#dd7a14;
}

.flight-transport-trigger.own-arrangement i:first-child,
.flight-transport-option.own-arrangement i{
color:#7a8792;
}

.flight-transport-trigger span,
.flight-transport-option span{
white-space:nowrap;
}

.flight-mini-icon-btn{
width:22px;
height:22px;
border:none;
border-radius:50%;
background:#eef4fb;
color:#5f7388;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:10px;
flex:0 0 auto;
}

.flight-mini-icon-btn.danger{
background:#fff3f2;
color:#c7625a;
}

.flight-mini-icon-btn.add-transport{
margin-top:0;
align-self:flex-start;
}

.flight-col-transport,
.flight-col-destination,
.flight-col-comment{
min-height:68px;
padding-top:5px;
}

.flight-destination-control{
display:flex;
align-items:center;
gap:6px;
width:max-content;
max-width:100%;
}

.flight-destination-trigger{
max-width:100%;
flex:0 1 auto;
}

.flight-destination-selection-popup{
position:relative;
top:auto;
left:auto;
z-index:1;
width:min(320px, calc(100% - 4px));
max-width:min(320px, calc(100% - 4px));
padding:8px 10px;
border:1px solid #d8e2ec;
border-radius:12px;
background:#ffffff;
box-shadow:0 10px 24px rgba(15,36,62,0.12);
overflow:hidden;
}

.flight-route-summary{
display:flex;
flex-direction:column;
gap:6px;
min-width:0;
max-width:100%;
}

.flight-route-row{
display:grid;
grid-template-columns:36px minmax(0, 1fr);
align-items:start;
gap:8px;
min-width:0;
}

.flight-route-label{
font-size:11px;
font-weight:700;
line-height:1.25;
color:#6a7786;
text-transform:uppercase;
letter-spacing:0.03em;
}

.flight-route-chip{
display:block;
font-size:12px;
font-weight:600;
color:#1d2733;
min-width:0;
max-width:100%;
white-space:normal;
overflow-wrap:break-word;
word-break:normal;
hyphens:auto;
line-height:1.25;
}

.flight-route-chip.is-empty,
.flight-destination-placeholder{
color:#7c7c7c;
}

.flight-route-connector{
display:flex;
align-items:center;
gap:6px;
padding-left:44px;
min-width:0;
}

.flight-route-dash{
flex:1 1 auto;
min-width:16px;
border-top:2px dashed #c2c9d2;
transform:translateY(1px);
}

.flight-route-icon{
width:22px;
height:22px;
border-radius:50%;
background:#eef4fb;
color:#16304f;
display:inline-flex;
align-items:center;
justify-content:center;
font-size:11px;
flex:0 0 auto;
}

.flight-route-icon.is-empty{
background:#f3f5f8;
color:#95a0ad;
}

.flight-destination-overlay{
position:fixed;
inset:0;
border:none;
background:rgba(15, 23, 42, 0.22);
z-index:23;
cursor:default;
}

.flight-destination-menu{
position:fixed;
top:50%;
left:50%;
transform:translate(-50%, -50%);
z-index:24;
width:min(560px, calc(100vw - 56px));
max-height:min(78vh, 760px);
overflow:auto;
padding:14px;
border:1px solid #d6dde7;
border-radius:16px;
background:#ffffff;
box-shadow:0 16px 32px rgba(15,36,62,0.14);
}

.flight-destination-menu-bar{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
margin-bottom:12px;
}

.flight-destination-menu-actions{
display:flex;
align-items:center;
gap:8px;
}

.flight-destination-menu-title{
font-size:14px;
font-weight:700;
color:#1a2330;
}

.flight-destination-clear-btn{
border:1px solid #d6dde7;
background:#ffffff;
color:#294059;
border-radius:999px;
padding:5px 12px;
font-size:12px;
font-weight:700;
cursor:pointer;
}

.flight-destination-clear-btn:hover{
background:#f4f8fc;
border-color:#bccbdd;
}

.flight-destination-picker-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:14px;
}

.flight-destination-panel{
display:flex;
flex-direction:column;
gap:10px;
min-width:0;
}

.flight-destination-selected-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
padding:6px 8px;
border:1px solid #d9e2ec;
border-radius:10px;
background:#f8fbfe;
font-size:12px;
font-weight:600;
color:#203244;
}

.flight-destination-selected-row .flight-mini-icon-btn{
opacity:0;
pointer-events:none;
transition:opacity 0.16s ease;
}

.flight-destination-selected-row:hover .flight-mini-icon-btn{
opacity:1;
pointer-events:auto;
}

.flight-destination-label{
font-size:13px;
font-weight:700;
color:#1a2330;
}

.flight-destination-options{
display:flex;
flex-wrap:wrap;
gap:8px;
}

.flight-destination-option{
border:1px solid #d6dee9;
background:#ffffff;
border-radius:999px;
padding:7px 12px;
font-size:12px;
font-weight:600;
color:#223243;
cursor:pointer;
white-space:nowrap;
}

.flight-destination-option.is-selected,
.flight-destination-option:hover{
background:#eef4fb;
border-color:#b7c8dc;
}

.flight-destination-empty{
font-size:12px;
color:#7c8794;
}

.flight-destination-admin-block{
display:flex;
flex-direction:column;
gap:8px;
padding-top:4px;
border-top:1px dashed #dde5ee;
}

.flight-route-admin-row{
display:flex;
align-items:center;
gap:8px;
}

.flight-route-admin-input{
width:100%;
border:1px solid #d8e1eb;
border-radius:10px;
padding:8px 10px;
font:inherit;
font-size:12px;
font-weight:600;
outline:none;
}

.flight-destination-admin-add{
border:none;
background:transparent;
padding:0;
display:inline-flex;
align-items:center;
gap:6px;
color:#5f7388;
font-size:12px;
font-weight:700;
cursor:pointer;
}

.flight-comment-toggle{
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
}

.flight-comment-checkbox{
position:absolute;
opacity:0;
pointer-events:none;
}

.flight-comment-checkbox-ui{
width:18px;
height:18px;
border:1.5px solid #232323;
border-radius:3px;
display:inline-flex;
align-items:center;
justify-content:center;
background:#ffffff;
cursor:pointer;
position:relative;
}

.flight-comment-checkbox:checked + .flight-comment-checkbox-ui::after{
content:"\f00c";
font-family:"Font Awesome 6 Free";
font-weight:900;
font-size:10px;
color:#1f2937;
}

.flight-comment-cell{
display:inline-flex;
align-items:center;
gap:8px;
min-height:28px;
padding-top:1px;
}

.flight-comment-view-btn{
border:none;
background:transparent;
padding:0;
font-size:12px;
font-weight:700;
color:#355c8a;
cursor:pointer;
line-height:1;
}

.flight-comment-window{
position:fixed;
z-index:60;
width:280px;
min-width:220px;
min-height:160px;
background:#ffffff;
border:1px solid #d9e2ec;
border-radius:14px;
box-shadow:0 18px 38px rgba(15,36,62,0.18);
resize:both;
overflow:auto;
}

.flight-comment-window-header{
display:flex;
align-items:center;
justify-content:space-between;
padding:10px 12px;
border-bottom:1px solid #e7edf4;
cursor:move;
}

.flight-comment-window-title{
font-size:13px;
font-weight:700;
color:#1d2b3b;
}

.flight-comment-window-close{
width:22px;
height:22px;
border:none;
border-radius:50%;
background:#eef4fb;
color:#607285;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
}

.flight-comment-window-textarea{
width:100%;
min-height:118px;
height:calc(100% - 44px);
border:none;
outline:none;
padding:12px;
resize:none;
font:inherit;
font-size:12px;
color:#223243;
}

.calendar-card{
height:392px;
}

.card-topbar{
background:#183355;
color:white;
padding:8px 12px;
border-radius:6px 6px 0 0;
display:flex;
align-items:center;
justify-content:space-between;
font-size:10px;
letter-spacing:0.2px;
}

.card-menu-wrap{
position:relative;
}

.card-menu-btn{
border:none;
background:transparent;
cursor:pointer;
color:inherit;
font-size:16px;
padding:0 4px;
}

.orange-menu{
color:#f1ad3b;
}

.card-menu-panel{
position:absolute;
top:calc(100% + 10px);
right:0;
min-width:250px;
background:white;
border-radius:12px;
box-shadow:0 14px 28px rgba(18,39,69,0.2);
padding:8px;
display:none;
z-index:20;
}

.card-menu-panel.open{
display:block;
}

.card-menu-panel button{
width:100%;
border:none;
background:none;
padding:10px 12px;
border-radius:8px;
text-align:left;
font-size:13px;
color:#183355;
cursor:pointer;
display:flex;
align-items:center;
gap:10px;
}

.card-menu-panel button:hover{
background:#eef4fb;
}

.calendar-body{
padding:16px 18px 18px;
display:grid;
grid-template-columns:minmax(0, 0.76fr) minmax(250px, 0.24fr);
gap:10px;
align-items:stretch;
height:calc(100% - 32px);
min-height:360px;
}

.calendar-header-row{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:14px;
gap:14px;
}

.calendar-picker-row{
display:flex;
align-items:center;
gap:10px;
flex:1;
justify-content:center;
}

.calendar-picker{
border:1px solid #d8e2ec;
background:#f8fbfe;
border-radius:10px;
padding:8px 10px;
font-size:14px;
color:#2a3442;
outline:none;
}

.calendar-nav-btn{
width:28px;
height:28px;
border:none;
background:#edf3f9;
border-radius:50%;
cursor:pointer;
color:#193554;
}

.calendar-weekdays,
.calendar-grid{
display:grid;
grid-template-columns:repeat(7, minmax(0, 1fr));
}

.calendar-weekdays{
font-size:11px;
font-weight:700;
color:#606d7d;
margin-bottom:8px;
}

.calendar-weekdays span{
padding:6px 0;
text-align:center;
}

.calendar-grid{
gap:4px;
position:relative;
overflow:visible;
}

.calendar-day{
min-height:42px;
border-radius:4px;
border:1px solid #eef2f7;
background:white;
cursor:pointer;
font-size:12px;
color:#435164;
display:flex;
align-items:flex-start;
justify-content:flex-start;
padding:8px 6px;
position:relative;
overflow:visible;
}

.calendar-day.muted{
color:#c8d1dc;
}

.calendar-day.selected{
background:#ff7d22;
color:white;
border-color:#ff7d22;
z-index:2;
}

.calendar-day.has-note::after{
content:"";
position:absolute;
right:5px;
top:5px;
width:6px;
height:6px;
border-radius:50%;
background:#f4c64f;
}

.calendar-notes-panel{
border:1px solid rgba(24,51,85,0.22);
border-radius:20px;
padding:16px 14px;
width:100%;
height:100%;
min-height:320px;
max-height:320px;
display:flex;
flex-direction:column;
overflow:hidden;
align-self:stretch;
}

.calendar-notes-title{
font-size:12px;
font-weight:700;
color:#193554;
margin-bottom:8px;
}

.calendar-selected-date{
font-size:12px;
color:#5e6978;
margin-bottom:10px;
}

.calendar-notes-feed{
overflow-y:auto;
overflow-x:hidden;
font-size:12px;
color:#445164;
display:flex;
flex-direction:column;
gap:8px;
padding-right:4px;
flex:1;
min-height:0;
}

.calendar-note-chip{
padding:8px 10px;
background:#f5f8fc;
border-radius:10px;
line-height:1.35;
}

.tasks-card{
background:#183355;
color:white;
padding:14px 14px 12px;
display:flex;
flex-direction:column;
height:392px;
max-height:392px;
overflow:visible;
}

.tasks-header{
display:flex;
align-items:center;
justify-content:space-between;
font-size:16px;
font-weight:700;
margin-bottom:18px;
position:relative;
padding-bottom:10px;
}

.tasks-header::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:188px;
height:1px;
background:rgba(255,255,255,0.18);
}

.task-counter{
font-size:16px;
font-weight:700;
color:#f1c73f;
}

.tasks-list{
display:flex;
flex-direction:column;
justify-content:space-between;
gap:10px;
overflow-y:auto;
overflow-x:hidden;
padding-right:4px;
flex:1;
min-height:0;
}

.tasks-list.is-extended{
justify-content:flex-start;
gap:12px;
}

.tasks-columns{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:14px;
flex:1;
min-height:0;
overflow:visible;
}

.tasks-column{
display:flex;
flex-direction:column;
min-width:0;
min-height:0;
overflow:visible;
}

.task-item{
display:grid;
grid-template-columns:30px minmax(0, 1fr) 16px;
gap:10px;
align-items:center;
position:relative;
padding-right:14px;
min-height:56px;
flex:0 0 auto;
}

.task-icon-btn{
width:30px;
height:30px;
border-radius:50%;
border:1px solid rgba(255,255,255,0.18);
background:rgba(255,255,255,0.08);
color:white;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:12px;
}

.task-icon-menu{
position:absolute;
left:38px;
top:50%;
transform:translateY(-50%);
display:grid;
grid-template-columns:repeat(4, 30px);
gap:6px;
padding:8px;
border-radius:12px;
background:#ffffff;
border:1px solid rgba(20,42,70,0.12);
box-shadow:0 14px 28px rgba(5,20,38,0.22);
z-index:6;
}

.tasks-list .task-item:first-child .task-icon-menu{
top:0;
transform:none;
}

.task-icon-option{
width:30px;
height:30px;
border:none;
border-radius:9px;
background:#f3f7fb;
color:#183355;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:13px;
}

.task-icon-option.is-active{
background:#183355;
color:#ffffff;
}

.task-icon-option-empty{
font-size:11px;
font-weight:700;
letter-spacing:0.04em;
}

.task-complete-btn{
width:14px;
height:14px;
border-radius:50%;
border:1px solid rgba(255,255,255,0.18);
background:rgba(255,255,255,0.08);
color:white;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:8px;
}

.task-complete-btn.is-complete{
background:#f1c73f;
border-color:#f1c73f;
color:#193554;
}

.task-delete-btn{
position:absolute;
top:-2px;
right:0;
width:16px;
height:16px;
border:none;
border-radius:50%;
background:rgba(255,255,255,0.18);
color:white;
display:none;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:9px;
}

.task-item:hover .task-delete-btn{
display:flex;
}

.task-text-wrap{
display:flex;
flex-direction:column;
gap:6px;
}

.task-text-wrap .dashboard-field{
color:white;
padding:4px 0;
border-radius:0;
font-size:13px;
font-weight:500;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.task-text-wrap .dashboard-field[data-field="title"]{
font-weight:700;
}

.task-text-wrap .dashboard-field:placeholder-shown{
border-color:transparent;
border-bottom:1px solid rgba(255,255,255,0.14);
background:transparent;
}

.add-task-btn{
border:none;
background:none;
color:rgba(255,255,255,0.9);
cursor:pointer;
font-size:11px;
display:flex;
justify-content:flex-end;
align-items:center;
gap:8px;
padding-top:10px;
}

.calendar-day-note-window{
position:absolute;
top:calc(100% + 6px);
left:0;
width:180px;
min-height:118px;
max-width:280px;
background:white;
border:1px solid #d7e2ed;
border-radius:12px;
box-shadow:0 16px 28px rgba(16,35,61,0.2);
padding:8px 10px 10px;
display:flex;
flex-direction:column;
gap:8px;
color:#213243;
z-index:8;
resize:both;
overflow:auto;
}

.calendar-day-note-head{
display:flex;
align-items:center;
justify-content:space-between;
font-size:11px;
font-weight:700;
color:#627286;
}

.calendar-day-note-actions{
display:flex;
align-items:center;
gap:6px;
}

.calendar-day-note-edit{
border:none;
background:none;
color:#627286;
font-size:11px;
cursor:pointer;
}

.calendar-day-note-close{
width:18px;
height:18px;
border:none;
border-radius:50%;
background:#edf3f9;
color:#627286;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:9px;
}

.calendar-day-note-delete{
width:18px;
height:18px;
border:none;
border-radius:50%;
background:#fff1f1;
color:#c25050;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:9px;
}

.calendar-day-note-editor{
width:100%;
min-height:82px;
height:100%;
flex:1;
border:1px solid #d9e3ee;
border-radius:10px;
padding:8px;
resize:none;
font:inherit;
font-size:12px;
color:#223243;
outline:none;
background:#fdfefe;
overflow:auto;
}

.calendar-day-note-editor[readonly]{
background:#f5f8fc;
}

.calendar-mini-window{
display:none;
margin-top:8px;
border-top:1px solid #e7edf4;
padding-top:10px;
}

.calendar-mini-window.open{
display:block;
}

.calendar-mini-window-header{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:10px;
font-size:13px;
font-weight:700;
color:#183355;
}

.calendar-mini-window-header button{
width:auto;
padding:0;
}

.calendar-mini-window-field{
display:flex;
flex-direction:column;
gap:6px;
font-size:12px;
color:#183355;
}

.calendar-mini-window-field input{
border:1px solid #d8e2ec;
border-radius:10px;
padding:9px 10px;
font:inherit;
outline:none;
}

.calendar-export-options{
display:none;
flex-direction:column;
gap:8px;
margin-top:2px;
}

.calendar-export-options.open{
display:flex;
}

.calendar-export-options-title{
font-size:12px;
font-weight:700;
color:#183355;
}

.calendar-export-option-list{
display:flex;
gap:8px;
flex-wrap:wrap;
}

.calendar-export-option{
width:auto;
padding:8px 12px;
border-radius:999px;
border:1px solid #d8e2ec;
background:linear-gradient(180deg,#ffffff,#edf3f8);
color:#183355;
font:inherit;
font-size:12px;
font-weight:700;
cursor:pointer;
transition:background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.calendar-export-option.is-active{
background:linear-gradient(180deg,#fffef8,#f5ead0);
border-color:rgba(243,181,67,0.72);
color:#112a49;
box-shadow:0 8px 18px rgba(17,42,73,0.1);
}

.calendar-mini-window-message{
min-height:34px;
margin-top:10px;
padding:8px 10px;
border-radius:10px;
background:#f6f9fc;
font-size:11px;
line-height:1.35;
color:#6b798b;
}

.calendar-mini-window-message.error{
background:#fff4f4;
color:#c14949;
}

.calendar-mini-window-message.success{
background:#f2fbf1;
color:#3f8f46;
}

.calendar-mini-window-actions{
display:flex;
justify-content:flex-end;
gap:8px;
margin-top:10px;
}

.calendar-mini-window-actions button{
width:auto;
padding:8px 12px;
border-radius:9px;
background:#183355;
color:white;
transition:background 0.16s ease, color 0.16s ease;
}

.calendar-mini-window-actions #calendarMiniWindowRemove{
background:#e9eef5;
color:#183355;
}

.calendar-mini-window-actions #calendarMiniWindowSave:hover{
background:#2b5689;
color:#ffffff;
}

.task-editor-dialog{
width:min(360px, calc(100vw - 32px));
}

.reminders-card{
margin:18px 14px 0;
height:520px;
max-height:520px;
display:flex;
flex-direction:column;
overflow:hidden;
}

.reminders-shell{
padding:16px 16px 14px;
overflow:auto;
flex:1;
min-height:0;
display:flex;
flex-direction:column;
}

.reminder-group{
border:1px solid #d8f2d6;
border-radius:16px;
padding:14px 16px 10px;
}

.reminder-group-heading{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
margin-bottom:12px;
}

.reminder-group + .reminder-group{
margin-top:14px;
}

.reminder-group-title{
font-size:15px;
font-weight:700;
color:#273341;
margin-bottom:0;
}

.reminder-user-sync-btn{
appearance:none;
-webkit-appearance:none;
border:1px solid rgba(23,48,78,0.12);
background:linear-gradient(180deg,#ffffff,#edf3f8);
color:#17304e;
font-size:12px;
font-weight:700;
padding:7px 12px;
border-radius:999px;
display:inline-flex;
align-items:center;
justify-content:center;
gap:7px;
cursor:pointer;
box-shadow:0 6px 14px rgba(17,42,73,0.06);
transition:background 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.reminder-user-sync-btn:hover{
background:linear-gradient(180deg,#fffef8,#f5ead0);
border-color:rgba(243,181,67,0.72);
color:#112a49;
box-shadow:0 12px 22px rgba(17,42,73,0.12);
}

.admin-reminder-target-slot{
margin-bottom:12px;
}

.admin-reminder-target-bar{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:10px 16px;
align-items:center;
padding:12px 14px;
border:1px solid #dfe8f2;
border-radius:14px;
background:#f8fbfe;
}

.admin-reminder-target-copy{
min-width:0;
}

.admin-reminder-target-title{
font-size:12px;
font-weight:800;
letter-spacing:0.03em;
text-transform:uppercase;
color:#183355;
}

.admin-reminder-target-subtitle{
font-size:12px;
color:#6d7b8c;
margin-top:3px;
}

.admin-reminder-target-controls{
display:flex;
align-items:center;
gap:10px;
}

.admin-reminder-target-select{
min-width:220px;
border:1px solid #cfdbe8;
border-radius:10px;
padding:8px 10px;
background:#ffffff;
font:inherit;
font-size:12px;
color:#223243;
outline:none;
}

.admin-reminder-apply-btn{
border:none;
border-radius:999px;
padding:8px 14px;
background:#17304e;
color:#ffffff;
font-size:12px;
font-weight:700;
cursor:pointer;
display:inline-flex;
align-items:center;
gap:8px;
transition:transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
box-shadow:0 6px 14px rgba(23, 48, 78, 0.16);
}

.admin-reminder-apply-btn i{
font-size:12px;
opacity:0.86;
transition:transform 0.16s ease, opacity 0.16s ease;
}

.admin-reminder-apply-btn:hover:not(:disabled){
background:#204267;
transform:translateY(-1px);
box-shadow:0 10px 18px rgba(23, 48, 78, 0.22);
}

.admin-reminder-apply-btn:hover:not(:disabled) i{
opacity:1;
transform:scale(1.08);
}

.admin-reminder-apply-btn:disabled{
background:#9caaba;
cursor:not-allowed;
box-shadow:none;
}

.admin-reminder-target-status{
grid-column:2 / 3;
justify-self:start;
font-size:12px;
font-weight:700;
color:#2f9e44;
opacity:0;
visibility:hidden;
transform:translateY(-2px);
transition:opacity 0.16s ease, transform 0.16s ease;
}

.admin-reminder-target-status.is-visible{
opacity:1;
visibility:visible;
transform:translateY(0);
}

.admin-reminder-target-active{
grid-column:1 / -1;
font-size:11px;
color:#5f6d7e;
}

.reminder-grid{
display:grid;
column-gap:12px;
row-gap:8px;
align-items:center;
}

.reminder-grid-transactions{
grid-template-columns:0.92fr 0.58fr 1.04fr 0.9fr 1.28fr 1.1fr 0.9fr 0.84fr;
}

.reminder-grid-logistics{
grid-template-columns:220px 150px 220px 110px;
column-gap:18px;
justify-content:start;
}

.reminder-head{
font-size:10px;
font-weight:700;
color:#8a99ab;
text-transform:uppercase;
display:flex;
align-items:center;
gap:5px;
}

.reminder-rows{
display:contents;
}

.reminder-cell{
min-height:32px;
display:flex;
align-items:center;
font-size:12px;
color:#283544;
padding:3px 0;
border-bottom:1px solid #f1f5f8;
}

.type-pill{
display:inline-flex;
align-items:center;
gap:6px;
padding:4px 10px;
border-radius:999px;
background:#f7fafe;
font-size:11px;
white-space:nowrap;
font-weight:700;
}

.type-pill .dot{
width:8px;
height:8px;
border-radius:50%;
background:#4e89f7;
}

.transaction-type{
background:#ffffff;
color:#5a5a5a;
padding:4px 12px 4px 8px;
border:2px solid #8e8e8e;
gap:8px;
min-width:92px;
justify-content:flex-start;
font-weight:500;
border-radius:999px;
}

.transaction-type i{
font-size:10px;
color:#ffffff;
width:26px;
height:26px;
border-radius:50%;
display:inline-flex;
align-items:center;
justify-content:center;
flex-shrink:0;
}

.transaction-type .dot{
display:none;
}

.transaction-type.deposit{
color:#5653a7;
}

.transaction-type.deposit i{
background:#5a59b3;
}

.transaction-type.payment{
color:#48b67a;
}

.transaction-type.payment i{
background:#4bbc7d;
}

.reminder-input{
width:100%;
border:1px solid transparent;
background:transparent;
padding:4px 6px;
border-radius:8px;
font-size:12px;
color:#283544;
outline:none;
}

.reminder-input:placeholder-shown{
border-color:#dbe5ef;
}

.admin-locked{
opacity:0.95;
}

.admin-locked input,
.admin-locked button,
.admin-locked select{
pointer-events:none;
}

.method-btn,
.status-btn,
.action-btn,
.contact-link-btn,
.notify-toggle-btn{
border:none;
background:none;
padding:0;
font-size:12px;
color:#283544;
cursor:pointer;
display:inline-flex;
align-items:center;
gap:6px;
}

.method-status-dot{
width:9px;
height:9px;
border-radius:50%;
background:#68ca67;
flex-shrink:0;
}

.mini-menu{
position:relative;
}

.mini-menu-panel{
position:absolute;
top:calc(100% + 6px);
left:0;
background:white;
box-shadow:0 12px 24px rgba(16,35,61,0.16);
border-radius:10px;
padding:6px;
display:none;
z-index:15;
min-width:148px;
}

.mini-menu-panel.open{
display:block;
}

.mini-menu-panel button{
width:100%;
border:none;
background:none;
padding:8px 10px;
border-radius:8px;
text-align:left;
font-size:12px;
cursor:pointer;
display:flex;
align-items:center;
gap:7px;
}

.mini-menu-panel button:hover{
background:#eef4fb;
}

.contact-link-btn{
color:#183355;
}

.contact-cell{
position:relative;
}

.contact-edit-wrap{
position:relative;
display:inline-flex;
align-items:center;
padding-right:26px;
}

.contact-link-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:18px;
height:18px;
border:1px solid #d8e2ec;
border-radius:5px;
margin-left:4px;
}

.contact-edit-btn{
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
width:18px;
height:18px;
border:none;
border-radius:50%;
background:#183355;
color:white;
display:none;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:9px;
}

.contact-edit-wrap:hover .contact-edit-btn{
display:flex;
}

.contact-edit-btn.is-locked{
display:flex;
background:#9aa9ba;
color:#eef4fb;
cursor:not-allowed;
opacity:0.85;
pointer-events:none;
}

.contact-edit-wrap:hover .contact-edit-btn.is-locked{
display:flex;
}

.contact-popup{
position:absolute;
top:calc(100% + 6px);
right:0;
z-index:18;
background:white;
border:1px solid #d8e2ec;
border-radius:12px;
box-shadow:0 12px 24px rgba(16,35,61,0.16);
padding:10px;
min-width:188px;
}

.contact-popup-input{
width:100%;
border:1px solid #d8e2ec;
border-radius:8px;
padding:8px 10px;
font:inherit;
font-size:12px;
outline:none;
}

.contact-popup-actions{
display:flex;
justify-content:flex-end;
gap:6px;
padding-top:8px;
}

.contact-popup-actions button{
border:none;
border-radius:8px;
padding:6px 10px;
font-size:11px;
cursor:pointer;
background:#183355;
color:white;
}

.contact-popup-actions button:last-child{
background:#edf3f9;
color:#183355;
}

.notify-block{
display:flex;
flex-direction:column;
gap:7px;
align-items:flex-start;
position:relative;
width:100%;
}

.notify-inline{
display:flex;
flex-wrap:wrap;
gap:8px;
align-items:center;
position:relative;
width:100%;
}

.notify-picker-input{
border:1px solid #d9e4ef;
border-radius:999px;
padding:5px 10px;
font:inherit;
font-size:11px;
color:#556579;
background:#f7fafc;
outline:none;
min-width:114px;
appearance:none;
}

.notify-picker-input.time{
min-width:104px;
background:linear-gradient(180deg,#fbfdff,#eef4fa);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}

.time-picker-popover{
position:absolute;
top:calc(100% + 8px);
left:0;
z-index:18;
background:white;
border:1px solid #d9e4ef;
border-radius:16px;
box-shadow:0 16px 28px rgba(16,35,61,0.18);
padding:12px;
display:flex;
flex-direction:column;
gap:10px;
}

.date-picker-popover{
position:absolute;
top:calc(100% + 8px);
left:0;
z-index:18;
background:white;
border:1px solid #d9e4ef;
border-radius:16px;
box-shadow:0 16px 28px rgba(16,35,61,0.18);
padding:12px;
display:flex;
flex-direction:column;
gap:10px;
}

.notify-date-input-wrap{
position:relative;
display:flex;
align-items:center;
min-width:160px;
padding:0;
border:1px solid #cfe0f2;
background:linear-gradient(180deg,#f8fbff,#eef4fb);
border-radius:12px;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}

.notify-date-text-input{
border:1px solid #cfe0f2;
background:linear-gradient(180deg,#f8fbff,#eef4fb);
border-radius:12px;
padding:10px 40px 10px 12px;
font:inherit;
font-size:13px;
color:#23415f;
outline:none;
min-width:160px;
width:100%;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}

.notify-date-popover-input{
position:absolute;
right:8px;
top:50%;
transform:translateY(-50%);
width:24px;
height:24px;
opacity:0;
appearance:none;
-webkit-appearance:none;
border:none;
padding:0;
margin:0;
}

.notify-date-popover-input::-webkit-calendar-picker-indicator{
width:24px;
height:24px;
cursor:pointer;
}

.notify-date-popover-icon{
position:absolute;
right:12px;
top:50%;
transform:translateY(-50%);
color:#5f7390;
font-size:13px;
pointer-events:none;
}

.time-picker-selects{
display:flex;
align-items:center;
gap:8px;
}

.time-picker-selects select{
border:1px solid #cfe0f2;
background:linear-gradient(180deg,#f8fbff,#eef4fb);
border-radius:12px;
padding:10px 12px;
font:inherit;
font-size:13px;
color:#23415f;
outline:none;
min-width:68px;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}

.time-picker-actions{
display:flex;
justify-content:flex-end;
gap:8px;
}

.time-picker-actions button{
border:none;
border-radius:10px;
padding:7px 12px;
font-size:11px;
cursor:pointer;
}

.time-picker-actions button[data-action="save-notify-time"]{
background:#2f6fb0;
color:white;
}

.time-picker-actions button[data-action="close-notify-time"]{
background:#edf3f9;
color:#17304e;
}

.flight-pax-count.is-derived{
cursor:default;
}

.notify-icon-btn{
width:18px;
height:18px;
border:none;
background:none;
cursor:pointer;
color:#7a8798;
display:flex;
align-items:center;
justify-content:center;
padding:0;
}

.notify-value{
font-size:11px;
color:#768598;
white-space:normal;
overflow:visible;
min-width:max-content;
}

.notify-early-row{
display:flex;
align-items:center;
gap:8px;
width:100%;
padding-left:1px;
flex-wrap:wrap;
}

.notify-early-row.is-disabled{
opacity:0.62;
}

.notify-early-label{
font-size:11px;
color:#6d7b8d;
}

.notify-early-state{
font-size:10px;
color:#6d7b8d;
font-weight:600;
}

.notify-early-select{
border:1px solid #cfe0f2;
background:linear-gradient(180deg,#f8fbff,#eef4fb);
border-radius:999px;
padding:6px 10px;
font:inherit;
font-size:11px;
color:#23415f;
outline:none;
min-width:140px;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}

.notify-early-row.is-triggered .notify-early-label,
.notify-early-row.is-triggered .notify-early-state,
.notify-early-row.is-triggered .notify-early-select{
font-weight:700;
color:#17304e;
}

.notify-early-row.is-triggered .notify-early-select{
border-color:#d59a2b;
background:linear-gradient(180deg,#fff8ea,#f7ebcc);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.92), 0 0 0 1px rgba(213,154,43,0.08);
}

.notify-clear-btn{
width:18px;
height:18px;
border:none;
border-radius:50%;
background:#edf3f9;
color:#667589;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
padding:0;
font-size:9px;
}

.notify-hidden-input{
position:absolute;
opacity:0;
pointer-events:none;
width:1px;
height:1px;
left:-9999px;
top:0;
}

.picker-inline{
display:flex;
gap:6px;
align-items:center;
flex-wrap:wrap;
}

.picker-inline input{
width:90px;
}

.action-pill{
border:1px solid #a8d18c;
border-radius:999px;
padding:5px 10px;
color:#7da04d;
font-size:11px;
background:#f5fce9;
}

.status-pill{
display:inline-flex;
align-items:center;
gap:6px;
padding:5px 10px;
border-radius:999px;
font-size:11px;
font-weight:700;
}

.status-pill.pending{
background:#f4d13e;
color:#1e232b;
}

.status-pill.complete{
background:#68ca67;
color:white;
}

.status-pill.void{
background:#9f87d6;
color:white;
}

.status-btn{
justify-content:center;
gap:5px;
}

.status-arrow{
color:#121212;
font-size:10px;
}

.status-pill i{
font-size:10px;
}

.info-lock{
position:relative;
display:inline-flex;
align-items:center;
color:#8a99ab;
cursor:help;
}

.info-lock::after{
content:"\1F512  " attr(data-note);
position:absolute;
bottom:calc(100% + 8px);
left:50%;
transform:translateX(-50%);
white-space:nowrap;
background:white;
color:#d43f3f;
border:1px solid #eed2d2;
border-radius:8px;
padding:6px 8px;
font-size:10px;
box-shadow:0 10px 18px rgba(16,35,61,0.15);
opacity:0;
pointer-events:none;
}

.info-lock:hover::after{
opacity:1;
}

.reminders-footer{
display:flex;
align-items:center;
justify-content:flex-end;
gap:16px;
padding-top:12px;
font-size:11px;
}

.action-cell{
justify-content:center;
}

.reminder-grid-transactions > .reminder-head:nth-child(7){
justify-content:center;
text-align:center;
}

.logistic-type-cell{
position:relative;
padding-right:22px;
}

.logistic-delete-btn{
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
width:16px;
height:16px;
border:none;
border-radius:50%;
background:#e8eef6;
color:#17304e;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:9px;
}

.reminder-grid-logistics > .admin-locked:nth-child(4n + 2) .reminder-input{
max-width:124px;
padding-left:10px;
padding-right:10px;
}

.logistics-added-separator{
grid-column:1 / -1;
height:1px;
background:#1f1f1f;
margin:10px 0 2px;
}

.reminder-head-unlocked{
color:#8a99ab;
text-transform:uppercase;
font-size:10px;
font-weight:700;
display:flex;
align-items:center;
gap:5px;
padding-top:2px;
}

.unlock-note{
display:inline-flex;
align-items:center;
color:#4fba5a;
font-size:11px;
}

.add-reminder-note{
color:#4fba5a;
display:inline-flex;
align-items:center;
gap:6px;
}

.add-reminder-btn{
border:none;
background:none;
cursor:pointer;
display:flex;
align-items:center;
gap:8px;
font-size:12px;
color:#758296;
}

.details-popover{
position:fixed;
inset:0;
background:rgba(15,31,53,0.28);
display:none;
align-items:center;
justify-content:center;
z-index:30;
}

.details-popover.open{
display:flex;
}

.details-dialog{
width:min(420px, calc(100vw - 32px));
background:white;
border-radius:18px;
padding:18px;
box-shadow:0 18px 32px rgba(9,28,50,0.22);
}

.details-dialog h3{
font-size:18px;
margin-bottom:12px;
color:#193554;
}

.details-dialog textarea{
width:100%;
min-height:160px;
border:1px solid #d8e1eb;
border-radius:12px;
padding:12px;
resize:vertical;
font:inherit;
outline:none;
}

.details-actions{
display:flex;
justify-content:flex-end;
gap:10px;
padding-top:12px;
}

.details-actions button{
border:none;
border-radius:10px;
padding:10px 14px;
cursor:pointer;
}

.details-actions .secondary{
background:#eef4fb;
color:#183355;
}

.details-actions .primary{
background:#183355;
color:white;
}

@media (max-width: 1100px){
.dashboard-grid{
grid-template-columns:1fr;
}

.tasks-card{
min-height:240px;
}

.header.rooming-mode{
padding:10px 18px;
}

.header-rooming{
min-width:260px;
gap:10px;
}

.header-rooming-title{
font-size:28px;
}

.header-rooming-actions{
padding-right:0;
}

#roomingContent{
padding:20px 18px 0 18px;
}

#roomingShell{
height:auto;
min-height:100%;
}

#roomingTopbar{
flex-wrap:wrap;
}

#roomCategoryCard{
height:auto;
max-height:calc(100vh - 260px);
}

.flight-layout{
grid-template-columns:1fr;
}

.flight-page-shell.flight-admin-layout .flight-layout{
grid-template-columns:minmax(0, 1fr) 320px;
}

.flight-radar-panel{
position:relative;
top:auto;
min-height:0;
}

.flight-table-head,
.flight-row{
grid-template-columns:76px minmax(132px, 1.12fr) minmax(190px, 1.42fr) minmax(70px, 0.62fr) minmax(72px, 0.58fr) minmax(102px, 0.72fr) minmax(130px, 0.88fr) minmax(198px, 1.1fr) 58px 28px;
}

.flight-tracker-meta{
grid-template-columns:1fr;
}

.flight-live-grid{
grid-template-columns:1fr;
}
}

@media (max-width: 860px){
.sidebar{
width:210px;
}

.header{
padding:0 12px;
}

.header-brand{
min-width:auto;
}

.header-page-label{
display:none;
}

.header{
height:auto;
min-height:84px;
padding:12px;
flex-wrap:wrap;
}

.workspace{
height:auto;
min-height:calc(100vh - 84px);
}

.header.rooming-mode{
display:flex;
position:relative;
}

.header.flight-mode{
display:flex;
position:relative;
}

.header-rooming{
min-width:0;
width:100%;
order:1;
}

.header-title-wrap{
order:2;
width:100%;
justify-content:flex-start;
}

.header.rooming-mode .header-title-wrap{
position:static;
transform:none;
width:100%;
pointer-events:auto;
justify-content:flex-start;
}

.header.flight-mode .header-title-wrap{
position:static;
transform:none;
width:100%;
pointer-events:auto;
justify-content:center;
}

.header-rooming-actions{
order:3;
margin-left:0;
}

.roomingToolbarRow{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
align-items:center;
column-gap:24px;
row-gap:16px;
padding:6px 0 2px;
}

#roomingUtilityRow{
display:flex;
justify-content:flex-end;
align-items:center;
justify-self:end;
}

.rooming-admin-target-slot{
display:flex;
align-items:center;
justify-content:flex-end;
width:100%;
}

.roomingToolbarRow .rooming-card-tabs{
margin-bottom:0;
align-self:center;
}

.rooming-admin-target-bar{
display:flex;
align-items:center;
gap:12px;
padding:16px 18px;
border:1px solid rgba(15,23,42,0.08);
border-radius:24px;
background:
radial-gradient(circle at top right, rgba(211,179,45,0.18), transparent 34%),
linear-gradient(180deg,rgba(255,255,255,0.98),rgba(239,246,252,0.97));
box-shadow:0 20px 42px rgba(15,23,42,0.09);
justify-content:flex-end;
min-height:76px;
}

.rooming-admin-target-copy{
display:flex;
flex-direction:column;
gap:2px;
min-width:0;
}

.rooming-admin-target-label{
font-size:12px;
font-weight:700;
letter-spacing:0.04em;
text-transform:uppercase;
color:#64748b;
}

.rooming-admin-target-active{
font-size:14px;
font-weight:600;
color:#0f172a;
white-space:nowrap;
}

.rooming-admin-select-wrap{
position:relative;
display:flex;
align-items:center;
}

.rooming-admin-select-wrap::after{
content:"\f078";
font-family:"Font Awesome 6 Free";
font-weight:900;
position:absolute;
right:14px;
font-size:12px;
color:#5d6f86;
pointer-events:none;
}

.rooming-admin-target-select{
appearance:none;
border:1px solid rgba(23,48,78,0.12);
border-radius:16px;
background:linear-gradient(180deg,#ffffff,#f2f7fb);
color:#0f172a;
padding:13px 42px 13px 16px;
font-size:14px;
font-weight:600;
min-width:290px;
outline:none;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.74), 0 10px 22px rgba(17,42,73,0.06);
transition:border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.rooming-admin-target-select:hover,
.rooming-admin-target-select:focus{
border-color:rgba(211,179,45,0.55);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.8), 0 14px 28px rgba(17,42,73,0.1);
transform:translateY(-1px);
}

.rooming-clear-btn{
border:none;
border-radius:14px;
background:linear-gradient(180deg,#183450,#10273f);
color:#fff;
padding:12px 16px;
font-size:13px;
font-weight:700;
display:inline-flex;
align-items:center;
gap:8px;
cursor:pointer;
box-shadow:0 16px 30px rgba(16,39,63,0.18);
}

.profile-menu{
order:4;
margin-left:auto;
}

.calendar-body{
grid-template-columns:1fr;
}

#flightInfoPage{
padding:14px 12px 20px;
}

.flight-page-subtitle{
font-size:22px;
}

.flight-table-shell{
padding:12px 10px 10px;
overflow-x:auto;
}

.flight-table-head,
.flight-row{
min-width:760px;
}

.reminder-grid-transactions,
.reminder-grid-logistics{
grid-template-columns:1fr;
}

.reminder-head{
display:none;
}

.reminder-cell{
border-bottom:none;
padding:2px 0;
}

.reminders-card{
height:auto;
max-height:none;
}

.reminders-shell{
overflow:visible;
}

#roomingContent{
padding:16px 12px 0 12px;
gap:28px;
}

#roomingMainList{
gap:28px;
}

.roomingCard{
padding:18px 16px;
}

#roomingActions{
flex-wrap:wrap;
}

.roomSectionTitle{
grid-template-columns:56px minmax(180px, 1fr) 86px 120px 120px 28px;
gap:8px;
font-size:12px;
}

.roomSectionName{
font-size:16px;
}

.rooming-card-tabs{
gap:18px;
flex-wrap:wrap;
}

.roomingToolbarRow{
grid-template-columns:1fr;
align-items:flex-start;
}

#roomingUtilityRow,
.rooming-admin-target-slot{
justify-content:flex-start;
justify-self:start;
}

.rooming-admin-target-bar{
width:100%;
justify-content:space-between;
flex-wrap:wrap;
}

.rooming-admin-target-select{
min-width:220px;
width:100%;
}
}

@media (max-width: 680px){
.container{
flex-direction:column;
height:auto;
min-height:100vh;
}

.sidebar{
width:100%;
padding-bottom:14px;
}

.main{
min-height:0;
}

.header-brand-script{
font-size:22px;
}

#titleInput{
min-width:0;
}

.hero-image-shell{
height:300px;
}

.hero-overlay-fields{
left:18px;
top:36px;
}

.hero-title-input{
font-size:28px;
}

.tasks-columns{
grid-template-columns:1fr;
}

.calendar-card,
.tasks-card{
height:auto;
max-height:none;
}

.calendar-notes-panel{
max-height:none;
min-height:220px;
}

#roomingShell{
gap:12px;
}

.roomSectionTitle{
grid-template-columns:1fr;
align-items:start;
}

.roomEntryRow{
grid-template-columns:1fr;
}

.flight-page-intro{
padding-bottom:12px;
}
}

#roomingShell{
display:flex;
flex-direction:column;
gap:18px;
height:calc(100vh - 84px);
min-height:0;
}

#roomingPage{
height:100%;
min-height:0;
overflow:auto;
}

#roomingTopbar{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:20px;
}

.roomingTitleGroup{
display:flex;
align-items:flex-start;
gap:14px;
}

.roomingTitleIcon{
width:46px;
height:46px;
border-radius:12px;
background:linear-gradient(180deg,#f7df75,#d3b32d);
display:flex;
align-items:center;
justify-content:center;
color:#1d1d1d;
font-size:22px;
box-shadow:0 10px 22px rgba(188,161,43,0.28);
}

.roomingTitleGroup h2{
font-size:35px;
line-height:1;
margin-top:2px;
margin-bottom:8px;
font-weight:700;
color:#161616;
}

#roomingTabRow{
display:flex;
gap:24px;
}

.roomingTab{
border:none;
background:none;
padding:0 0 4px;
font-size:15px;
color:#2d2d2d;
cursor:pointer;
border-bottom:2px solid transparent;
}

.roomingTab.active{
font-weight:700;
border-bottom-color:#191919;
}

#roomingActions{
display:flex;
align-items:center;
gap:10px;
padding-top:6px;
}

.roomingAction{
width:38px;
height:34px;
border:1px solid #cfcfcf;
background:white;
border-radius:6px;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
color:#2d2d2d;
box-shadow:0 2px 8px rgba(0,0,0,0.06);
}

.roomingAction i{
font-size:18px;
}

#exportWord{
color:#2563eb;
}

#exportRoomingExcel{
color:#15803d;
}

#exportPDF{
color:#dc2626;
}

#exportPDF .pdfDocIcon{
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
width:18px;
height:20px;
}

#exportPDF .pdfDocIcon i{
font-size:20px;
line-height:1;
}

#exportPDF .pdfDocIcon span{
position:absolute;
left:50%;
top:50%;
transform:translate(-50%, -42%);
font-size:5px;
font-weight:800;
letter-spacing:0.3px;
color:#ffffff;
z-index:1;
pointer-events:none;
}

.roomingAction:hover{
background:#f5f5f5;
}

.rooming-export-choice-menu{
position:fixed;
display:flex;
flex-direction:column;
gap:6px;
padding:8px;
background:#ffffff;
border:1px solid rgba(148,163,184,0.34);
border-radius:12px;
box-shadow:0 16px 30px rgba(15,23,42,0.16);
z-index:160;
}

.rooming-export-choice-btn{
border:none;
background:#f8fafc;
color:#1f2937;
border-radius:9px;
padding:8px 14px;
font-size:12px;
font-weight:700;
cursor:pointer;
min-width:112px;
text-align:center;
}

.rooming-export-choice-btn:hover{
background:#e8eefc;
}

.rooming-change-highlight{
box-shadow:0 0 0 4px rgba(211,179,45,0.22), 0 0 0 1px rgba(211,179,45,0.65) inset !important;
border-radius:12px;
animation:roomingHighlightPulse 1.4s ease;
}

.flight-change-highlight{
box-shadow:0 0 0 4px rgba(211,179,45,0.22), 0 0 0 1px rgba(211,179,45,0.65) inset !important;
border-radius:12px;
animation:roomingHighlightPulse 1.4s ease;
}

@keyframes roomingHighlightPulse{
0%{box-shadow:0 0 0 0 rgba(211,179,45,0.32), 0 0 0 1px rgba(211,179,45,0.7) inset;}
100%{box-shadow:0 0 0 4px rgba(211,179,45,0.22), 0 0 0 1px rgba(211,179,45,0.65) inset;}
}

#roomingContent{
overflow:auto;
padding:24px 24px 0 24px;
display:flex;
flex-direction:column;
gap:60px;
flex:1;
min-height:0;
}

#roomingMainList{
display:flex;
flex-direction:column;
gap:72px;
min-height:0;
}

.radarStage{
position:relative;
width:min(100%, 1040px);
aspect-ratio:1 / 1;
overflow:visible;
}

.radarRing{
position:absolute;
left:50%;
top:49%;
transform:translate(-50%, -50%);
border:2px solid rgba(187,193,208,0.18);
border-radius:50%;
box-shadow:0 0 0 1px rgba(255,255,255,0.03) inset;
}

.ringOuter{
width:92%;
height:92%;
}

.ringMidOuter{
width:70%;
height:70%;
}

.ringMidInner{
width:48%;
height:48%;
opacity:0.9;
}

.radarPulse{
position:absolute;
left:50%;
top:49%;
width:18px;
height:18px;
transform:translate(-50%, -50%) scale(0.08);
border:2px solid rgba(170,176,190,0.42);
border-radius:50%;
opacity:0;
pointer-events:none;
animation:radarWave 4.8s linear infinite;
}

.pulseB{
animation-delay:-1.6s;
}

.pulseC{
animation-delay:-3.2s;
}

.radarCore{
position:absolute;
left:50%;
top:49%;
width:45%;
aspect-ratio:1;
transform:translate(-50%, -50%);
border-radius:50%;
background:rgba(72,76,88,0.74);
}

.radarCoreInner{
position:absolute;
left:50%;
top:49%;
width:28%;
aspect-ratio:1;
transform:translate(-50%, -50%);
border-radius:50%;
background:rgba(152,159,171,0.82);
}

.radarCenterDot{
position:absolute;
left:50%;
top:49%;
width:15px;
height:15px;
transform:translate(-50%, -50%);
border-radius:50%;
background:#d45867;
box-shadow:0 0 18px rgba(212,88,103,0.35);
z-index:3;
animation:radarDotPulse 4.8s linear infinite;
}

.radarOrbit{
position:absolute;
left:50%;
top:49%;
border-radius:50%;
transform:translate(-50%, -50%);
animation:radarSpin 18s linear infinite;
}

.ringOuterOrbit{
width:92%;
height:92%;
}

.ringMidOrbit{
width:70%;
height:70%;
}

.ringInnerOrbit{
width:48%;
height:48%;
}

.radarPlane{
position:absolute;
left:50%;
top:0;
font-size:20px;
filter:drop-shadow(0 0.75px 0.75px rgba(0,0,0,0.22));
transform:translate(-50%, -50%);
text-shadow:0 0 0 rgba(255,255,255,0.18);
font-weight:900;
}

.planeWhite{
color:#f8f8fa;
}

.planeSilver{
color:rgba(194,194,199,0.78);
}

.planeGhost{
color:rgba(126,132,145,0.4);
}

.planeBlue{
color:#8eaddb;
}

.orbitSlow{
animation-duration:18.5s;
}

.orbitMedium{
animation-duration:15.25s;
}

.orbitFast{
animation-duration:12.5s;
}

.phase04{
animation-delay:-1.4s;
}

.phase08{
animation-delay:-2.8s;
}

.phase12{
animation-delay:-4.2s;
}

.phase17{
animation-delay:-6s;
}

.phase24{
animation-delay:-8.1s;
}

.phase28{
animation-delay:-9.8s;
}

.phase31{
animation-delay:-10.9s;
}

.phase39{
animation-delay:-13.1s;
}

.phase43{
animation-delay:-14.8s;
}

@keyframes radarSpin{
from{
transform:translate(-50%, -50%) rotate(0deg);
}
to{
transform:translate(-50%, -50%) rotate(360deg);
}
}

@keyframes radarDotPulse{
0%, 14%, 100%{
opacity:0.72;
transform:translate(-50%, -50%) scale(0.88);
}
18%, 32%{
opacity:1;
transform:translate(-50%, -50%) scale(1);
}
}

@keyframes radarWave{
0%{
opacity:0;
transform:translate(-50%, -50%) scale(0.08);
}
8%{
opacity:0.38;
}
18%{
opacity:0.28;
}
100%{
opacity:0;
transform:translate(-50%, -50%) scale(22);
}
}

.roomingCard{
background:rgba(255,255,255,0.88);
border:1px solid rgba(210,214,218,0.9);
border-radius:14px;
padding:22px 26px;
box-shadow:0 16px 32px rgba(185,190,194,0.22);
}

#accommodationCard + #roomCategoryCard{
margin-top:20px;
}

.roomCategoryHeader{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
margin-bottom:18px;
}

.accommodationHeader{
position:relative;
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:20px;
margin-bottom:0;
min-height:0;
}

.accommodationTitleWrap{
display:inline-flex;
align-items:center;
gap:8px;
}

.roomingCard h3{
font-size:19px;
font-weight:700;
margin-bottom:0;
color:#171717;
}

#accommodationCard h3{
font-size:21px;
color:#1c2833;
margin-bottom:0;
}

#roomCategoryCard h3{
font-size:21px;
}

#roomCategoryCard{
display:flex;
flex-direction:column;
height:calc(100vh - 230px);
overflow:hidden;
}

.accommodationEditButton{
border:none;
background:transparent;
padding:0;
font-size:13px;
line-height:1;
color:#6b7280;
cursor:pointer;
opacity:0;
pointer-events:none;
transition:opacity 0.16s ease,color 0.16s ease;
}

.accommodationTitleWrap:hover .accommodationEditButton,
.accommodationTitleWrap:focus-within .accommodationEditButton,
.accommodationEditButton.toolbarOpen{
opacity:1;
pointer-events:auto;
}

.accommodationEditButton:hover{
color:#374151;
}

.accommodationToolbar{
position:absolute;
top:0;
right:0;
opacity:0;
visibility:hidden;
pointer-events:none;
transform:translateY(-4px);
transition:opacity 0.18s ease,transform 0.18s ease,visibility 0.18s ease;
}

.accommodationToolbar.toolbarVisible{
opacity:1;
visibility:visible;
pointer-events:auto;
transform:translateY(0);
}

.roomTextToolbar{
position:relative;
display:inline-flex;
align-items:center;
gap:8px;
padding:5px 8px;
border:1px solid #e5e7eb;
border-radius:12px;
background:rgba(255,255,255,0.92);
box-shadow:0 10px 24px rgba(15,23,42,0.08);
}

.roomToolbarButton{
position:relative;
width:30px;
height:30px;
border:none;
border-radius:8px;
background:transparent;
display:inline-flex;
align-items:center;
justify-content:center;
color:#1f2937;
cursor:pointer;
transition:background 0.18s ease,color 0.18s ease,box-shadow 0.18s ease;
}

.fontSizeButton{
width:38px;
font-size:12px;
font-weight:700;
letter-spacing:0.02em;
}

.roomToolbarButton:hover{
background:#f3f4f6;
}

.roomToolbarButton.active{
background:#e8f0fe;
color:#1d4ed8;
box-shadow:inset 0 0 0 1px rgba(37,99,235,0.16);
}

.roomToolbarButton:disabled{
opacity:0.45;
cursor:default;
}

.roomToolbarDivider{
width:1px;
height:18px;
background:#d7dde4;
}

.toolbarLetter{
font-size:15px;
font-weight:700;
line-height:1;
}

.italicLetter{
font-style:italic;
}

.underlineLetter{
text-decoration:underline;
text-underline-offset:2px;
}

.strikeLetter{
text-decoration:line-through;
}

.colorTrigger{
flex-direction:column;
gap:1px;
}

.colorTriggerGlyph{
font-size:15px;
font-weight:700;
line-height:1;
}

.colorTriggerSwatch{
width:12px;
height:3px;
border-radius:999px;
background:#111111;
}

.toolbarPopup{
position:absolute;
top:calc(100% + 10px);
padding:8px;
border:1px solid #e5e7eb;
border-radius:12px;
background:#ffffff;
box-shadow:0 18px 40px rgba(15,23,42,0.16);
display:none;
z-index:20;
}

.toolbarPopup.open{
display:flex;
}

#fontFamilyPopup{
right:174px;
gap:6px;
}

#fontSizePopup{
left:42px;
flex-direction:column;
gap:4px;
max-height:220px;
overflow:auto;
width:56px;
}

#accommodationFontSizePopup{
left:42px;
flex-direction:column;
gap:4px;
max-height:220px;
overflow:auto;
width:56px;
}

.toolbarPopupOption{
min-width:42px;
height:34px;
padding:0 10px;
border:none;
border-radius:8px;
background:#f8fafc;
display:inline-flex;
align-items:center;
justify-content:center;
color:#111827;
cursor:pointer;
}

.toolbarPopupOption:hover{
background:#eef2f7;
}

.fontOption{
font-family:Aptos, Segoe UI, sans-serif;
}

.serifOption{
font-family:Georgia, Times New Roman, serif;
}

.monoOption{
font-family:Consolas, Courier New, monospace;
}

.fontSizeOption{
width:100%;
height:30px;
padding:0 10px;
border:none;
border-radius:8px;
background:#f8fafc;
display:flex;
align-items:center;
justify-content:center;
color:#111827;
cursor:pointer;
font-size:12px;
font-weight:700;
}

.fontSizeOption:hover{
background:#eef2f7;
}

.swatchPopup{
gap:8px;
flex-wrap:wrap;
width:158px;
}

#textColorPopup{
right:48px;
}

#highlightColorPopup{
right:0;
}

.swatchOption{
width:22px;
height:22px;
border-radius:999px;
border:2px solid #ffffff;
background:var(--swatch);
box-shadow:0 0 0 1px rgba(148,163,184,0.45);
cursor:pointer;
}

.swatchOption:hover{
transform:scale(1.04);
}

.swatchOption[data-highlight-color="transparent"]{
background:
linear-gradient(135deg, transparent 44%, #cbd5e1 45%, #cbd5e1 55%, transparent 56%),
linear-gradient(#ffffff, #ffffff);
}

.roomingMetaRow{
display:flex;
align-items:center;
gap:3px;
margin-bottom:12px;
flex-wrap:wrap;
}

.updatedMetaRow{
gap:12px;
}

.roomingMetaRow.compact{
gap:12px;
margin-top:2px;
}

.roomingLabel{
font-size:15px;
font-weight:600;
color:#202020;
}

.inlineField{
border:none;
border-bottom:1px solid transparent;
background:transparent;
padding:3px 0 4px;
min-width:74px;
font-size:15px;
color:#252525;
outline:none;
}

.inlineField::placeholder{
color:#8e979f;
}

.inlineField:placeholder-shown{
border-bottom-color:#d4d9dd;
}

.inlineField.wide{
min-width:210px;
}

.inlineField.shortField{
min-width:120px;
width:120px;
text-align:center;
}

#accommodationCard .roomingMetaRow{
margin-bottom:4px;
}

#accommodationCard .roomingMetaRow:first-of-type{
justify-content:center;
margin-top:-10px;
margin-bottom:0;
}

#accommodationCard .roomingMetaRow:nth-of-type(2){
justify-content:center;
margin-top:-2px;
margin-bottom:1px;
}

#accommodationCard .updatedMetaRow{
margin-top:0;
margin-bottom:3px;
}

#accommodationCard .groupedMetaRow{
margin-top:0;
margin-bottom:4px;
}

#accommodationCard #hotelRows{
margin-top:4px;
}

#accommodationTextTop,
#accommodationText{
display:block;
margin:0 auto;
text-align:center;
}

.inlineField.compactInput{
min-width:26px;
max-width:30px;
text-align:center;
}

.groupedMetaRow{
display:inline-flex;
align-items:center;
padding:6px 10px;
border:1px solid #e6ebef;
border-radius:10px;
background:rgba(247,249,251,0.9);
gap:14px;
}

.compactMetaGroup{
display:inline-flex;
align-items:center;
gap:8px;
}

.compactMetaGroup .roomingLabel{
line-height:1;
}

.compactMetaGroup .compactInput{
padding-top:1px;
padding-bottom:2px;
}

#hotelRows{
margin-top:18px;
display:flex;
flex-direction:column;
gap:8px;
max-width:480px;
}

.hotelRow{
display:flex;
align-items:flex-end;
gap:32px;
padding-bottom:6px;
border-bottom:1px solid #edf0f2;
}

.hotelRow input{
border:none;
background:transparent;
font-size:15px;
font-weight:700;
color:#1d1d1d;
outline:none;
}

.hotelDate{
flex:0 0 auto;
min-width:92px;
width:92px;
}

.hotelName{
flex:1 1 180px;
min-width:140px;
}

#roomCategoryBoard{
display:flex;
flex-direction:column;
gap:22px;
flex:1;
min-height:0;
overflow:auto;
padding-right:6px;
}

.roomType{
display:flex;
flex-direction:column;
gap:8px;
}

.roomSectionTitle{
display:grid;
grid-template-columns:76px minmax(300px, 1.35fr) 120px 150px 150px 28px;
align-items:end;
gap:12px;
padding-bottom:8px;
border-bottom:1px solid #e8ecef;
}

.roomSectionTitle.withHeaders{
margin-bottom:2px;
}

.roomSectionName{
font-size:18px;
font-weight:700;
color:#171717;
text-transform:uppercase;
text-decoration:underline;
text-underline-offset:3px;
}

.roomSectionNameWrap{
display:inline-flex;
align-items:center;
gap:8px;
min-width:0;
}

.roomSectionNameWrap.hasInfo .roomInfoIcon{
opacity:1;
pointer-events:auto;
}

.roomInfoIcon{
border:none;
background:transparent;
padding:0;
font-size:13px;
line-height:1;
color:#6b7280;
cursor:pointer;
transition:opacity 0.16s ease;
}

.roomInfoText{
display:none;
font-size:12px;
font-weight:700;
color:#dc2626;
white-space:nowrap;
}

.roomWhoInfoWrap{
position:relative;
display:inline-flex;
align-items:center;
gap:6px;
}

.roomInfoTextPopup{
position:absolute;
left:50%;
top:calc(100% + 8px);
transform:translateX(-18%);
white-space:normal;
min-width:240px;
max-width:280px;
padding:10px 12px;
border-radius:12px;
background:#ffffff;
border:1px solid rgba(220,38,38,0.18);
box-shadow:0 14px 30px rgba(15,23,42,0.14);
line-height:1.35;
z-index:30;
}

.roomSectionNameWrap.infoOpen .roomInfoText{
display:inline;
}

.roomColumnLabel{
font-size:14px;
font-weight:700;
color:#202020;
}

.roomColumnLabel.center{
text-align:center;
}

.vmMasterHeaderCell{
display:flex;
align-items:center;
justify-content:flex-end;
padding-right:0;
}

.roomSectionTitle,
.roomSectionTitle.withWhoColumn,
.roomRowMain,
.roomRowMain.hasWhoColumn{
grid-template-columns:76px 64px minmax(256px, 1.25fr) 30px 58px 120px 150px 150px 28px;
}

.roomList{
display:flex;
flex-direction:column;
gap:3px;
}

.roomRow{
display:flex;
flex-direction:column;
gap:2px;
}

.roomRow.hasOvernight + .roomRow.hasOvernight .dateColumn{
border-top:1px solid #c7cfd8;
padding-top:8px;
}

.roomRowMain{
display:grid;
align-items:center;
gap:12px;
min-height:28px;
}

.roomColumnLabelSpacer,
.whoWrapSpacer,
.vmMasterSpacer{
visibility:hidden;
pointer-events:none;
}

.extNightWrap{
display:flex;
align-items:center;
gap:10px;
}

.extNight{
width:17px;
height:17px;
accent-color:#374151;
}

.whoWrap{
position:relative;
display:flex;
align-items:center;
justify-content:flex-start;
min-height:24px;
padding-left:6px;
}

.whoToggle{
width:17px;
height:17px;
accent-color:#374151;
}

.whoSelect{
position:absolute;
left:50%;
top:50%;
transform:translate(-18%, -50%);
width:132px;
border:1px solid #d3d9df;
border-radius:10px;
padding:4px 8px;
background:#ffffff;
font-size:12px;
color:#1f2937;
outline:none;
box-shadow:0 10px 24px rgba(15,23,42,0.18);
z-index:20;
}

.roomNameWrap{
position:relative;
display:flex;
align-items:center;
gap:12px;
min-width:0;
}

.roomNameWrap.roomNameWrapNeedsExtra::after{
content:"";
position:absolute;
left:42px;
right:0;
top:50%;
height:1.1em;
transform:translateY(-50%);
background:linear-gradient(transparent 30%, rgba(248, 221, 92, 0.52) 30%, rgba(248, 221, 92, 0.52) 88%, transparent 88%);
pointer-events:none;
z-index:0;
}

.vmSwitch{
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
width:40px;
height:22px;
justify-self:center;
opacity:0;
pointer-events:none;
transition:opacity 0.16s ease;
}

.vmSwitchMaster{
opacity:1;
pointer-events:auto;
margin-right:-8px;
}

.roomType.vmMasterOn .roomRow:hover .vmSwitch:not(.vmSwitchMaster),
.vmSwitch:focus-within{
opacity:1;
pointer-events:auto;
}

.roomType.vmMasterOff .vmSwitch:not(.vmSwitchMaster){
opacity:0;
pointer-events:none;
}

.vmToggle{
position:absolute;
opacity:0;
pointer-events:none;
}

.vmSwitchTrack{
position:relative;
display:inline-block;
width:34px;
height:20px;
border-radius:999px;
background:#d7dde4;
box-shadow:inset 0 0 0 1px rgba(15,23,42,0.08);
transition:background 0.18s ease;
}

.vmSwitchTrack::after{
content:"";
position:absolute;
top:2px;
left:2px;
width:16px;
height:16px;
border-radius:50%;
background:#ffffff;
box-shadow:0 1px 4px rgba(15,23,42,0.18);
transition:transform 0.18s ease;
}

.vmToggle:checked + .vmSwitchTrack{
background:#34c759;
}

.vmToggle:checked + .vmSwitchTrack::after{
transform:translateX(14px);
}

.vmToggle:disabled + .vmSwitchTrack{
background:#e7ebef;
opacity:0.65;
}

.deleteRoomInline{
width:16px;
height:16px;
margin-right:-4px;
font-size:11px;
opacity:0;
pointer-events:none;
transition:opacity 0.16s ease, color 0.16s ease;
}

.roomRow:hover .deleteRoomInline,
.deleteRoomInline:focus-visible{
opacity:1;
pointer-events:auto;
}

.roomEntryGuide{
position:absolute;
left:48px;
top:50%;
transform:translateY(-50%);
display:none;
align-items:center;
gap:8px;
pointer-events:none;
max-width:calc(100% - 48px);
}

.roomNameWrap.showEntryGuide .roomEntryGuide{
display:inline-flex;
}

.roomNameWrap.showEntryGuide:focus-within .roomEntryGuide{
display:none;
}

.roomEntryExample{
font-size:16px;
font-weight:400;
font-style:italic;
color:#9aa3aa;
white-space:nowrap;
}

.roomEntryHint{
position:absolute;
left:305px;
top:50%;
transform:translateY(-50%);
display:none;
font-family:"Courier New", Courier, monospace;
font-size:12px;
color:#6b7280;
white-space:nowrap;
flex-shrink:0;
}

.roomNumber{
width:24px;
font-size:17px;
font-weight:700;
color:#151515;
}

.roomName{
flex:1;
min-width:0;
border:none;
background:transparent;
font-weight:500;
color:#111;
outline:none;
position:relative;
z-index:1;
}

.roomName::placeholder{
font-weight:400;
font-style:italic;
color:#9aa3aa;
}

.overnightBadgeCell{
display:flex;
justify-content:center;
}

.overnightBadgeStack{
display:flex;
flex-direction:column;
align-items:center;
gap:6px;
}

.overnightBadge{
display:inline-flex;
align-items:center;
gap:6px;
padding:5px 12px;
border-radius:999px;
font-size:12px;
font-weight:700;
background:#9df065;
color:#234216;
box-shadow:0 6px 18px rgba(126,217,87,0.34);
}

.overnightWhoTag{
display:inline-flex;
align-items:center;
justify-content:center;
padding:4px 10px;
border-radius:999px;
background:#eef3ff;
color:#314578;
font-size:11px;
font-weight:700;
max-width:100%;
text-align:center;
}

.dateColumn{
display:flex;
flex-direction:column;
gap:5px;
}

.dateInputWrap{
position:relative;
display:flex;
align-items:center;
gap:4px;
}

.dateField{
width:100%;
border:none;
background:transparent;
font-size:14px;
color:#1e1e1e;
outline:none;
padding-right:18px;
}

.dateField::-webkit-datetime-edit{
color:#9ca3af;
}

.dateField::-webkit-calendar-picker-indicator{
margin-left:2px;
cursor:pointer;
opacity:0.85;
}

.removeNight{
position:absolute;
right:-4px;
top:50%;
transform:translateY(-50%);
border:none;
background:white;
color:#b6bdc4;
font-size:11px;
width:16px;
height:16px;
border-radius:999px;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
opacity:0;
pointer-events:none;
box-shadow:0 2px 8px rgba(0,0,0,0.12);
transition:opacity 0.16s ease, color 0.16s ease;
}

.dateInputWrap:hover .removeNight{
opacity:1;
pointer-events:auto;
}

.removeNight:hover{
color:#6b7280;
}

.addNight{
border:none;
background:none;
color:#aeb6bd;
font-size:18px;
cursor:pointer;
padding:0;
display:flex;
align-items:center;
justify-content:center;
width:22px;
height:22px;
}

.deleteRoom{
border:none;
background:none;
color:#c7ced5;
font-size:14px;
cursor:pointer;
padding:0;
display:flex;
align-items:center;
justify-content:center;
width:20px;
height:20px;
}

.deleteRoom:hover,
.addNight:hover{
color:#6b7280;
}

.emptyCell{
display:block;
}

.roomingSpreadsheetIntro{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:22px;
padding:28px 30px;
border:1px solid rgba(19,48,78,0.1);
border-radius:6px;
background:
radial-gradient(circle at top right, rgba(243,181,67,0.18), transparent 30%),
linear-gradient(135deg, #17304e, #24486e 58%, #2f5f8a);
color:#f8fbff;
box-shadow:0 28px 44px rgba(17,42,73,0.18);
}

.roomingSpreadsheetIntro h3{
margin:8px 0 10px;
font-size:28px;
line-height:1.05;
color:#ffffff;
}

.roomingSpreadsheetIntro p{
margin:0;
max-width:700px;
font-size:15px;
line-height:1.6;
color:rgba(244,248,252,0.84);
}

.roomingSpreadsheetEyebrow,
.roomingSpreadsheetSectionTag{
display:inline-flex;
align-items:center;
gap:6px;
padding:6px 10px;
border-radius:999px;
font-size:11px;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
background:rgba(255,255,255,0.14);
color:#f5f9ff;
}

.roomingSpreadsheetQuickActions{
display:flex;
align-items:center;
justify-content:flex-end;
min-width:max-content;
}

.roomingSpreadsheetAction{
border:none;
border-radius:6px;
padding:12px 18px;
display:inline-flex;
align-items:center;
gap:10px;
font-size:13px;
font-weight:700;
cursor:pointer;
background:#f3b543;
color:#16324d;
box-shadow:0 18px 30px rgba(5,17,31,0.2);
}

.roomingSpreadsheetLayout{
display:grid;
grid-template-columns:minmax(0, 1.6fr) minmax(280px, 0.7fr);
gap:24px;
align-items:start;
}

.roomingSpreadsheetCard{
padding:18px;
display:flex;
flex-direction:column;
gap:16px;
}

.roomingSpreadsheetMetaBar{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
}

.roomingSpreadsheetMetaBar h3{
margin:6px 0 0;
font-size:21px;
color:#17304e;
}

.roomingSpreadsheetMetaBar .roomingSpreadsheetSectionTag,
.roomingSpreadsheetNoteCard .roomingSpreadsheetSectionTag{
background:rgba(19,48,78,0.08);
color:#17304e;
}

.roomingSpreadsheetStats{
display:flex;
flex-wrap:wrap;
justify-content:flex-end;
gap:8px;
}

.roomingSpreadsheetStat{
min-width:94px;
padding:9px 12px;
border-radius:4px;
border:1px solid rgba(19,48,78,0.08);
background:linear-gradient(180deg,#ffffff,#f4f8fc);
box-shadow:0 12px 24px rgba(17,42,73,0.06);
}

.roomingSpreadsheetStat strong{
display:block;
font-size:18px;
line-height:1;
color:#17304e;
}

.roomingSpreadsheetStat span{
display:block;
margin-top:4px;
font-size:10px;
font-weight:700;
color:#5f6f80;
text-transform:uppercase;
letter-spacing:0.04em;
}

.roomingSpreadsheetMetaGrid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:10px 12px;
}

.roomingSpreadsheetField{
display:flex;
flex-direction:column;
gap:5px;
}

.roomingSpreadsheetField span{
font-size:11px;
font-weight:700;
color:#17304e;
}

.roomingSpreadsheetField input,
.roomingSpreadsheetInput{
width:100%;
box-sizing:border-box;
border:1px solid rgba(19,48,78,0.12);
border-radius:0;
padding:8px 10px;
font-size:12px;
background:#ffffff;
color:#16202a;
transition:border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.roomingSpreadsheetField input:focus,
.roomingSpreadsheetInput:focus{
outline:none;
border-color:rgba(243,181,67,0.8);
box-shadow:inset 0 0 0 1px rgba(243,181,67,0.45);
background:#ffffff;
}

.roomingSpreadsheetTableWrap{
overflow:auto;
border:1px solid rgba(19,48,78,0.12);
border-radius:0;
background:#ffffff;
box-shadow:none;
}

.roomingSpreadsheetTable{
width:100%;
min-width:1260px;
border-collapse:collapse;
border-spacing:0;
}

.roomingSpreadsheetTable thead th{
position:sticky;
top:0;
z-index:1;
padding:8px 8px;
font-size:10px;
font-weight:800;
letter-spacing:0.06em;
text-transform:uppercase;
text-align:left;
color:#17304e;
background:#eef2f6;
border:1px solid rgba(19,48,78,0.14);
box-shadow:none;
}

.roomingSpreadsheetTable tbody td{
padding:0;
border:1px solid rgba(19,48,78,0.12);
background:#ffffff;
}

.roomingSpreadsheetTable tbody tr:nth-child(even) td{
background:#fafcfe;
}

.spreadsheetRowNumber{
width:42px;
text-align:center;
font-size:11px;
font-weight:700;
color:#5f6f80;
padding:8px 6px !important;
}

.spreadsheetCell{
min-width:88px;
}

.spreadsheetCell-lastName,
.spreadsheetCell-firstName{
min-width:150px;
}

.spreadsheetCell-comments{
min-width:220px;
}

.spreadsheetCell-busCode{
min-width:150px;
}

.spreadsheetCellAction{
width:46px;
text-align:center;
background:#f7fafc !important;
}

.roomingSpreadsheetRowDelete{
border:none;
background:transparent;
color:#b42318;
width:34px;
height:34px;
border-radius:4px;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
opacity:0;
pointer-events:none;
transition:opacity 0.14s ease, background 0.14s ease;
}

.roomingSpreadsheetTable tbody tr:hover .roomingSpreadsheetRowDelete,
.roomingSpreadsheetTable tbody tr:focus-within .roomingSpreadsheetRowDelete{
opacity:1;
pointer-events:auto;
}

.roomingSpreadsheetRowDelete:hover{
background:rgba(220,38,38,0.08);
}

.roomingSpreadsheetTable .roomingSpreadsheetInput{
border:none;
border-radius:0;
min-height:38px;
padding:8px 9px;
background:transparent;
box-shadow:none;
}

.roomingSpreadsheetTable .roomingSpreadsheetInput:focus{
background:#fff9eb;
box-shadow:inset 0 0 0 1px rgba(243,181,67,0.65);
}

.roomingSpreadsheetNotes{
display:flex;
flex-direction:column;
position:sticky;
top:24px;
}

.roomingSpreadsheetNoteCard{
padding:18px 18px 16px;
border-radius:6px;
border:1px solid rgba(19,48,78,0.08);
background:linear-gradient(180deg,#ffffff,#f7fafc);
box-shadow:0 16px 28px rgba(17,42,73,0.08);
}

.roomingSpreadsheetNotePrimary{
background:
radial-gradient(circle at top right, rgba(243,181,67,0.14), transparent 38%),
linear-gradient(180deg,#ffffff,#f7fbff);
}

.roomingSpreadsheetNoteStack{
display:flex;
flex-direction:column;
gap:10px;
}

.roomingSpreadsheetNoteDivider{
height:1px;
background:rgba(19,48,78,0.08);
margin:2px 0 0;
}

.roomingSpreadsheetNoteItem{
display:flex;
flex-direction:column;
gap:6px;
}

.roomingSpreadsheetNoteCard h4{
margin:10px 0 8px;
font-size:16px;
color:#17304e;
}

.roomingSpreadsheetNoteStack h4{
margin:0;
font-size:14px;
}

.roomingSpreadsheetNoteCard p{
margin:0;
font-size:13px;
line-height:1.6;
color:#5c6978;
}

@media (max-width: 780px){
.roomingSpreadsheetIntro,
.roomingSpreadsheetMetaBar{
flex-direction:column;
}

.roomingSpreadsheetLayout{
grid-template-columns:1fr;
}

.roomingSpreadsheetNotes{
position:static;
}

.roomingSpreadsheetMetaGrid{
grid-template-columns:1fr;
}

.radarStage{
width:100%;
aspect-ratio:1 / 0.92;
}

.radarPlane{
font-size:28px;
}

.radarCenterDot{
width:14px;
height:14px;
}

.flight-page-shell:not(.flight-admin-layout) .flight-layout{
grid-template-columns:1fr;
}

.flight-page-shell:not(.flight-admin-layout) .flight-radar-panel{
position:relative;
top:auto;
height:auto;
}

.flightRadarShell{
min-height:240px;
}

.flight-tracker-panel{
padding-top:0;
}
}

@media print{
body *{
visibility:hidden;
}

#roomingMainList,
#roomingMainList *{
visibility:visible;
}

#roomingMainList{
position:absolute;
left:0;
top:0;
width:100%;
}
}

/* Rooming toolbar overrides */
#roomingContent > .roomingToolbarRow{
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
width:100%;
margin:0 0 10px;
}

#roomingContent > .roomingToolbarRow > .rooming-card-tabs{
display:flex;
align-items:center;
gap:22px;
margin:0;
padding:0;
flex:0 0 auto;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow{
display:flex;
align-items:center;
justify-content:flex-end;
margin-left:auto;
flex:0 0 auto;
padding:0;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-slot{
display:flex;
align-items:center;
justify-content:flex-end;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-bar{
display:flex;
align-items:center;
justify-content:flex-end;
gap:10px;
min-height:52px;
padding:10px 12px;
border:1px solid rgba(19,48,78,0.1);
border-radius:18px;
background:
radial-gradient(circle at top right, rgba(243,181,67,0.22), transparent 34%),
linear-gradient(180deg, rgba(255,255,255,0.98), rgba(238,245,251,0.98));
box-shadow:0 22px 44px rgba(16,39,63,0.1);
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-copy{
padding-right:2px;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-copy.single-line{
justify-content:center;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-label{
color:#6d7f93;
font-size:11px;
margin:0;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-active{
color:#17304e;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-select-wrap{
position:relative;
display:flex;
align-items:center;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-select-wrap::after{
content:"\f078";
font-family:"Font Awesome 6 Free";
font-weight:900;
position:absolute;
right:15px;
font-size:11px;
color:#5f7288;
pointer-events:none;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-select{
appearance:none;
-webkit-appearance:none;
-moz-appearance:none;
min-width:300px;
height:40px;
padding:0 38px 0 14px;
border:1px solid rgba(19,48,78,0.14);
border-radius:14px;
background:linear-gradient(180deg,#ffffff,#f4f8fb);
color:#17304e;
font-size:13px;
font-weight:700;
letter-spacing:0.01em;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.85), 0 10px 22px rgba(17,42,73,0.06);
outline:none;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-select:hover,
#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-select:focus{
border-color:rgba(243,181,67,0.78);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.9), 0 14px 28px rgba(17,42,73,0.1);
}

#flightInfoPage .flightToolbarRow{
display:flex;
align-items:center;
justify-content:flex-end;
margin:0 0 18px;
padding:0;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow{
display:flex;
align-items:center;
justify-content:flex-end;
margin-left:auto;
flex:0 0 auto;
padding:0;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-target-slot{
display:flex;
align-items:center;
justify-content:flex-end;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-target-bar{
display:flex;
align-items:center;
justify-content:flex-end;
gap:10px;
min-height:52px;
padding:10px 12px;
border:1px solid rgba(19,48,78,0.1);
border-radius:18px;
background:
radial-gradient(circle at top right, rgba(243,181,67,0.22), transparent 34%),
linear-gradient(180deg, rgba(255,255,255,0.98), rgba(238,245,251,0.98));
box-shadow:0 22px 44px rgba(16,39,63,0.1);
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-target-copy{
padding-right:2px;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-target-copy.single-line{
justify-content:center;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-target-label{
color:#6d7f93;
font-size:11px;
margin:0;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-target-active{
color:#17304e;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-select-wrap{
position:relative;
display:flex;
align-items:center;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-select-wrap::after{
content:"\f078";
font-family:"Font Awesome 6 Free";
font-weight:900;
position:absolute;
right:15px;
font-size:11px;
color:#5f7288;
pointer-events:none;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-target-select{
appearance:none;
-webkit-appearance:none;
-moz-appearance:none;
min-width:300px;
height:40px;
padding:0 38px 0 14px;
border:1px solid rgba(19,48,78,0.14);
border-radius:14px;
background:linear-gradient(180deg,#ffffff,#f4f8fb);
color:#17304e;
font-size:13px;
font-weight:700;
letter-spacing:0.01em;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.85), 0 10px 22px rgba(17,42,73,0.06);
outline:none;
}

#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-target-select:hover,
#flightInfoPage .flightToolbarRow > #flightUtilityRow .rooming-admin-target-select:focus{
border-color:rgba(243,181,67,0.78);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.9), 0 14px 28px rgba(17,42,73,0.1);
}

#accommodationCard .accommodationHeader{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:14px;
flex-wrap:nowrap;
padding-right:112px;
position:relative;
}

#accommodationCard .accommodationTitleWrap{
display:flex;
align-items:center;
gap:10px;
min-width:0;
}

.rooming-card-clear-wrap{
position:absolute;
top:0;
right:0;
margin-left:auto;
display:flex;
align-items:flex-end;
flex-direction:column;
justify-content:flex-end;
gap:10px;
flex:0 0 auto;
}

.rooming-nametag-toggle{
display:flex;
align-items:center;
justify-content:flex-end;
gap:10px;
cursor:pointer;
}

.rooming-nametag-toggle-copy{
font-size:12px;
line-height:1.35;
font-weight:600;
color:#17304e;
text-align:right;
white-space:nowrap;
}

.rooming-ios-switch{
position:relative;
display:inline-flex;
align-items:center;
flex:0 0 auto;
}

.rooming-ios-switch input{
position:absolute;
opacity:0;
pointer-events:none;
}

.rooming-ios-slider{
position:relative;
width:42px;
height:24px;
border-radius:999px;
background:linear-gradient(180deg,#dce3ea,#cfd8e3);
box-shadow:inset 0 0 0 1px rgba(19,48,78,0.1);
transition:background 0.22s ease, box-shadow 0.22s ease;
}

.rooming-ios-slider::before{
content:"";
position:absolute;
top:2px;
left:2px;
width:20px;
height:20px;
border-radius:50%;
background:#ffffff;
box-shadow:0 4px 10px rgba(17,42,73,0.24);
transition:transform 0.22s ease;
}

.rooming-ios-switch input:checked + .rooming-ios-slider{
background:linear-gradient(180deg,#5ad66f,#31c857);
box-shadow:inset 0 0 0 1px rgba(49,200,87,0.25);
}

.rooming-ios-switch input:checked + .rooming-ios-slider::before{
transform:translateX(18px);
}

.rooming-ios-switch input:focus-visible + .rooming-ios-slider{
outline:2px solid rgba(19,48,78,0.2);
outline-offset:3px;
}

.rooming-card-clear-btn{
border:1px solid rgba(19,48,78,0.12);
background:linear-gradient(180deg,#ffffff,#f3f7fb);
color:#17304e;
padding:8px 12px;
border-radius:999px;
font-size:12px;
font-weight:700;
display:inline-flex;
align-items:center;
gap:8px;
cursor:pointer;
box-shadow:0 8px 18px rgba(17,42,73,0.08);
transition:transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.rooming-card-clear-btn:hover{
transform:translateY(-1px);
border-color:rgba(243,181,67,0.68);
background:linear-gradient(180deg,#ffffff,#eef5fb);
box-shadow:0 12px 22px rgba(17,42,73,0.12);
}

.rooming-clear-confirm{
position:absolute;
top:calc(100% + 10px);
right:0;
width:220px;
padding:12px;
border-radius:16px;
border:1px solid rgba(19,48,78,0.12);
background:linear-gradient(180deg,#ffffff,#f7fafc);
box-shadow:0 20px 34px rgba(17,42,73,0.14);
display:none;
z-index:6;
}

.rooming-clear-confirm.open{
display:block;
}

.rooming-clear-confirm-copy{
font-size:12px;
line-height:1.45;
color:#17304e;
}

.rooming-clear-confirm-actions{
display:flex;
justify-content:flex-end;
gap:8px;
margin-top:10px;
}

.rooming-clear-confirm-actions button{
border:none;
border-radius:999px;
padding:7px 11px;
font-size:11px;
font-weight:700;
cursor:pointer;
}

#roomingClearCancelBtn{
background:#edf3f8;
color:#4c6179;
}

#roomingClearConfirmBtn{
background:#17304e;
color:#fff;
}

#flightClearCancelBtn{
background:#edf3f8;
color:#4c6179;
}

#flightClearConfirmBtn{
background:#17304e;
color:#fff;
}

#accommodationCard .accommodationToolbar{
top:42px;
right:0;
}

@media (max-width: 900px){
#roomingContent > .roomingToolbarRow{
flex-direction:column;
align-items:stretch;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow{
justify-content:flex-start;
margin-left:0;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-slot,
#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-bar{
width:100%;
justify-content:space-between;
}

#roomingContent > .roomingToolbarRow > #roomingUtilityRow .rooming-admin-target-select{
min-width:220px;
width:100%;
}
}
