:root { --navy:#073b4c; --deep:#042b38; --turquoise:#17a8a4; --sand:#f4efe5; --sun:#ffcf67; --coral:#f06f55; --white:#fff; --ink:#12323b; --muted:#667b81; --line:#dfe4e2; --danger:#b83f32; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--sand); font-family:"DM Sans",system-ui,sans-serif; line-height:1.5; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
[hidden] { display:none !important; }
.eyebrow { margin:0 0 8px; color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,p { margin-top:0; }
h1,h2 { color:var(--navy); }
h1 { margin-bottom:8px; font-family:"Shrikhand",Georgia,serif; font-size:clamp(38px,5vw,56px); font-weight:400; line-height:1.05; }
h2 { margin-bottom:12px; font-size:22px; }
.muted { color:var(--muted); }
.auth-screen { min-height:100vh; display:grid; grid-template-columns:minmax(360px,1fr) minmax(500px,1fr); background:#fffaf0; }
.auth-art { min-height:100vh; position:relative; overflow:hidden; display:grid; place-items:center; background:#f6da8f; }
.auth-sun { position:absolute; width:300px; height:300px; top:15%; border-radius:50%; background:var(--coral); }
.auth-wave { position:absolute; left:-10%; width:120%; height:25%; border-radius:50% 50% 0 0; }
.wave-a { bottom:27%; background:#78d4d0; transform:rotate(2deg); }.wave-b { bottom:12%; background:#1593a2; transform:rotate(-2deg); }.wave-c { bottom:-7%; background:var(--navy); }
.auth-art > strong { position:relative; z-index:2; color:#fffaf0; font:400 clamp(58px,8vw,120px) "Shrikhand",serif; text-shadow:4px 5px 0 rgba(7,59,76,.25); transform:rotate(-5deg); }
.auth-panel { width:min(500px,calc(100% - 56px)); margin:auto; padding:60px 0; }
.admin-brand { display:flex; align-items:center; gap:12px; color:var(--navy); text-decoration:none; }
.auth-panel > .admin-brand { margin-bottom:80px; }
.admin-brand-mark { width:46px; height:46px; display:grid; place-items:center; color:var(--navy); background:var(--sun); border-radius:50%; font-size:34px; font-weight:700; line-height:1; }
.admin-brand strong,.admin-brand small { display:block; }.admin-brand strong { font:400 20px "Shrikhand",serif; }.admin-brand small { margin-top:3px; color:var(--coral); font-size:9px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.auth-form { margin-top:30px; display:grid; gap:18px; }
label { display:grid; gap:7px; color:var(--navy); font-size:13px; font-weight:700; }
input,select,textarea { width:100%; padding:12px 13px; color:var(--ink); background:#fff; border:1px solid #cbd5d3; border-radius:8px; outline:0; }
input:focus,select:focus,textarea:focus { border-color:var(--turquoise); box-shadow:0 0 0 3px rgba(23,168,164,.14); }
textarea { min-height:105px; resize:vertical; }
.form-message { min-height:20px; margin:0; color:var(--danger); font-size:13px; }
.admin-button { min-height:44px; padding:0 18px; border:1px solid transparent; border-radius:999px; font-weight:800; }
.admin-button.primary { color:var(--navy); background:var(--sun); }.admin-button.primary:hover { background:#ffda84; }
.admin-button.secondary { color:var(--navy); background:#fff; border-color:#ccd6d4; }.admin-button.danger { color:var(--danger); background:#fff; border-color:#e8b9b3; }.admin-button.full { width:100%; }
.admin-layout { min-height:100vh; display:grid; grid-template-columns:260px 1fr; }
.admin-sidebar { height:100vh; padding:26px 20px; position:sticky; top:0; display:flex; flex-direction:column; color:#fff; background:var(--deep); }
.admin-brand.light { color:#fff; padding:0 7px; }.admin-brand.light small { color:var(--sun); }
.admin-nav { margin-top:42px; display:grid; gap:5px; }
.admin-nav button { width:100%; padding:11px 12px; display:flex; align-items:center; gap:12px; color:#c6d5d8; background:none; border:0; border-radius:8px; text-align:left; font-weight:700; }
.admin-nav button span { width:22px; color:var(--sun); font-size:18px; text-align:center; }.admin-nav button:hover,.admin-nav button.active { color:#fff; background:rgba(255,255,255,.1); }.admin-nav b { min-width:22px; margin-left:auto; padding:2px 6px; color:var(--navy); background:var(--sun); border-radius:20px; font-size:11px; text-align:center; }
.sidebar-footer { margin-top:auto; padding-top:20px; display:grid; gap:5px; border-top:1px solid rgba(255,255,255,.12); }.sidebar-footer a,.sidebar-footer button { padding:8px 10px; color:#b9cbcf; background:none; border:0; font-size:13px; text-align:left; text-decoration:none; }.sidebar-footer a:hover,.sidebar-footer button:hover { color:#fff; }
.mobile-admin-header { display:none; }
.admin-main { min-width:0; padding:0 42px 70px; }
.admin-topbar { height:62px; margin-bottom:32px; display:flex; align-items:center; justify-content:flex-end; gap:10px; color:var(--muted); border-bottom:1px solid rgba(7,59,76,.1); font-size:12px; }.status-dot { width:8px; height:8px; background:#43a56f; border-radius:50%; }
.admin-view { display:none; }.admin-view.active { display:block; }
.admin-heading { margin-bottom:28px; display:flex; align-items:center; justify-content:space-between; gap:24px; }.admin-heading p { margin-bottom:0; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.metric { padding:22px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:12px; text-align:left; }.metric:hover { border-color:var(--turquoise); transform:translateY(-2px); }.metric strong,.metric span { display:block; }.metric strong { color:var(--navy); font:400 42px "Shrikhand",serif; }.metric span { color:var(--muted); font-size:13px; font-weight:700; }.metric.alert strong { color:var(--coral); }
.dashboard-grid { margin-top:20px; display:grid; grid-template-columns:1.35fr .65fr; gap:20px; }.admin-card,.table-card { background:#fff; border:1px solid var(--line); border-radius:12px; }.admin-card { padding:24px; }.card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.text-button { color:var(--turquoise); background:none; border:0; font-weight:800; white-space:nowrap; }
.recent-list { margin:6px -24px -24px; }.recent-item { width:100%; padding:15px 24px; display:grid; grid-template-columns:1fr auto; gap:10px; color:inherit; background:none; border:0; border-top:1px solid #edf0ef; text-align:left; }.recent-item:hover { background:#fbfaf6; }.recent-item strong,.recent-item span { display:block; }.recent-item span { color:var(--muted); font-size:12px; }.status-pill { width:max-content; padding:4px 9px; color:#52676d; background:#e9eeed; border-radius:999px; font-size:10px; font-weight:800; text-transform:capitalize; }.status-pill.new { color:#96422f; background:#ffe0d7; }.status-pill.in_progress { color:#775600; background:#fff0bd; }.status-pill.resolved { color:#176039; background:#dff4e7; }
.health-row { padding:13px 0; display:flex; justify-content:space-between; gap:12px; border-top:1px solid #edf0ef; font-size:13px; }.health-dot { width:8px; height:8px; margin-right:8px; display:inline-block; border-radius:50%; }.health-dot.good { background:#43a56f; }.updated-line { margin:18px 0; color:var(--muted); font-size:12px; }
.toolbar { margin-bottom:14px; display:grid; grid-template-columns:minmax(260px,1fr) 220px; gap:12px; }.table-card { overflow:auto; }.admin-table { width:100%; min-width:790px; border-collapse:collapse; }.admin-table th,.admin-table td { padding:14px 16px; border-bottom:1px solid #edf0ef; text-align:left; vertical-align:middle; }.admin-table th { color:#667b81; background:#faf8f3; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }.admin-table tr:last-child td { border-bottom:0; }.admin-table small { color:var(--muted); }.row-title { font-weight:800; }.row-action { padding:7px 12px; color:var(--navy); background:#fff; border:1px solid #cbd5d3; border-radius:999px; font-size:12px; font-weight:800; }.row-action:hover { border-color:var(--turquoise); }.empty-state { padding:50px 20px; color:var(--muted); text-align:center; }
.content-section { margin-bottom:18px; }.form-grid { display:grid; gap:15px; }.form-grid.two { grid-template-columns:1fr 1fr; }.form-grid.three { grid-template-columns:repeat(3,1fr); }.form-grid .wide { grid-column:1/-1; }.optional { color:var(--muted); font-size:11px; font-weight:400; }.language-tabs { margin:28px 0 14px; display:flex; gap:6px; }.language-tabs button { padding:9px 18px; color:var(--muted); background:transparent; border:1px solid transparent; border-radius:999px; font-weight:800; }.language-tabs button.active { color:var(--navy); background:#fff; border-color:var(--line); }.language-panel { display:none; }.language-panel.active { display:grid; gap:18px; }.save-message { min-height:20px; margin-top:16px; color:#176039; font-weight:700; }
.admin-dialog { width:min(720px,calc(100% - 28px)); max-height:90vh; padding:0; color:var(--ink); background:#fff; border:0; border-radius:16px; box-shadow:0 24px 80px rgba(3,34,43,.25); }.admin-dialog::backdrop { background:rgba(3,34,43,.68); backdrop-filter:blur(3px); }.dialog-shell { padding:27px; }.dialog-heading { margin-bottom:22px; display:flex; align-items:flex-start; justify-content:space-between; }.dialog-heading h2 { margin:0; font:400 32px "Shrikhand",serif; }.icon-button { width:38px; height:38px; color:var(--navy); background:#f2f0ea; border:0; border-radius:50%; font-size:24px; line-height:1; }.check-stack { display:grid; align-content:end; gap:10px; }.check-label { display:flex; align-items:center; gap:9px; }.check-label input { width:17px; height:17px; }.dialog-actions { margin-top:22px; display:grid; grid-template-columns:auto 1fr auto auto; gap:9px; }.inquiry-meta { margin-bottom:18px; display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.meta-box { padding:11px 13px; background:#f6f4ee; border-radius:8px; }.meta-box small,.meta-box strong { display:block; }.meta-box small { color:var(--muted); font-size:10px; text-transform:uppercase; }.message-box { margin-bottom:20px; padding:18px; background:#e7f5f3; border-left:4px solid var(--turquoise); border-radius:6px; white-space:pre-wrap; }.toast { position:fixed; z-index:100; right:22px; bottom:22px; max-width:330px; padding:13px 18px; color:#fff; background:var(--navy); border-radius:9px; box-shadow:0 10px 30px rgba(0,0,0,.2); opacity:0; pointer-events:none; transform:translateY(15px); transition:.2s ease; }.toast.show { opacity:1; transform:none; }
@media (max-width:1000px) { .metric-grid { grid-template-columns:repeat(2,1fr); }.dashboard-grid { grid-template-columns:1fr; }.form-grid.three { grid-template-columns:1fr 1fr; } }
@media (max-width:760px) { .auth-screen { grid-template-columns:1fr; }.auth-art { display:none; }.auth-panel > .admin-brand { margin-bottom:55px; }.admin-layout { display:block; }.admin-sidebar { width:260px; z-index:20; position:fixed; left:0; transform:translateX(-105%); transition:transform .2s ease; }.admin-sidebar.open { transform:none; }.mobile-admin-header { height:60px; padding:0 16px; display:flex; align-items:center; justify-content:space-between; color:#fff; background:var(--deep); }.mobile-admin-header button { color:var(--sun); background:none; border:0; font-size:22px; }.mobile-admin-header a { color:#fff; font-size:12px; }.admin-main { padding:0 18px 70px; }.admin-topbar { height:48px; margin-bottom:22px; }.admin-heading { align-items:flex-start; flex-direction:column; }.metric-grid { grid-template-columns:1fr 1fr; }.toolbar { grid-template-columns:1fr; }.form-grid.two,.form-grid.three { grid-template-columns:1fr; }.form-grid .wide { grid-column:auto; }.dialog-actions { grid-template-columns:1fr 1fr; }.dialog-actions span { display:none; }.dialog-actions .danger { grid-column:1/-1; order:2; }.inquiry-meta { grid-template-columns:1fr; } }
@media (max-width:430px) { .metric-grid { grid-template-columns:1fr; }.admin-card { padding:19px; }.dialog-shell { padding:20px; }.auth-panel { width:calc(100% - 36px); } }
