/* Admin panel theme: orange, white and light orange. Loaded after admin-modern.css; it only changes how things look
   (colours, spacing, type, shadows, states), never the markup or what a control does. */

/* ---------- design tokens ---------- */
:root {
  --saffron: #F97316;        /* primary orange */
  --orange: #EA580C;         /* dark orange: hover, text on light backgrounds */
  --cream: #FFF7ED;          /* light orange */
  --peach: #FFEDD5;          /* soft orange */
  --ink: #1F2937;            /* primary text */
  --muted: #6B7280;          /* secondary text */
  --line: #F3E8DC;           /* borders */
  --ok: #16A34A;             /* success */
  --bad: #DC2626;            /* error */
  --page: #FFFAF5;           /* page background */
  --card: #FFFFFF;
  --grad: #F97316;           /* solid primary: no heavy gradients */
  --side: 264px;
  --r-sm: 8px; --r-md: 12px; --r-lg: 16px;
  --shadow: 0 1px 2px rgba(31, 41, 55, .04), 0 4px 14px rgba(234, 88, 12, .06);
  --shadow-lg: 0 12px 32px rgba(31, 41, 55, .12);
  --ring: 0 0 0 3px rgba(249, 115, 22, .18);
}

/* ---------- base and typography ---------- */
body.adm { font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; background: var(--page); color: var(--ink); font-size: 14px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.adm h1, body.adm h2, body.adm h3, body.adm h4 { font-family: inherit; color: var(--ink); }
.adm-content a:not(.ad-btn):not(.ad-tabs a) { color: var(--orange); }
body.adm ::selection { background: var(--peach); }
.adm-content { max-width: 1320px; padding: 24px 28px 40px; }
.ad-head { margin-bottom: 22px; align-items: center; }
.ad-head h1 { font-family: inherit; font-weight: 600; font-size: 24px; letter-spacing: -.2px; color: var(--ink); line-height: 1.25; }
.ad-head h1 span { color: var(--saffron); }
.ad-head p { color: var(--muted); font-size: 13.5px; margin-top: 4px; }
.ad-sub { font-family: inherit; font-weight: 600; font-size: 16px; color: var(--ink); margin: 26px 0 12px; }
.ad-bar h2 { font-family: inherit; font-weight: 600; }

/* ---------- sidebar: white, orange only for the active item ---------- */
.adm-side { background: #fff; color: var(--ink); border-right: 1px solid var(--line); border-top: 0; box-shadow: 1px 0 0 rgba(234, 88, 12, .03); }
.adm-brand { padding: 16px 18px; color: var(--ink); border-bottom: 1px solid var(--line); background: var(--cream); }
.adm-brand .emb { width: 42px; height: 42px; }
.adm-brand b { font-family: inherit; font-weight: 700; font-size: 15.5px; letter-spacing: .4px; color: var(--ink); }
.adm-brand small { color: var(--orange); font-weight: 600; letter-spacing: 1.6px; font-size: 10px; }
.adm-nav { padding: 6px 12px 16px; scrollbar-color: #F3D9C2 transparent; }
.adm-cap { margin: 18px 10px 6px; color: #9CA3AF; font-size: 10.5px; letter-spacing: 1.6px; font-weight: 600; }
.adm-nav a, .adm-grp > summary { color: #4B5563; padding: 8px 12px; border-radius: var(--r-md); font-size: 13.5px; font-weight: 500; }
.adm-nav a i, .adm-grp > summary i { color: #9CA3AF; width: 20px; font-size: 15px; }
.adm-nav a:hover, .adm-grp > summary:hover { background: var(--cream); color: var(--orange); }
.adm-nav a:hover i, .adm-grp > summary:hover i { color: var(--saffron); }
.adm-nav a.on { background: var(--peach); color: var(--orange); box-shadow: none; font-weight: 600; }
.adm-nav a.on::before { content: ""; position: absolute; left: -12px; top: 8px; bottom: 8px; width: 4px; border-radius: 0 4px 4px 0; background: var(--saffron); }
.adm-nav a.on i { color: var(--saffron); }
.adm-grp[open] > summary { color: var(--ink); font-weight: 600; }
.adm-grp[open] > summary i { color: var(--saffron); }
.adm-grp > summary::after { opacity: .5; font-size: 14px; }
.adm-grp .sub { margin: 2px 0 8px 20px; padding-left: 8px; border-left: 1px solid var(--line); }
.adm-grp .sub a { padding: 6px 10px; font-size: 13px; font-weight: 400; }
.adm-grp .sub a.on::before { left: -9px; }
.adm-grp .sub .sh { color: var(--orange); font-weight: 600; letter-spacing: 1.2px; }
.adm-nav .badge { background: var(--saffron); color: #fff; font-weight: 600; }
.adm-out { margin: 0 12px 14px; background: var(--cream); color: var(--orange); border: 1px solid var(--line); font-weight: 600; }
.adm-out:hover { background: var(--saffron); color: #fff; border-color: var(--saffron); }

/* ---------- top bar ---------- */
.adm-top { height: 60px; background: #fff; border-bottom: 1px solid var(--line); padding: 0 24px; gap: 12px; box-shadow: none; }
.adm-top .ttl { font-family: inherit; font-weight: 600; font-size: 16px; color: var(--ink); }
.adm-top .act { gap: 10px; }
.adm-top .btn-site { color: var(--orange); background: var(--cream); border: 1px solid var(--peach); font-weight: 600; font-size: 13px; padding: 6px 14px; border-radius: 99px; }
.adm-top .btn-site:hover { background: var(--saffron); border-color: var(--saffron); color: #fff; }
.adm-top .who { color: var(--ink); font-weight: 500; padding: 4px 10px 4px 6px; border-radius: 99px; background: var(--cream); }
.adm-top .who i { font-size: 20px; color: var(--saffron); }
.adm-burger { color: var(--ink); border-radius: var(--r-sm); }
.adm-burger:hover { background: var(--cream); color: var(--orange); }
.adm-bell .bell { color: #4B5563; }
.adm-bell .bell:hover, .adm-bell .bell.has { background: var(--cream); color: var(--orange); }
.adm-bell .bell b { background: var(--bad); color: #fff; }
.adm-bell .panel { border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-lg); overflow: hidden; }
.adm-bell .ph { background: var(--cream); border-bottom: 1px solid var(--line); }
.adm-bell .it { border-top: 1px solid var(--line); }
.adm-bell .it:hover { background: var(--cream); }

/* ---------- dashboard ---------- */
.ad-welcome { background: linear-gradient(135deg, var(--peach), var(--cream)); color: var(--ink); border: 1px solid #FED7AA; border-radius: var(--r-lg); padding: 24px 28px; box-shadow: var(--shadow); }
.ad-welcome::before, .ad-welcome::after { background: rgba(249, 115, 22, .08); }
.ad-welcome h1 { color: var(--ink); font-family: inherit; font-weight: 600; font-size: 22px; }
.ad-welcome p { color: #4B5563; opacity: 1; }
.ad-stats.big { gap: 16px; }
.ad-stats.big .ad-stat, .ad-stat { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 18px 20px; }
.ad-stat:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(234, 88, 12, .12); border-color: #FED7AA; }
.ad-stats.big .ad-stat i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: var(--r-md); background: var(--cream); color: var(--saffron); font-size: 20px; margin-bottom: 12px; }
.ad-stats.big .ad-stat:hover i { transform: none; background: var(--peach); }
.ad-stat b, .ad-stats.big .ad-stat b { font-family: inherit; font-weight: 700; font-size: 30px; color: var(--ink); letter-spacing: -.5px; }
.ad-stat span { color: var(--muted); font-size: 12px; text-transform: none; letter-spacing: .2px; font-weight: 500; }
.ad-stat.on { background: var(--cream); border-color: var(--saffron); }
.ad-action { border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 14px 16px; }
.ad-action:hover { border-color: #FED7AA; box-shadow: 0 8px 22px rgba(234, 88, 12, .12); transform: translateY(-2px); }
.ad-action > i { color: var(--saffron); font-size: 22px; }
.ad-action:hover > i { color: var(--orange); transform: none; }
.ad-action b { font-weight: 600; color: var(--ink); }
.ad-action em { color: #D1D5DB; }
.ad-action:hover em { color: var(--saffron); }

/* ---------- cards and panels ---------- */
.ad-card, .ad-panel, .ad-tablewrap, .ad-item, .ml-folder, .ml-file, .ad-count { border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); background: var(--card); }
.ad-panel { padding: 20px 22px; }
.ad-panel > h2, .ad-card > h2, .ad-card > summary { font-family: inherit; font-weight: 600; font-size: 16px; color: var(--ink); }
.ad-panel > h2 { border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.ad-panel > h2 i { color: var(--saffron); }
details.ad-card > summary::before { background: var(--saffron); border-radius: 8px; }
.ad-note { background: var(--cream); border: 1px solid var(--peach); border-radius: var(--r-md); color: #7C4A1E; }
.ad-count { padding: 5px 14px; font-weight: 500; color: var(--muted); box-shadow: none; }
.ad-count b { color: var(--orange); font-weight: 700; }

/* ---------- alerts ---------- */
.ad-alert { border-radius: var(--r-md); font-weight: 500; font-size: 13.5px; }
.ad-alert.ok { background: #F0FDF4; color: #166534; border: 1px solid #BBF7D0; border-left: 4px solid var(--ok); }
.ad-alert.err { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; border-left: 4px solid var(--bad); }
.ad-alert.ok i { color: var(--ok); } .ad-alert.err i { color: var(--bad); }
.ad-err { color: var(--bad); }
.adm-content .alert-success, .adm-content .alert-info { background: #F0FDF4; border-color: #BBF7D0; color: #166534; }
.adm-content .alert-danger, .adm-content .alert-warning { background: #FEF2F2; border: 1px solid #FECACA; color: #991B1B; }
.adm-toast { background: #fff; color: var(--ink); border: 1px solid var(--line); border-left: 4px solid var(--saffron); box-shadow: var(--shadow-lg); border-radius: var(--r-md); }
.adm-toast small { color: var(--muted); }

/* ---------- tables ---------- */
.ad-tablewrap { overflow-x: auto; }
table.ad-table { border-collapse: separate; border-spacing: 0; }
.ad-table th { background: var(--cream); color: #7C4A1E; font-size: 11.5px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; padding: 12px 14px; border-bottom: 1px solid var(--peach); }
.ad-table td { padding: 12px 14px; border-top: 0; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 13.5px; }
.ad-table tbody tr:last-child td { border-bottom: 0; }
.ad-table tr:hover td { background: #FFFBF7; }
.ad-table tr.off td { opacity: .6; }
.ad-table td:first-child { color: var(--muted); font-weight: 500; }
.ad-table .nm small, .ad-table small { color: var(--muted); }
.ad-table td b { font-weight: 600; }
.ad-table .ad-empty, .ad-empty { color: var(--muted); }
.adm-content .table > thead > tr > th, .adm-content .table > tbody > tr.danger > td, .adm-content .table > tbody > tr.info > td { background: var(--cream); color: #7C4A1E; }
.adm-content .table-bordered, .adm-content .table-bordered > tbody > tr > td { border-color: var(--line); }

/* ---------- badges / pills ---------- */
.ad-pill { white-space: nowrap; background: var(--peach); color: var(--orange); border-radius: 99px; padding: 2px 10px; font-size: 11.5px; font-weight: 600; line-height: 1.6; }
.ad-pill.off { background: #F3F4F6; color: #6B7280; }
.ad-pill.ok { background: #DCFCE7; color: #166534; }
.pill { background: #F3F4F6; color: #4B5563; font-weight: 600; }
.pill.new { background: var(--peach); color: var(--orange); } .pill.contacted { background: #FEF3C7; color: #92400E; }
.pill.interested { background: #FFEDD5; color: #9A3412; } .pill.admitted { background: #DCFCE7; color: #166534; }
.pill.closed { background: #F3F4F6; color: #6B7280; } .pill.src { background: var(--cream); color: var(--orange); }

/* ---------- buttons ---------- */
.ad-btn { background: var(--saffron); color: #fff; border: 1px solid var(--saffron); border-radius: var(--r-md); box-shadow: 0 1px 2px rgba(234, 88, 12, .25); padding: 9px 18px; font-weight: 600; font-size: 13.5px; transition: background .2s, border-color .2s, box-shadow .2s, transform .2s; }
.ad-btn:hover { background: var(--orange); border-color: var(--orange); color: #fff; box-shadow: 0 4px 12px rgba(234, 88, 12, .28); transform: translateY(-1px); }
.ad-btn:focus-visible { outline: none; box-shadow: var(--ring); }
.ad-btn.line { background: var(--cream); color: var(--orange); border: 1px solid var(--peach); box-shadow: none; }
.ad-btn.line:hover { background: var(--peach); color: var(--orange); border-color: #FDBA74; box-shadow: none; }
.ad-btn.danger { background: #fff; color: var(--bad); border: 1px solid #FECACA; box-shadow: none; }
.ad-btn.danger:hover { background: var(--bad); color: #fff; border-color: var(--bad); }
.ad-btn.sm { padding: 5px 12px; font-size: 12.5px; border-radius: 10px; }
.ad-btn.sm.ico { background: transparent; border: 0; box-shadow: none; color: var(--muted); border-radius: var(--r-sm); }
.ad-btn.sm.ico:hover { background: var(--cream); color: var(--orange); transform: none; box-shadow: none; }
.ad-btn.sm.ico[data-dialog] { color: var(--saffron); }
.ad-btn.sm.ico.danger { color: var(--bad); background: transparent; border: 0; }
.ad-btn.sm.ico.danger:hover { background: #FEF2F2; color: #B91C1C; }
.ad-toolbar .create { border-radius: var(--r-md); }
.adm-content .btn-primary, .adm-content .btn-success, .adm-content .btn-info, .adm-content input[type=submit], .adm-content input[type=button] { background: var(--saffron); border: 1px solid var(--saffron); color: #fff; border-radius: var(--r-md); font-weight: 600; }
.adm-content input[type=submit]:hover, .adm-content input[type=button]:hover, .adm-content .btn-primary:hover { background: var(--orange); border-color: var(--orange); }
.adm-content .btn-danger, .adm-content .btn-warning, .adm-content .btn-default { background: var(--cream); border: 1px solid var(--peach); color: var(--orange); border-radius: var(--r-md); }
.adm-content .label-primary, .adm-content .label-info, .adm-content .label-success, .adm-content .badge { background: var(--saffron); }

/* ---------- forms ---------- */
.ad-form label, .lg-f span { color: #374151; font-weight: 600; font-size: 12.5px; }
.ad-form input[type=text], .ad-form input[type=date], .ad-form input[type=number], .ad-form input[type=password], .ad-form input[type=email], .ad-form select, .ad-form textarea,
.adm-content input[type=text], .adm-content input[type=password], .adm-content input[type=email], .adm-content input[type=number], .adm-content input[type=date], .adm-content select, .adm-content textarea,
.ad-filter input, .ad-filter select, .ad-table select, .ad-table input[type=text] {
  background: #fff; border: 1px solid #E5DACB; border-radius: 10px; color: var(--ink); font: inherit; font-size: 13.5px; padding: 9px 12px; min-height: 40px; transition: border-color .2s, box-shadow .2s; }
.ad-table select, .ad-table input[type=text] { min-height: 34px; padding: 5px 9px; }
.ad-form input:focus, .ad-form select:focus, .ad-form textarea:focus, .adm-content input:focus, .adm-content select:focus, .adm-content textarea:focus, .ad-filter input:focus, .ad-filter select:focus
  { outline: none; border-color: var(--saffron); box-shadow: var(--ring); }
.ad-form input::placeholder, .adm-content input::placeholder, .adm-content textarea::placeholder { color: #A8A29E; }
.ad-form input.invalid, .ad-form select.invalid, .ad-form textarea.invalid { border-color: var(--bad); background: #FEF2F2; box-shadow: 0 0 0 3px rgba(220, 38, 38, .12); }
.ad-filter input, .ad-filter select { border-radius: 99px; padding: 7px 16px; min-height: 38px; }
.ad-check input, .ad-table form.sw input[type=checkbox], input[type=checkbox], input[type=radio] { accent-color: var(--saffron); }
.adm-content input[type=file], .ad-form input[type=file] { background: var(--cream); border: 1.5px dashed #FDBA74; border-radius: var(--r-md); }
.adm-content input[type=file]::file-selector-button, .ad-form input[type=file]::file-selector-button { background: var(--saffron); border-radius: 8px; }
.cur { background: var(--cream); border: 1px dashed #FDBA74; }
.ad-thumb { background: var(--cream); border: 1px solid var(--line); }
.prog-years .py { background: var(--cream); border-color: var(--peach); }

/* ---------- tabs, pager ---------- */
.ad-tabs { border-bottom: 1px solid var(--line); gap: 4px; }
.ad-tabs a { padding: 10px 16px; font-size: 13.5px; font-weight: 500; color: var(--muted); border-radius: 10px 10px 0 0; }
.ad-tabs a:hover { background: var(--cream); color: var(--orange); }
.ad-tabs a.on { color: var(--orange); background: var(--cream); border-bottom-color: var(--saffron); font-weight: 600; }
.ad-tabs a b { background: #F3F4F6; color: var(--muted); font-weight: 600; }
.ad-tabs a.on b { background: var(--saffron); color: #fff; }
.ad-pager a, .ad-pager span { border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: #fff; font-weight: 500; }
.ad-pager a:hover { background: var(--cream); border-color: #FDBA74; color: var(--orange); }
.ad-pager span { background: var(--saffron); border-color: var(--saffron); color: #fff; }
.ad-pager .info { background: none; border: 0; color: var(--muted); }

/* ---------- dialogs and menus ---------- */
.ad-dlg { border-radius: var(--r-lg); box-shadow: 0 24px 64px rgba(31, 41, 55, .28); border: 1px solid var(--line); }
.ad-dlg::backdrop { background: rgba(31, 41, 55, .45); backdrop-filter: blur(2px); }
.ad-dlg .dh { border-bottom: 1px solid var(--line); }
.ad-dlg .dh h3 { color: var(--ink); font-family: inherit; font-weight: 600; font-size: 17px; }
.ad-dlg .dh .x { color: var(--muted); } .ad-dlg .dh .x:hover { color: var(--orange); background: var(--cream); }
.ad-dl .menu { border: 1px solid var(--line); border-radius: var(--r-md); box-shadow: var(--shadow-lg); }
.ad-dl .menu a:hover { background: var(--cream); }
.ml-folder:hover, .ml-file:hover { border-color: #FDBA74; transform: translateY(-2px); }
.ml-folder > a i { color: var(--saffron); }
.pickgrid label:has(input:checked) { border-color: var(--saffron); box-shadow: var(--ring); }
.pickgrid input:checked ~ i { background: var(--saffron); }

/* ---------- sign-in ---------- */
body.adm-guest { background: radial-gradient(900px 500px at 15% -10%, var(--peach), transparent 60%), var(--page); }
.adm-login-card { border: 1px solid var(--line); border-top: 4px solid var(--saffron); border-radius: 20px; box-shadow: var(--shadow-lg); }
.adm-login-card .lg b { font-family: inherit; font-weight: 700; font-size: 20px; }
.adm-login-card .lg small { color: var(--orange); }
.lg-badge { background: var(--cream); color: var(--saffron); }
.lg-card h1 { font-family: inherit; font-weight: 600; font-size: 22px; }
.lg-err { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; border-radius: var(--r-md); }
.lg-f > i { color: var(--saffron); }
.lg-f input { border: 1px solid #E5DACB; border-radius: 10px; }
.lg-f input:focus { border-color: var(--saffron); box-shadow: var(--ring); }
.lg-go { background: var(--saffron); border-radius: var(--r-md); box-shadow: 0 1px 2px rgba(234, 88, 12, .25); }
.lg-go:hover { background: var(--orange); box-shadow: 0 6px 16px rgba(234, 88, 12, .3); transform: translateY(-1px); }

/* ---------- responsive ---------- */
@media (max-width: 1199px) { .adm-content { padding: 20px 20px 36px; } }
@media (max-width: 991px) {
  .adm-side { box-shadow: none; }
  body.side-open .adm-side { box-shadow: 0 0 48px rgba(31, 41, 55, .3); }
  body.side-open .adm-scrim { background: rgba(31, 41, 55, .4); }
  .adm-top { padding: 0 14px; }
  .adm-content { padding: 16px 14px 32px; }
  .ad-head h1 { font-size: 21px; }
  .ad-stats.big { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
  .ad-toolbar { gap: 10px; } .ad-tb-extra { margin-left: 0; width: 100%; }
}
@media (max-width: 575px) {
  .ad-head { align-items: flex-start; }
  .ad-welcome { padding: 18px; } .ad-welcome h1 { font-size: 19px; }
  .ad-stat b, .ad-stats.big .ad-stat b { font-size: 26px; }
  .ad-filter { width: 100%; } .ad-filter input[type=search] { min-width: 0; flex: 1 1 140px; }
  .ad-tabs { overflow-x: auto; flex-wrap: nowrap; white-space: nowrap; }
  .ad-dlg { width: calc(100vw - 16px); border-radius: 14px; }
  .adm-bell .panel { right: -60px; }
  .adm-top .act { gap: 6px; }
}

/* Google Drive link box under every upload box */
.drv-link { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.drv-link i { color: var(--orange, #F97316); font-size: 16px; }
.drv-link input { flex: 1; min-width: 0; }
