/* =========================================================
   Admin Portal styles v3 — extends style.css "Quiet Coastal" tokens
   ========================================================= */
body.admin-body{background:var(--bg);}

.admin-shell{display:flex;min-height:100vh;}

.admin-sidebar{width:258px;flex:none;background:var(--ink-950);color:#fff;padding:26px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;}
.admin-brand{display:flex;align-items:center;gap:11px;padding:0 6px 24px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:20px;}
.admin-brand .brand-badge{width:40px;height:25px;}
.admin-brand .name{color:#fff;font-size:14.5px;}
.admin-brand .tag{color:var(--teal-300);}
.admin-nav{display:flex;flex-direction:column;gap:2px;flex:1;}
.admin-nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;font-size:13.5px;font-weight:500;color:#9AAAA6;transition:.2s;}
.admin-nav a .icon{font-size:16px;}
.admin-nav a:hover{background:rgba(255,255,255,.05);color:#fff;}
.admin-nav a.active{background:var(--teal-600);color:#fff;}
.admin-sidebar-foot{border-top:1px solid rgba(255,255,255,.08);padding-top:16px;margin-top:16px;}
.admin-sidebar-foot .mini{font-size:11.5px;color:#8496A0;margin-bottom:14px;line-height:1.6;}

.admin-main{flex:1;min-width:0;padding:32px 38px 60px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:16px;}
.admin-topbar h1{font-size:24px;}
.admin-topbar p{font-size:13.5px;margin-top:4px;}
.admin-user-chip{display:flex;align-items:center;gap:11px;background:var(--surface);padding:7px 15px 7px 7px;border-radius:var(--radius-pill);border:1px solid var(--line);}
.admin-user-chip .av{width:32px;height:32px;border-radius:10px;background:var(--teal-600);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;font-size:12.5px;}
.admin-user-chip span{font-size:13px;font-weight:600;}

.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px;}
.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px 22px;position:relative;transition:transform .3s var(--ease-soft),box-shadow .3s var(--ease-soft);}
.kpi-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.kpi-card .kpi-ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:#fff;font-size:17px;}
.kpi-card:nth-child(1) .kpi-ic{background:var(--sand-500);}
.kpi-card:nth-child(2) .kpi-ic{background:var(--teal-600);}
.kpi-card:nth-child(3) .kpi-ic{background:var(--teal-400);}
.kpi-card:nth-child(4) .kpi-ic{background:var(--ink-900);}
.kpi-card b{font-family:'Fraunces',serif;font-weight:600;font-size:28px;display:block;color:var(--ink-900);}
.kpi-card span{font-size:12px;color:var(--text-mute);}

.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.admin-panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:14px;}
.admin-panel-head h3{font-size:16px;}
.admin-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.admin-toolbar input,.admin-toolbar select{padding:9px 13px;border-radius:10px;border:1px solid var(--line);font-size:13px;background:var(--bg);outline:none;}
.admin-toolbar input:focus,.admin-toolbar select:focus{border-color:var(--teal-500);}

table.admin-table{width:100%;border-collapse:collapse;}
.admin-table th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);padding:13px 24px;background:var(--surface-2);border-bottom:1px solid var(--line);}
.admin-table td{padding:15px 24px;border-bottom:1px solid var(--line);font-size:13.5px;vertical-align:middle;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table tr:hover td{background:var(--surface-2);}
.pkg-thumb{width:50px;height:50px;border-radius:11px;object-fit:cover;flex:none;}
.pkg-thumb-wrap{display:flex;align-items:center;gap:13px;}
.pkg-thumb-wrap .ph{width:50px;height:50px;border-radius:11px;font-size:18px;}
.pkg-title-cell b{display:block;color:var(--ink-900);font-size:14px;}
.pkg-title-cell span{font-size:12px;color:var(--text-mute);}
.status-pill{padding:5px 12px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;}
.status-pill.published{background:#E1F3EE;color:#0E8A73;}
.status-pill.draft{background:#F6EBDD;color:#A6631F;}
.region-pill{padding:5px 12px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;background:var(--ink-950);color:#fff;}
.region-pill.intl{background:var(--sand-600);}
.row-actions{display:flex;gap:8px;}
.icon-btn{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--text-soft);transition:.2s;font-size:13.5px;}
.icon-btn:hover{background:var(--ink-950);color:var(--sand-400);border-color:var(--ink-950);}
.icon-btn.danger:hover{background:#C24A32;color:#fff;border-color:#C24A32;}

.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--ink-950),var(--ink-900));position:relative;overflow:hidden;padding:20px;}
.admin-login-card{position:relative;z-index:1;width:100%;max-width:410px;background:var(--surface);border-radius:var(--radius-lg);padding:42px 38px;box-shadow:var(--shadow-lg);}
.admin-login-brand{display:flex;margin:0 auto 20px;justify-content:center;}
.admin-login-brand .brand-badge{width:60px;height:36px;}
.admin-login-brand .name{font-size:19px;}
.admin-login-brand .tag{font-size:9px;}
.admin-login-card h1{font-size:22px;text-align:center;margin-bottom:6px;}
.admin-login-card p{text-align:center;margin-bottom:28px;font-size:13.5px;}
.admin-login-card .demo-hint{margin-top:20px;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:12px;padding:13px 15px;font-size:12.5px;color:var(--text-soft);text-align:center;}
.admin-login-card .demo-hint b{color:var(--ink-900);}
.form-error{background:#FBEAE5;color:#A6401E;border-radius:10px;padding:11px 14px;font-size:13px;margin-bottom:18px;display:none;}
.form-error.show{display:block;}

.form-shell{display:grid;grid-template-columns:2fr 1fr;gap:26px;align-items:start;}
.form-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px;margin-bottom:22px;}
.form-section h3{font-size:15.5px;margin-bottom:5px;}
.form-section .hint{font-size:12.5px;color:var(--text-mute);margin-bottom:18px;}
.form-section .form-row{grid-template-columns:1fr 1fr;}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;}
.field-help{font-size:11.5px;color:var(--text-mute);}
.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);}
.toggle-row:first-child{border-top:none;}
.switch{position:relative;width:42px;height:23px;flex:none;}
.switch input{opacity:0;width:0;height:0;}
.slider-tog{position:absolute;inset:0;background:var(--line-strong);border-radius:24px;cursor:pointer;transition:.25s;}
.slider-tog::before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.25s;}
.switch input:checked+.slider-tog{background:var(--teal-600);}
.switch input:checked+.slider-tog::before{transform:translateX(19px);}
.sticky-side{position:sticky;top:22px;}
.preview-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:19px;margin-bottom:18px;}
.preview-card h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-mute);margin-bottom:13px;}
.itin-row{display:grid;grid-template-columns:64px 1fr 1fr auto;gap:10px;margin-bottom:10px;align-items:start;}

@media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr);}.form-shell{grid-template-columns:1fr;}}
@media (max-width:900px){.admin-sidebar{position:fixed;left:-280px;z-index:400;transition:.35s;}.admin-sidebar.open{left:0;}.admin-main{padding:22px 16px 60px;}.admin-table{display:block;overflow-x:auto;}}
