/* Padilink presentation layer: consistent, accessible styling across public and role workspaces. */
:root {
  --ink:#12233a;
  --muted:#5f6f84;
  --blue:#245ee8;
  --blue-hover:#194dcc;
  --orange:#ef7448;
  --line:#dce4ee;
  --paper:#fff;
  --canvas:#f4f7fb;
  --soft-blue:#edf3ff;
  --green:#137553;
  --amber:#8e5d0d;
  --radius:14px;
  --shadow-sm:0 1px 2px rgba(18,35,58,.04),0 8px 24px rgba(18,35,58,.045);
  --shadow-md:0 18px 48px rgba(18,35,58,.11);
  font-family:Inter,"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

html { background:var(--canvas); }
body.app-experience { color:var(--ink); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
.app-experience h1,.app-experience h2,.app-experience h3 { color:var(--ink); font-family:inherit; text-wrap:balance; }
.app-experience p { color:var(--muted); font-size:16px; line-height:1.7; }
.app-experience small,.app-experience .small { font-size:13px; line-height:1.55; }
.app-experience .eyebrow { color:#6a7890; font-size:11px; font-weight:750; letter-spacing:.13em; }
.app-experience .field-help { font-size:14px!important; line-height:1.6; }

/* Navigation */
.app-experience .desktop-header {
  position:sticky;
  top:0;
  z-index:40;
  justify-content:flex-start;
  min-height:78px;
  padding-block:14px;
  border-color:rgba(220,228,238,.92);
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(150%) blur(16px);
}
.app-experience .brand { font-size:23px; letter-spacing:-.8px; }
.app-experience .brand-mark { width:36px; height:36px; border-radius:10px; line-height:33px; box-shadow:0 7px 18px rgba(18,35,58,.14); }
.app-experience .desktop-header .site-nav { gap:7px; }
.app-experience .desktop-header .site-nav a { min-height:42px; padding:0 14px; border-radius:10px; color:#536278; font-size:14px; font-weight:600; }
.app-experience .desktop-header .site-nav a:hover { color:var(--ink); background:#f4f7fb; }
.app-experience .desktop-header .site-nav a[aria-current] { color:var(--blue); background:var(--soft-blue); }
.app-experience .desktop-header .site-nav a[aria-current]::after { left:14px; right:14px; bottom:2px; height:2px; }
.app-experience .auth-nav { display:flex; align-items:center; gap:9px; margin-left:auto; }
.app-experience .header-profile-control { position:relative; display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #d9e2ee; border-radius:13px; background:#f7f9fc; color:#315b9d; line-height:0; box-shadow:0 5px 14px rgba(18,35,58,.06); transition:background .18s,border-color .18s,color .18s,transform .18s; }
.app-experience .header-profile-control .pdl-icon { display:block; width:21px; height:21px; margin:0; }
.app-experience .header-profile-control:hover,.app-experience .header-profile-control[aria-current] { border-color:#b8cae7; background:var(--soft-blue); color:var(--blue); transform:translateY(-1px); }
@media (min-width:768px) and (max-width:1050px) {
  .app-experience .auth-nav .button.secondary { display:none; }
  .app-experience .header-profile-control { flex-basis:40px; width:40px; height:40px; border-radius:12px; }
}
.app-experience .app-shell { grid-template-columns:254px minmax(0,1fr); }
.app-experience .sidebar { padding:30px 18px 22px; border-color:var(--line); }
.app-experience .workspace-label { padding-inline:14px; font-size:10px; font-weight:750; letter-spacing:.14em; }
.app-experience .sidebar .nav-item { min-height:48px; margin:3px 0; padding:12px 14px; border-radius:11px; font-size:14px; font-weight:600; }
.app-experience .sidebar .nav-item.active { background:var(--soft-blue); box-shadow:inset 3px 0 0 var(--blue); }
.app-experience .sidebar .nav-item:hover { color:var(--ink); background:#f4f7fb; }
.app-experience .sidebar .profile { padding:18px 10px 0; }
.app-experience .sidebar .profile strong { font-size:13px; }
.app-experience .sidebar .profile small { font-size:12px; }
.app-experience .avatar { width:38px; height:38px; background:var(--soft-blue); color:var(--blue); font-size:13px; }
.app-experience .app-topbar { min-height:64px; padding-inline:clamp(24px,3vw,48px); }
.app-experience .app-main { padding:42px clamp(24px,3vw,48px) 72px; }

/* Surfaces and hierarchy */
.app-experience .page-heading { margin-bottom:32px; }
.app-experience .page-heading h1 { margin-bottom:9px; font-size:clamp(32px,3vw,42px); font-weight:700; letter-spacing:-.04em; }
.app-experience .page-heading p { font-size:16px; }
.app-experience .paper,
.app-experience .booking-form,
.app-experience .booking-record,
.app-experience .metrics,
.app-experience .tracking-search,
.app-experience .tracking-item,
.app-experience .admin-panel,
.app-experience .admin-kpi,
.app-experience .admin-work-queue {
  border-color:var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.app-experience .paper { padding:clamp(24px,2.2vw,32px); }
.app-experience .paper h2 { font-size:22px; }
.app-experience .content-heading { margin-top:38px; }
.app-experience .content-heading h2 { font-size:23px; }
.app-experience .status { padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700; }
.app-experience .empty-state { padding:52px 28px; border:1px dashed #c7d2e0; background:linear-gradient(180deg,#fff,#fafcff); }

/* Buttons and form controls */
.app-experience .button { min-height:48px; padding:12px 20px; border-radius:11px; font-size:15px; font-weight:700; transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s; }
.app-experience .button.primary { background:var(--blue); box-shadow:0 8px 18px rgba(36,94,232,.2); }
.app-experience .button.primary:hover { background:var(--blue-hover); box-shadow:0 11px 24px rgba(36,94,232,.25); }
.app-experience .button.secondary { border-color:#d2dce8; background:#fff; box-shadow:0 1px 2px rgba(18,35,58,.03); }
.app-experience .button.secondary:hover { border-color:#b7c6d9; background:#f9fbfd; }
.app-experience .text-link { min-height:40px; font-size:14px; }
.app-experience label { color:#263950; font-size:14px; font-weight:700; }
.app-experience input,.app-experience select,.app-experience textarea { min-height:50px; margin-top:8px; padding:12px 14px; border:1px solid #cbd6e4; border-radius:10px; background:#fff; color:var(--ink); font-size:16px; box-shadow:0 1px 2px rgba(18,35,58,.02); }
.app-experience textarea { min-height:118px; }
.app-experience input:hover,.app-experience select:hover,.app-experience textarea:hover { border-color:#9fb0c5; }
.app-experience input:focus,.app-experience select:focus,.app-experience textarea:focus { border-color:var(--blue); outline:0; box-shadow:0 0 0 4px rgba(36,94,232,.12); }
.app-experience input::placeholder,.app-experience textarea::placeholder { color:#8794a6; }
.app-experience button:focus-visible,.app-experience a:focus-visible { outline:3px solid rgba(36,94,232,.36); outline-offset:3px; }
.app-experience .success-message,.app-experience .error-message,.app-experience .commercial-warning { padding:16px 18px; border-radius:11px; font-size:14px; box-shadow:var(--shadow-sm); }

/* Public and account pages */
.app-experience .home-announcement { border-bottom:1px solid #d6e1f0; background:#eef4ff; }
.app-experience .app-home-hero { padding-top:72px; padding-bottom:72px; }
.app-experience .hero-copy>p { max-width:500px; }
.app-experience .hero-art { border-radius:20px; box-shadow:var(--shadow-md); }
.app-experience .home-track,.app-experience .home-services>a,.app-experience .home-about { box-shadow:var(--shadow-sm); }
.app-experience .home-services>a { transition:transform .18s,border-color .18s,box-shadow .18s; }
.app-experience .home-services>a:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(18,35,58,.09); }
.app-experience .auth-layout { gap:clamp(44px,7vw,96px); max-width:1120px; margin-block:72px; align-items:center; }
.app-experience .auth-intro h1 { font-size:clamp(42px,4vw,58px); line-height:1.08; }
.app-experience .auth-intro p { font-size:17px; }
.app-experience .auth-form { padding:36px; border-radius:18px; box-shadow:0 22px 55px rgba(18,35,58,.1); }
.app-experience .auth-form h2 { margin-bottom:24px; font-size:28px; }
.app-experience .auth-form .button { width:100%; min-height:52px; }
.app-experience .auth-form>p:last-child { margin-bottom:0; }

/* Profile and customer workspace */
.app-experience .profile-grid { grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); gap:28px; }
.app-experience .identity-card { position:sticky; top:104px; padding:32px; background:linear-gradient(145deg,#fff 55%,#f3f7ff); }
.app-experience .identity-summary { display:flex; align-items:center; gap:17px; margin-bottom:25px; }
.app-experience .identity-summary .profile-emblem { flex:0 0 70px; margin:0; }
.app-experience .identity-title { min-width:0; }
.app-experience .identity-title>.eyebrow { display:block; margin-bottom:5px; }
.app-experience .identity-title h2 { margin:0; }
.app-experience .profile-emblem { width:70px; height:70px; border-radius:20px; font-size:28px; }
.app-experience .identity-card h2 { font-size:30px; }
.app-experience .identity-details { margin-top:0; }
.app-experience .identity-details dt { font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; }
.app-experience .identity-details dd { font-size:15px; }
.app-experience .profile-menu { margin-bottom:22px; padding:26px 28px; }
.app-experience .profile-menu h2 { margin-bottom:7px; font-size:19px; }
.app-experience .profile-menu a { min-height:75px; padding:17px 4px; border-color:#e3e9f1; border-radius:8px; transition:background .15s,padding .15s; }
.app-experience .profile-menu a:hover { padding-inline:10px; background:#f7f9fc; }
.app-experience .profile-menu strong { font-size:15px; }
.app-experience .profile-menu small { margin-top:4px; font-size:13px; }
.app-experience .customer-stats .paper { transition:transform .16s,border-color .16s,box-shadow .16s; }
.app-experience .customer-stats .paper:hover { transform:translateY(-2px); border-color:#b9cae3; box-shadow:0 12px 30px rgba(18,35,58,.08); }
.app-experience .home-booking { border-left:3px solid var(--blue); }

/* Admin clarity */
.app-experience .admin-command-header h1 { font-weight:720; }
.app-experience .admin-kpi { border-radius:15px; }
.app-experience .kpi-icon,.app-experience .attention-icon { border-radius:11px; }
.app-experience .admin-panel { padding:25px; }
.app-experience .admin-panel-head h2 { font-size:21px; }
.app-experience .attention-list strong,.app-experience .capacity-list strong { font-size:13px; }
.app-experience .attention-list small,.app-experience .capacity-list small { font-size:11px; }
.app-experience .admin-queue-filter { border:1px solid #e0e7f0; background:#f6f8fb; }
.app-experience .admin-queue-table tbody tr { transition:background-color .14s; }

@media (min-width:768px) and (max-width:1180px) {
  .app-experience .app-shell { grid-template-columns:218px minmax(0,1fr); }
  .app-experience .sidebar { padding-inline:12px; }
  .app-experience .desktop-header .site-nav a { padding-inline:9px; }
  .app-experience .profile-grid { grid-template-columns:1fr; }
  .app-experience .identity-card { position:static; }
}

@media (max-width:767px) {
  body.app-experience { font-size:16px; background:var(--canvas); padding-bottom:calc(86px + env(safe-area-inset-bottom,0px)); }
  .app-experience .local-banner { min-height:26px; font-size:10px; }
  .app-experience .mobile-header { min-height:68px; padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px)); background:rgba(255,255,255,.94); backdrop-filter:saturate(160%) blur(18px); box-shadow:0 1px 0 rgba(18,35,58,.06); }
  .app-experience .mobile-menu { position:relative; z-index:4; flex:0 0 44px; }
  .app-experience .mobile-menu>summary { list-style:none; }
  .app-experience .mobile-menu>summary::-webkit-details-marker { display:none; }
  .app-experience .mobile-menu-toggle { display:grid; place-content:center; gap:4px; width:44px; height:44px; padding:0; border:1px solid #d8e1ec; border-radius:13px; background:#fff; cursor:pointer; box-shadow:0 4px 12px rgba(18,35,58,.06); }
  .app-experience .mobile-menu-toggle>span { display:block; width:19px; height:2px; border-radius:3px; background:var(--ink); transition:transform .18s,opacity .18s; }
  .app-experience .mobile-menu[open] .mobile-menu-toggle>span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .app-experience .mobile-menu[open] .mobile-menu-toggle>span:nth-child(2) { opacity:0; }
  .app-experience .mobile-menu[open] .mobile-menu-toggle>span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .app-experience .mobile-menu-panel { position:absolute; top:calc(100% + 11px); left:0; width:min(338px,calc(100vw - 32px)); max-height:min(70vh,620px); overflow:auto; padding:16px; border:1px solid #dbe3ed; border-radius:17px; background:rgba(255,255,255,.98); box-shadow:0 24px 60px rgba(18,35,58,.2); backdrop-filter:blur(20px); }
  .app-experience .mobile-menu-panel>header { padding:4px 4px 13px; border-bottom:1px solid var(--line); }
  .app-experience .mobile-menu-panel>header .eyebrow { display:block; margin:0 0 3px; font-size:8px; }
  .app-experience .mobile-menu-panel>header strong { font-size:17px; }
  .app-experience .mobile-menu-panel nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding-top:12px; }
  .app-experience .mobile-menu-panel nav a { display:grid; grid-template-columns:22px minmax(0,1fr) 13px; align-items:center; gap:8px; min-height:48px; padding:9px 10px; border-radius:11px; color:#536278; font-size:12px; font-weight:650; }
  .app-experience .mobile-menu-panel nav a:hover,.app-experience .mobile-menu-panel nav a[aria-current] { background:var(--soft-blue); color:var(--blue); }
  .app-experience .mobile-menu-panel nav a>.pdl-icon:first-child { width:19px; }
  .app-experience .mobile-menu-panel nav a>.pdl-icon:last-child { width:13px; }
  .app-experience .mobile-brand .brand-mark { width:36px; height:36px; border-radius:11px; }
  .app-experience .mobile-brand strong { font-size:21px; }
  .app-experience .mobile-brand small { margin-top:1px; font-size:10px; }
  .app-experience .mobile-page-title { overflow:hidden; font-size:17px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
  .app-experience .mobile-brand { min-width:0; }
  .app-experience .mobile-brand-centred { position:absolute; left:50%; transform:translateX(-50%); z-index:2; }
  .app-experience .mobile-brand-centred small { display:none; }
  .app-experience .mobile-brand-centred strong { font-size:19px; }
  .app-experience .mobile-brand-centred .brand-mark { width:32px; height:32px; margin-right:7px; font-size:25px; line-height:29px; border-radius:9px; }
  .app-experience .mobile-header-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
  .app-experience .icon-button { position:relative; display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; margin:0; padding:0; border-radius:13px; line-height:0; }
  .app-experience .icon-button .pdl-icon { display:block; width:20px; height:20px; margin:0; }
  .app-experience .profile-shortcut { border:1px solid #d8e3f6; box-shadow:0 4px 12px rgba(35,89,207,.08); }
  .app-experience .profile-shortcut[aria-current] { border-color:#aec4ec; background:#e3ebfb; }
  .app-experience .app-main { padding:28px 18px 38px; }
  .app-experience .page-container { padding:30px 18px; }
  .app-experience .app-main .page-container { padding:0; }
  .app-experience .page-heading { margin-bottom:24px; }
  .app-experience .page-heading h1 { font-size:31px; line-height:1.12; }
  .app-experience .page-heading p { font-size:15px; }
  .app-experience .paper { padding:22px 18px; border-radius:14px; }
  .app-experience .paper h2 { font-size:21px; }
  .app-experience .button { min-height:50px; }
  .app-experience .mobile-nav { min-height:calc(78px + env(safe-area-inset-bottom,0px)); padding:7px max(8px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px)); border-top-color:#d7e0eb; background:rgba(255,255,255,.96); box-shadow:0 -8px 28px rgba(18,35,58,.09); backdrop-filter:saturate(160%) blur(18px); }
  .app-experience .mobile-nav>a { min-height:62px; gap:3px; border-radius:12px; color:#647287; font-size:11px; font-weight:650; }
  .app-experience .mobile-nav .tab-icon { width:45px; height:31px; }
  .app-experience .mobile-nav>a[aria-current] { color:var(--blue); }
  .app-experience .mobile-nav>a[aria-current] .tab-icon { background:#eaf1ff; }
  .app-experience .profile-grid { grid-template-columns:1fr; gap:18px; }
  .app-experience.screen-profile .page-heading { margin-bottom:16px; }
  .app-experience.screen-profile .page-heading .eyebrow { margin-bottom:7px; }
  .app-experience.screen-profile .page-heading h1 { margin-bottom:6px; font-size:27px; }
  .app-experience.screen-profile .page-heading p { margin:0; font-size:14px; }
  .app-experience .identity-card { position:static; padding:18px; }
  .app-experience .identity-summary { gap:13px; margin-bottom:15px; }
  .app-experience .identity-summary .profile-emblem { width:48px; height:48px; flex-basis:48px; border-radius:14px; font-size:21px; }
  .app-experience .identity-title>.eyebrow { margin-bottom:2px; font-size:9px; }
  .app-experience .identity-card h2 { font-size:22px; }
  .app-experience .identity-details { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; }
  .app-experience .identity-details>div { min-width:0; padding:11px 12px; border:0; border-radius:10px; background:#f5f7fb; }
  .app-experience .identity-details>div:first-child { grid-column:1/-1; }
  .app-experience .identity-details dt { margin-bottom:3px; font-size:9px; line-height:1.25; }
  .app-experience .identity-details dd { font-size:13px; line-height:1.35; }
  .app-experience .profile-menu { margin-bottom:16px; padding:20px 18px; }
  .app-experience .profile-menu a { min-height:72px; padding:16px 2px; }
  .app-experience .profile-menu a:hover { padding-inline:2px; }
  .app-experience .profile-menu strong { font-size:15px; }
  .app-experience .profile-menu small { font-size:13px; }
  .app-experience .auth-layout { gap:12px; margin:0 auto; padding:28px 18px; }
  .app-experience .auth-intro { padding:0; }
  .app-experience .auth-intro h1 { font-size:34px; }
  .app-experience .auth-intro p { font-size:15px; }
  .app-experience .auth-form { padding:24px 20px; border-radius:16px; box-shadow:var(--shadow-sm); }
  .app-experience .app-home-hero h1 { color:#fff; }
  .app-experience .app-home-hero .eyebrow { color:#bdcbdf; }
  .app-experience .app-home-hero .button.primary { color:#fff; }
  .app-experience .home-services>a { border-radius:15px; }
  .app-experience .admin-panel { padding:20px 17px; }
  .app-experience .admin-kpi { border-radius:14px; }
  .app-experience .admin-command-header p,.app-experience .admin-section-heading p { font-size:14px; }
  .app-experience .attention-list strong,.app-experience .capacity-list strong { font-size:13px; }
  .app-experience .attention-list small,.app-experience .capacity-list small { font-size:12px; }
}

@media (max-width:380px) {
  .app-experience .app-main,.app-experience .page-container { padding-left:14px; padding-right:14px; }
  .app-experience .customer-stats { display:flex; overflow-x:auto; margin-inline:-14px; padding:0 14px 6px; scrollbar-width:none; }
  .app-experience .customer-stats .paper { flex:0 0 122px; }
  .app-experience .mobile-nav>a { font-size:10px; }
}

@media (hover:none) {
  .app-experience .button:hover,.app-experience .home-services>a:hover,.app-experience .customer-stats .paper:hover { transform:none; }
}

@media (prefers-reduced-motion:reduce) {
  .app-experience *,.app-experience *::before,.app-experience *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
