:root{
  --blue:#2563eb;
  --blue-dark:#1e40af;
  --blue-light:#eff6ff;
  --cyan:#06b6d4;
  --violet:#8b5cf6;
  --text:#334155;
  --heading:#0f172a;
  --muted:#64748b;
  --border:#e2e8f0;
  --bg:#f6f8fb;
  --radius:16px;
  --grad:linear-gradient(135deg,#2563eb,#06b6d4);
  --grad3:linear-gradient(90deg,#2563eb,#06b6d4,#8b5cf6);
  --frame:linear-gradient(160deg,#93c5fd,#67e8f9,#d8b4fe);
  --shadow:0 4px 14px rgba(37,99,235,.10);
  --shadow-lg:0 12px 28px rgba(37,99,235,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Vazirmatn',Tahoma,sans-serif;background:linear-gradient(180deg,#dce9ff 0%,#f4f8fc 45%,#e6f0fb 100%);background-attachment:fixed;min-height:100vh;display:flex;flex-direction:column;color:var(--text);font-size:15px;line-height:1.8}
main{flex:1;width:100%}
h1,h2,h3{color:var(--heading);line-height:1.5}
.container{max-width:1060px;margin:0 auto;padding:0 18px}

@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{transform:translateY(16px) scale(.97);opacity:.5}to{transform:none;opacity:1}}

/* ---------- هدر ---------- */
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;box-shadow:0 2px 10px rgba(15,23,42,.05)}
.header-inner{display:flex;align-items:center;gap:20px;min-height:66px;flex-wrap:wrap;padding:6px 0}
.brand{font-weight:800;text-decoration:none;font-size:20px;display:flex;align-items:center;gap:8px;background:linear-gradient(90deg,#1e40af,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand::before{content:'✦';color:var(--blue);font-size:22px;-webkit-text-fill-color:var(--blue)}
.main-nav{display:flex;gap:6px;flex:1}
.main-nav a{color:var(--text);text-decoration:none;font-size:14px;font-weight:600;padding:8px 16px;border-radius:999px;transition:.25s}
.main-nav a:hover{background:var(--blue-light);color:var(--blue-dark);transform:translateY(-1px)}
.header-actions{display:flex;gap:8px;align-items:center}

/* ---------- دکمه‌ها ---------- */
.btn{border:none;border-radius:12px;padding:9px 18px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;transition:.25s;line-height:1.7}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,99,235,.45);filter:brightness(1.06)}
.btn-outline{border:1px solid var(--border);color:var(--text);background:#fff}
.btn-outline:hover{border-color:var(--blue);color:var(--blue-dark);transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-ghost{background:transparent;color:var(--muted)}
.btn-ghost:hover{color:#b91c1c}
.btn-block{width:100%;padding:12px}
.btn-sm{padding:5px 12px;font-size:12px;border-radius:9px}

/* ---------- پیام‌ها ---------- */
.flash{margin:12px 0;padding:12px 16px;border-radius:12px;font-size:14px;border:1px solid transparent;animation:rise .3s ease}
.flash-success{background:#f0fdf4;color:#166534;border-color:#bbf7d0}
.flash-error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.flash-warning{background:#fefce8;color:#854d0e;border-color:#fde68a}
.flash-warning a{color:#854d0e}

/* ---------- hero ---------- */
.hero{text-align:center;padding:70px 0 44px;background:none}
.hero h1{font-size:38px;margin:0 0 10px;background:var(--grad3);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--muted);font-size:16px;margin:0}

/* ---------- کارت‌ها با قاب گرادیانی ---------- */
.card{background:linear-gradient(#ffffff,#ffffff) padding-box,var(--frame) border-box;border:2px solid transparent;border-radius:var(--radius);padding:22px;margin-bottom:20px;box-shadow:var(--shadow);transition:.3s;animation:rise .35s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.card h2{margin-top:0;font-size:18px;display:flex;align-items:center;gap:8px}
.card h2::before{content:'';width:10px;height:10px;border-radius:4px;background:var(--grad);flex-shrink:0}
.muted{color:var(--muted)}

/* ---------- اطلاعیه‌ها ---------- */
.announce-list{list-style:none;margin:0;padding:0}
.announce-list li{border:1px solid #dbeafe;border-right:4px solid var(--blue);border-radius:12px;padding:18px 20px;margin-bottom:22px;background:linear-gradient(to left,var(--blue-light),#fff);transition:.25s}
.announce-list li:hover{transform:translateX(-4px);box-shadow:var(--shadow);border-right-color:var(--cyan)}
.announce-list strong.announce-title{font-size:18px;font-weight:800;color:var(--heading)}
.announce-list p{margin:8px 0 0;color:var(--text);font-size:14px}
.announce-text.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.announce-more{margin-top:8px}

/* ---------- فوتر ---------- */
.site-footer{padding:22px 0;color:#94a3b8;font-size:13px;margin-top:56px;background:#0f172a}

/* ---------- مودال ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:50;backdrop-filter:blur(3px);animation:fade .18s ease}
.modal-overlay[hidden]{display:none}
.modal-box{background:#fff;border-radius:20px;width:370px;max-width:92vw;padding:26px;position:relative;box-shadow:0 24px 60px rgba(15,23,42,.35);animation:pop .25s ease;overflow:hidden}
.modal-close{position:absolute;top:12px;left:12px;border:none;background:none;font-size:22px;cursor:pointer;color:var(--muted);line-height:1;transition:.2s}
.modal-close:hover{color:#b91c1c;transform:rotate(90deg)}

/* ---------- تب‌ها و فرم‌ها ---------- */
.auth-tabs{display:flex;gap:8px;margin-bottom:16px}
.auth-tabs .tab{flex:1;padding:10px;border:1px solid var(--border);background:#fff;border-radius:12px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;color:var(--muted);transition:.25s}
.auth-tabs .tab:hover{border-color:var(--blue);color:var(--blue-dark)}
.auth-tabs .tab.active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(37,99,235,.35)}
.auth-form label{display:block;font-size:13px;margin-bottom:12px;color:var(--text);font-weight:600}
.auth-form input,.auth-form select,.auth-form textarea{width:100%;padding:10px 12px;margin-top:6px;border:1px solid var(--border);border-radius:12px;font-family:inherit;font-size:14px;background:#fff;transition:.15s}
.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.18)}

/* ---------- بج‌ها ---------- */
.badge{display:inline-block;padding:2px 12px;border-radius:999px;font-size:12px;font-weight:600;background:#e2e8f0;color:#475569}
.badge-pending{background:#fef9c3;color:#854d0e}
.badge-approved{background:#dcfce7;color:#166534}
.badge-rejected{background:#fee2e2;color:#b91c1c}
.badge-canceled{background:#e2e8f0;color:#475569}
.badge-child{background:#bae6fd;color:#075985}

/* ---------- جدول ---------- */
.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.admin-table th,.admin-table td{padding:10px 12px;font-size:13px;border-bottom:1px solid var(--border);text-align:right}
.admin-table th{background:linear-gradient(90deg,var(--blue-light),#fff);color:var(--blue-dark);font-weight:700}
.admin-table tr:last-child td{border-bottom:none}
.admin-table tbody tr{transition:.15s}
.admin-table tbody tr:hover{background:#f8fafc}

/* ---------- بازنویسی کارت‌های داخل صفحه‌ها ---------- */
body .trip-card{display:block;background:linear-gradient(#ffffff,#f8fbff) padding-box,var(--frame) border-box;border:2px solid transparent;border-radius:16px;padding:16px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:.25s}
body .trip-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
body .trip-card-active{background:var(--grad) padding-box,var(--grad) border-box;color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.4)}
body .trip-card-active .muted{color:#e0f2fe}

body .media-item{background:#fff;border:2px solid transparent;border-radius:16px;padding:12px;text-align:center;box-shadow:var(--shadow);transition:.25s;background:linear-gradient(#fff,#fff) padding-box,var(--frame) border-box}
body .media-item:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow-lg)}
body .media-thumb{width:100%;height:110px;object-fit:cover;border-radius:12px;transition:transform .35s}
body .media-item:hover .media-thumb{transform:scale(1.06)}
body .media-icon{font-size:36px;margin:12px 0;display:block;text-decoration:none;transition:.25s}
body .media-item:hover .media-icon{transform:scale(1.2) rotate(-6deg)}
body .media-name{font-size:11px;color:var(--muted);margin:6px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

body .dep-item{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dbeafe;border-right:4px solid var(--blue);border-radius:14px;padding:12px 16px;background:linear-gradient(to left,var(--blue-light),#fff);box-shadow:var(--shadow);transition:.25s}
body .dep-item:hover{transform:translateX(-4px);box-shadow:var(--shadow-lg)}
body .dep-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;margin-right:6px;background:#e2e8f0;color:var(--text)}
body .dep-badge-spouse{background:linear-gradient(135deg,#fecdd3,#fda4af);color:#9f1239}
body .dep-badge-child{background:linear-gradient(135deg,#bae6fd,#7dd3fc);color:#075985}
body .dep-badge-other{background:linear-gradient(135deg,#e9d5ff,#d8b4fe);color:#6b21a8}
body .dep-badge-user{background:linear-gradient(135deg,#bbf7d0,#86efac);color:#166534}
body .dep-meta{font-size:12px;margin-top:4px}

body .trip-block{border:1px solid #dbeafe;border-radius:14px;margin-bottom:14px;overflow:hidden;box-shadow:var(--shadow);transition:.25s;background:#fff}
body .trip-block:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
body .trip-block-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;background:linear-gradient(90deg,var(--blue-light),#fff);border-bottom:1px solid #dbeafe;font-weight:700}

body .doc-thumb{max-width:150px;border-radius:12px;border:2px solid #bfdbfe;box-shadow:var(--shadow);transition:.25s}
body .doc-thumb:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}

body .btn-danger{color:#b91c1c}
body .btn-danger:hover{background:#fee2e2;color:#b91c1c}

/* ---------- موبایل ---------- */
@media(max-width:760px){
  .header-inner{gap:10px}
  .main-nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}
  .hero h1{font-size:28px}
}

.jalali-picker{
  font-family: Vazirmatn, Tahoma, sans-serif !important;
  direction: ltr !important;
  text-align: right !important;
}