:root{--ves-blue:#0b67c2;--ves-navy:#071f36;--ves-bg:#f4f8fc;--ves-line:#d9e5ef}body{font-family:system-ui,-apple-system,"Segoe UI","Noto Sans Thai",sans-serif;color:var(--ves-navy)}a{color:var(--ves-blue);text-decoration:none}.auth-page{min-height:100vh;background:radial-gradient(circle at 15% 15%,#e9f4ff 0,transparent 32%),linear-gradient(135deg,#f8fbfe,#edf4fa)}.auth-card{border-radius:24px;box-shadow:0 24px 70px rgba(7,31,54,.12)}.brand-mark{display:grid;width:64px;height:50px;border-radius:12px;background:#fff;color:#111;font-weight:900;letter-spacing:-2px;place-items:center;border:1px solid var(--ves-line);box-shadow:inset -10px 0 #ff3434}.kicker{color:var(--ves-blue);font-size:.75rem;font-weight:800;letter-spacing:.18em}.form-control,.form-select{border-color:#cbdce9;border-radius:10px;padding:.7rem .85rem}.form-control:focus,.form-select:focus{border-color:var(--ves-blue);box-shadow:0 0 0 .2rem rgba(11,103,194,.12)}.btn{border-radius:10px;font-weight:700}.btn-primary{background:linear-gradient(135deg,#288de9,#0961b7);border:0}.ves-nav{background:linear-gradient(90deg,#061d33,#0c3f6d)}.avatar{display:grid;width:68px;height:68px;overflow:hidden;border-radius:50%;background:#dceeff;color:var(--ves-blue);font-size:1.65rem;font-weight:800;place-items:center}.avatar img{width:100%;height:100%;object-fit:cover}.stat-card{height:100%;border:1px solid var(--ves-line);border-radius:16px;background:#fff;padding:22px;box-shadow:0 10px 30px rgba(7,31,54,.06)}.stat-card span{display:block;margin-bottom:8px;color:#6c8193;font-size:.85rem}.stat-card strong{font-size:1.2rem}.table thead th{color:#698093;font-size:.78rem;text-transform:uppercase}.member-cell{display:flex;align-items:center;gap:10px}.member-dot{display:grid;width:38px;height:38px;border-radius:50%;background:#e4f1fc;color:var(--ves-blue);font-weight:800;place-items:center}@media(max-width:575.98px){.auth-page main{padding-top:1.5rem!important}.auth-card{border-radius:18px}.stat-card{padding:18px}}
.content-admin{max-width:1180px}.package-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px;border:1px solid var(--ves-line);border-radius:16px;background:#fff}.package-tab{border:0;border-radius:11px;background:transparent;color:#5d7183;padding:14px 18px;font-weight:800;text-align:left}.package-tab small{display:block;font-weight:500}.package-tab.active{background:linear-gradient(135deg,#0d6bc4,#074d91);color:#fff;box-shadow:0 8px 24px rgba(11,103,194,.2)}.admin-form-card{border:1px solid var(--ves-line);border-radius:20px;background:#fff;padding:24px;box-shadow:0 12px 36px rgba(7,31,54,.06)}.package-admin-card{overflow:hidden;border:1px solid var(--ves-line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(7,31,54,.06)}.package-image{position:relative;height:185px;background:linear-gradient(145deg,#f7fafc,#eaf2f8);display:grid;place-items:center}.package-image img{width:100%;height:100%;object-fit:contain;padding:14px}.status-dot{position:absolute;top:12px;right:12px;border-radius:999px;background:#778997;color:#fff;padding:5px 9px;font-size:.72rem;font-weight:800}.status-dot.active{background:#198754}.package-badge{display:inline-block;border-radius:999px;background:#e7f3ff;color:#075ca9;padding:4px 9px;font-size:.72rem;font-weight:800}.package-meta{color:#0b67c2;font-weight:800}.feature-list{margin:0;padding-left:1.1rem;color:#53697a;font-size:.86rem}.empty-content{border:1px dashed #b9cddd;border-radius:16px;background:#fff;color:#6b8092;padding:42px;text-align:center}@media(max-width:575.98px){.package-tabs{grid-template-columns:1fr}.admin-form-card{padding:18px}.package-image{height:160px}}

/* Packages admin v1.4 — self-contained; no external CSS framework required. */
*,*::before,*::after{box-sizing:border-box}.content-admin-page{margin:0;min-height:100vh;background:#eef4f8;color:#17344c;font-family:system-ui,-apple-system,"Segoe UI","Noto Sans Thai",sans-serif}.content-admin-page button,.content-admin-page input,.content-admin-page textarea,.content-admin-page select{font:inherit}.admin-topbar{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #173c5a;background:#08243c;padding:14px clamp(20px,4vw,60px);color:#fff}.admin-brand{display:flex;flex-direction:column;color:#fff;text-decoration:none}.admin-brand span{color:#72e6ad;font-size:10px;font-weight:900;letter-spacing:.16em}.admin-brand strong{font-size:19px}.admin-nav{display:flex;flex-wrap:wrap;gap:8px}.admin-nav a,.admin-nav button,.admin-customer-link{cursor:pointer;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:transparent;padding:9px 12px;color:#fff;text-decoration:none;font-size:12px;font-weight:800}.admin-nav a.active{border-color:#fff;background:#fff;color:#123b5c}.content-admin{width:min(1320px,calc(100% - 40px));max-width:none;margin:0 auto;padding:34px 0 70px}.admin-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.admin-page-heading h1{margin:6px 0 5px;color:#092c48;font-size:clamp(27px,3vw,38px);letter-spacing:-.03em}.admin-page-heading p{margin:0;color:#6f8494;font-size:13px}.admin-customer-link{border-color:#137abd;background:#137abd;box-shadow:0 8px 18px rgba(19,122,189,.2)}.package-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;padding:8px;border:1px solid #d3e1eb;border-radius:18px;background:#fff}.package-tab{position:relative;cursor:pointer;border:0;border-radius:12px;background:transparent;padding:15px 52px 15px 18px;color:#597286;text-align:left}.package-tab strong,.package-tab small{display:block}.package-tab strong{font-size:14px}.package-tab small{margin-top:2px;color:inherit;font-size:11px;font-weight:500;opacity:.75}.package-tab>span{position:absolute;top:50%;right:16px;display:grid;min-width:28px;height:28px;border-radius:999px;background:#edf3f7;color:#43657d;font-size:11px;font-weight:900;place-items:center;transform:translateY(-50%)}.package-tab.active{background:linear-gradient(135deg,#0d6bc4,#074d91);color:#fff;box-shadow:0 8px 24px rgba(11,103,194,.2)}.package-tab.active>span{background:rgba(255,255,255,.17);color:#fff}.admin-form-card{border:1px solid #d5e2eb;border-radius:20px;background:#fff;padding:26px;box-shadow:0 12px 34px rgba(19,53,79,.06)}.admin-section-title,.admin-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-section-title{margin-bottom:22px}.admin-section-title h2,.admin-list-heading h2{margin:0;color:#12344e;font-size:21px}.admin-section-title p,.admin-list-heading p{margin:4px 0 0;color:#718797;font-size:12px}.admin-cancel-edit,.admin-list-heading button{cursor:pointer;border:1px solid #cadae5;border-radius:9px;background:#fff;padding:8px 11px;color:#4d6a7e;font-size:11px;font-weight:800}.is-hidden{display:none!important}.admin-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.field{display:grid;align-content:start;gap:7px;color:#304d63;font-size:12px;font-weight:800}.field-wide{grid-column:span 3}.field-half{grid-column:span 2}.field input,.field textarea,.field select{width:100%;min-width:0;border:1px solid #cfdde7;border-radius:10px;outline:0;background:#fbfdff;padding:11px 12px;color:#17344c;font-size:13px;font-weight:500}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#2786cd;box-shadow:0 0 0 3px rgba(39,134,205,.1)}.field input[type=file]{padding:8px}.field small{color:#7b8f9e;font-size:10px;font-weight:500}.admin-form-actions{display:flex;margin-top:18px}.admin-save{min-height:46px;cursor:pointer;border:0;border-radius:11px;background:linear-gradient(135deg,#288de9,#0961b7);padding:11px 26px;color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 20px rgba(9,97,183,.18)}.form-message{margin-top:16px;border-radius:9px;background:#eef4f8;padding:11px 13px;color:#3a607b;font-size:12px}.form-message.success{background:#e9f8f1;color:#16764f}.form-message.error{background:#fff0f0;color:#b93f3f}.admin-list-section{margin-top:32px}.admin-list-heading{margin-bottom:17px}.package-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.package-admin-card{display:flex;overflow:hidden;min-width:0;flex-direction:column;border:1px solid #d9e6f0;border-radius:22px;background:#fff;box-shadow:0 16px 42px rgba(9,42,73,.09);transition:transform .2s ease,box-shadow .2s ease}.package-admin-card:hover{transform:translateY(-4px);box-shadow:0 22px 54px rgba(9,42,73,.14)}.package-image{position:relative;display:grid;height:210px;overflow:hidden;background:linear-gradient(145deg,#e7f5ec,#d9ebfa);place-items:center}.package-image img{width:100%;height:100%;padding:0;object-fit:cover}.package-placeholder{display:grid;color:#0b6c66;text-align:center;place-items:center}.package-placeholder span{font-size:52px}.package-placeholder strong{font-size:17px}.package-badge,.status-dot{position:absolute;top:16px;border-radius:999px;padding:7px 12px;color:#fff;font-size:10px;font-weight:900;box-shadow:0 8px 18px rgba(9,42,73,.16)}.package-badge{left:16px;background:#13a66d}.status-dot{right:16px;background:#788b99}.status-dot.active{background:#137bc2}.package-card-body{display:flex;min-height:405px;flex:1;flex-direction:column;padding:24px}.package-size{color:#148257;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.package-card-body h3{margin:7px 0 8px;color:#092c48;font-size:22px;line-height:1.3}.package-description{min-height:42px;margin:0 0 17px;color:#657b8c;font-size:12px;line-height:1.65}.package-price{display:flex;flex-direction:column;border-top:1px solid #e7eef4;padding-top:15px}.package-price small,.package-saving small{color:#768b9c;font-size:10px}.package-price strong{color:#0b2b46;font-size:26px}.package-saving{margin-top:10px;border-radius:10px;background:#eaf8f1;padding:10px 12px;color:#417363}.package-saving strong{display:block;margin-top:2px;color:#09744b;font-size:12px}.feature-list{display:grid;gap:7px;margin:17px 0 20px;padding:0;list-style:none}.feature-list li{display:flex;align-items:flex-start;gap:8px;color:#496274;font-size:12px;line-height:1.45}.feature-list li span{color:#12a66d;font-weight:900}.package-actions{display:flex;gap:8px;margin-top:auto}.package-actions button{min-height:40px;flex:1;cursor:pointer;border-radius:9px;font-size:12px;font-weight:900}.package-actions .edit{border:0;background:#147bc3;color:#fff}.package-actions .del{border:1px solid #f0b9b9;background:#fff5f5;color:#bd4141}.empty-content,.admin-loading,.admin-error{grid-column:1/-1;display:grid;min-height:220px;border:1px dashed #b9cddd;border-radius:18px;background:#fff;padding:36px;color:#6b8092;text-align:center;place-items:center}.admin-error{border-color:#e5b5b5;color:#b84545}
@media(max-width:1020px){.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wide,.field-half{grid-column:span 1}.package-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.admin-topbar{align-items:flex-start;flex-direction:column}.admin-nav{width:100%}.content-admin{width:min(100% - 28px,1320px);padding-top:22px}.admin-page-heading{align-items:flex-start;flex-direction:column}.package-tabs{grid-template-columns:1fr}.admin-form-card{padding:18px}.admin-form-grid,.package-admin-grid{grid-template-columns:1fr}.field-wide,.field-half{grid-column:auto}.package-card-body{min-height:auto}.package-image{height:190px}}

/* Shared admin navigation v1.6 */
.ves-admin-navbar{position:sticky;top:0;z-index:1000;display:flex;min-height:72px;align-items:center;gap:28px;background:linear-gradient(110deg,#061d33,#0b365e);padding:11px clamp(14px,3vw,48px);box-shadow:0 8px 24px rgba(3,18,35,.2);font-family:system-ui,-apple-system,"Segoe UI","Noto Sans Thai",sans-serif}
.ves-admin-brand{display:flex;flex:0 0 auto;align-items:center;gap:11px;color:#fff!important;text-decoration:none!important;white-space:nowrap}
.ves-admin-brand-mark{display:grid;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#ffd556,#f3a916);color:#08233f;font-size:20px;font-weight:900;place-items:center}
.ves-admin-brand strong,.ves-admin-brand small{display:block}.ves-admin-brand strong{font-size:18px;line-height:1.1}.ves-admin-brand small{margin-top:3px;color:#8fc7ef;font-size:9px;font-weight:800;letter-spacing:.12em}
.ves-admin-menu{display:flex;min-width:0;align-items:center;gap:6px;margin-left:auto;overflow-x:auto;padding:3px 0;scrollbar-width:thin;white-space:nowrap}
.ves-admin-menu a,.ves-admin-logout{display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;background:transparent;padding:8px 13px;color:#dcecff!important;text-decoration:none!important;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.ves-admin-menu a:hover{background:rgba(255,255,255,.1);color:#fff!important}.ves-admin-menu a.active{border-color:rgba(255,255,255,.28);background:#fff;color:#0a3458!important;box-shadow:0 5px 15px rgba(0,0,0,.16)}
.ves-admin-logout{margin-left:5px;background:#f3b928;color:#112b43!important}.ves-admin-logout:hover{background:#ffd35c}
@media(max-width:900px){.ves-admin-navbar{align-items:flex-start;flex-direction:column;gap:9px;padding-top:10px;padding-bottom:9px}.ves-admin-menu{width:100%;margin-left:0}.ves-admin-menu a,.ves-admin-logout{min-height:38px;padding:7px 11px;font-size:12px}}
@media(max-width:520px){.ves-admin-navbar{position:sticky}.ves-admin-brand-mark{width:38px;height:38px}.ves-admin-brand strong{font-size:16px}.ves-admin-menu{padding-bottom:5px}}
