/* Shuhari Tickets: standalone app shell (loaded after style.css) */
html,body{margin:0; min-height:100%;}
body.app{background:var(--ivory); color:var(--graphite); font-family:var(--sans); -webkit-text-size-adjust:100%; overscroll-behavior-y:none;}
.app-bar{position:sticky; top:0; z-index:50; background:var(--navy); padding:calc(10px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left)); display:flex; align-items:center; justify-content:space-between; gap:12px; box-shadow:0 6px 20px rgba(10,20,35,.22);}
.app-bar img{height:52px; width:auto; display:block;}
.app-bar .app-name{font-family:var(--serif); color:var(--ivory); font-size:19px; letter-spacing:.3px;}
.app-main{max-width:1180px; margin:0 auto; padding:24px max(16px, env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); min-height:calc(100vh - 64px);}
.install-hint{background:#F9F4EA; border-bottom:1px solid rgba(16,46,74,.18); padding:10px 16px; display:flex; align-items:center; gap:12px; font-size:14px;}
.install-hint[hidden]{display:none;}
.install-hint p{margin:0; flex:1;}
.install-hint button{font:inherit; min-height:44px; padding:0 16px; cursor:pointer;}
.install-hint .btn{padding:0 18px; min-height:44px;}
.install-x{background:none; border:0; font-size:22px; color:var(--navy); width:44px;}
.is-app .install-hint{display:none;}
/* sign-in screen */
.app .pt-center{padding-top:6vh;}
/* phone: menu wraps into tidy rows, the long name line is dropped to save space */
@media (max-width:760px){
  .pt-bar{gap:4px 14px; padding-bottom:0;}
  .pt-bar .pt-who{display:none;}
  .pt-bar .pt-small{min-height:44px; display:inline-flex; align-items:center;}
  .pt-dash-head h2{font-size:24px;}
  .form-card{padding:28px 18px;}
}
.app a,.app button{-webkit-tap-highlight-color:transparent;}
.app input,.app select,.app textarea{font-size:16px;}   /* stops iPhone zooming into fields */
.app .pt-title{display:none;}
@media (max-width:480px){ .app-bar img{height:44px;} .app-name{font-size:16px;} }
.app-logo{display:flex; align-items:center;}

/* careers (applicant) area */
.ap-wrap{max-width:820px; margin:0 auto;}
.ap-bar{display:flex; align-items:center; gap:4px; flex-wrap:wrap; border-bottom:1px solid rgba(16,46,74,.18); margin:0 0 26px; max-width:820px; margin-left:auto; margin-right:auto;}
.ap-tab{display:inline-flex; align-items:center; min-height:48px; padding:0 20px; font-weight:600; font-size:15px; color:#3A444D; text-decoration:none; border-bottom:3px solid transparent; margin-bottom:-1px;}
.ap-tab:hover{color:var(--navy); background:rgba(16,46,74,.05);}
.ap-tab.is-on{color:var(--navy); border-bottom-color:var(--gold); background:rgba(190,157,105,.14);}
.ap-spacer{flex:1;}
.ap-bar .pt-who{font-size:13px; color:#4A5560; margin-right:10px;}
.ap-head{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:20px;}
.ap-head h2{margin:0; font-family:var(--serif); color:var(--navy);}
.ap-card{background:#FBF8F1; border:1px solid rgba(16,46,74,.16); border-left:4px solid var(--gold); padding:24px 28px; margin-bottom:18px;}
.ap-card-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.ap-card h3{margin:0; font-family:var(--serif); font-size:21px; color:var(--navy);}
.ap-badge{display:inline-block; padding:5px 12px; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; background:rgba(16,46,74,.1); color:var(--navy);}
.ap-badge--shortlisted,.ap-badge--interview,.ap-badge--offer{background:rgba(190,157,105,.3); color:#5C4518;}
.ap-badge--hired{background:#DCEBDD; color:#1E5A2B;}
.ap-badge--not-progressing,.ap-badge--withdrawn{background:#ECE7DE; color:#4A5560;}
.ap-sub{margin:6px 0 0; font-size:13.5px; color:#4A5560;}
.ap-note{margin:12px 0; color:#2C3035;}
.ap-timeline{list-style:none; margin:14px 0 0; padding:0 0 0 18px; border-left:2px solid rgba(16,46,74,.18);}
.ap-timeline li{position:relative; padding:4px 0 4px 14px; font-size:14px; color:#3A444D;}
.ap-timeline li::before{content:''; position:absolute; left:-24px; top:11px; width:10px; height:10px; border-radius:50%; background:#fff; border:2px solid var(--gold);}
.ap-timeline li.is-now::before{background:var(--gold);}
.ap-actions{margin-top:16px;}
.ap-empty{background:#FBF8F1; border:1px solid rgba(16,46,74,.16); padding:30px;}
.ap-privacy{margin-top:34px; padding-top:22px; border-top:1px solid rgba(16,46,74,.18); font-size:14.5px;}
.ap-privacy h3{font-family:var(--serif); color:var(--navy); font-size:18px;}
.ap-hint{font-size:12.5px; color:#4A5560;}
.ap-jobline{margin:0 0 20px; color:#3A444D;}
.ap-consent{display:flex; gap:12px; align-items:flex-start; margin-top:22px; font-size:14.5px;}
.ap-consent input{width:24px; height:24px; flex-shrink:0; margin-top:2px; accent-color:var(--navy);}
.ap-consent label{text-transform:none; letter-spacing:0; font-weight:400; font-size:14.5px;}
.app--careers .field input[type=file]{padding:12px 14px; background:#fff; border:1px solid #6B7480; width:100%; min-height:48px;}
.app--careers .field input[type=text],.app--careers .field input[type=tel]{width:100%;}
.ap-privacy .btn{margin-top:14px;}
.pt-mods{border:1px solid var(--line,#d8cdb8);padding:10px 14px;margin:14px 0;border-radius:2px}
.pt-mods legend{font-size:13px;font-weight:600;padding:0 6px}
.pt-mod{display:flex;margin:6px 0}
.pt-docs-link{grid-column:1/-1}
.ap-interview{margin:10px 0;padding:10px 14px;border-left:3px solid var(--gold,#BE9D69);background:rgba(190,157,105,.12)}
.ap-interview p{margin:6px 0 0}

/* ---- left-hand menu (release 4) ---- */
.pt-layout{display:grid; grid-template-columns:236px minmax(0,1fr); gap:28px; align-items:start;}
.pt-main{min-width:0;}
.pt-tabs.pt-side{display:block; margin:0; border:0; border-right:1px solid rgba(16,46,74,.14); overflow:visible; padding:4px 14px 20px 0; position:sticky; top:84px; max-height:calc(100vh - 100px); overflow-y:auto;}
.pt-side ul{list-style:none; margin:0; padding:0;}
.pt-side .pt-nav--d1{margin:0 0 6px 10px; border-left:1px solid rgba(16,46,74,.14);} .pt-side .pt-nav--d2{margin:0 0 4px 10px; border-left:1px solid rgba(16,46,74,.14);}
.pt-side .pt-tab{display:flex; align-items:center; min-height:40px; padding:0 12px; font-size:14.5px; font-weight:600; border-bottom:0; border-left:3px solid transparent; margin:0; width:100%; box-sizing:border-box; overflow-wrap:anywhere;}
.pt-side .pt-tab.is-on{border-left-color:var(--gold); background:rgba(190,157,105,.16); color:var(--navy);}
.pt-side .pt-nav--d1 .pt-tab,.pt-side .pt-nav--d2 .pt-tab{font-weight:500; min-height:36px; font-size:14px;}
.pt-grp-row{display:flex; align-items:center;} .pt-grp-row .pt-tab{flex:1;}
.pt-grp-label{flex:1; display:flex; align-items:center; min-height:40px; padding:0 12px; font-size:12px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; color:#5b6670;}
.pt-caret{flex:0 0 auto; width:36px; min-height:40px; background:none; border:0; cursor:pointer; color:#5b6670; font-size:15px;}
.pt-caret:hover{color:var(--navy);}
.pt-side .pt-tab--ext{margin:14px 0 0; border-top:1px solid rgba(16,46,74,.14);}
.pt-scrim{display:none;}
.pt-menu-btn{display:inline-flex; align-items:center; margin-right:10px;}
@media (min-width:901px){ body.pt-side-off .pt-layout{grid-template-columns:minmax(0,1fr);} body.pt-side-off .pt-tabs.pt-side{display:none;} }
.pt-askbar{margin:26px 0 0; padding:12px 16px; background:#F9F4EA; border:1px solid rgba(16,46,74,.14); font-size:14.5px;}
.pt-askbar .pt-ask{font-weight:700; color:var(--navy);}
@media (max-width:900px){
  .pt-layout{display:block;}
  .pt-menu-btn{display:inline-flex; align-items:center; min-height:44px;}
  .pt-tabs.pt-side{position:fixed; z-index:70; top:0; left:0; bottom:0; width:min(300px,86vw); max-height:none; background:var(--ivory); padding:70px 12px 24px 12px; border-right:1px solid rgba(16,46,74,.25); transform:translateX(-102%); transition:transform .18s; box-shadow:0 0 24px rgba(0,0,0,.25);}
  body.pt-nav-open .pt-tabs.pt-side{transform:none;}
  body.pt-nav-open .pt-scrim{display:block; position:fixed; inset:0; z-index:60; background:rgba(16,46,74,.45);}
}
@media (prefers-reduced-motion:reduce){ .pt-tabs.pt-side{transition:none;} }

/* ---- onboarding, acknowledgements, analytics ---- */
.pt-prog{display:inline-block; vertical-align:middle; width:140px; height:10px; background:rgba(16,46,74,.12); border-radius:5px; overflow:hidden;}
.pt-prog-fill{display:block; height:100%; background:var(--gold);}
.ob-row{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:8px 0; border-bottom:1px solid rgba(16,46,74,.1);} .ob-row:last-child{border-bottom:0;}
.ob-row .pt-check{flex:1 1 280px;} .ob-row input[type=text]{flex:1 1 220px; min-height:38px;}
.ob-tick{display:inline-flex; width:22px; justify-content:center; color:#8a8f94;} .ob-tick.is-done{color:#2e7d4f; font-weight:700;}
.pt-actions-row{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.an-tile strong{font-size:26px;}
.an-row{display:grid; grid-template-columns:150px 1fr 190px; gap:12px; align-items:center; padding:5px 0; font-size:14.5px;}
.an-track{display:block; height:14px; background:rgba(16,46,74,.1); border-radius:3px; overflow:hidden;} .an-fill{display:block; height:100%; background:var(--navy);}
.an-val{color:#3A444D;}
@media (max-width:640px){ .an-row{grid-template-columns:1fr; gap:3px;} .pt-prog{width:100px;} }

/* finance */
.fin-tiles{display:flex; gap:14px; flex-wrap:wrap; margin:10px 0 6px;} .fin-tile{background:var(--ivory); border:1px solid rgba(16,46,74,.14); padding:12px 18px; min-width:190px;} .fin-tile strong{display:block; font-size:1.25rem; color:var(--navy);} .fin-tile span{font-size:.85rem; color:#6b737a;} .fin-warn{border-color:#B3402A;} .fin-warn strong{color:#B3402A;}
.fin-tag{display:inline-block; padding:2px 9px; font-size:.78rem; border:1px solid rgba(16,46,74,.25); background:#fff;} .fin-overdue{background:#B3402A; color:#fff; border-color:#B3402A;} .fin-paid{background:#2f6f4f; color:#fff; border-color:#2f6f4f;} .fin-partial{background:#BE9D69; color:#102E4A; border-color:#BE9D69;} .fin-void,.fin-credited{opacity:.65;} .fin-draft{border-style:dashed;}
.fin-line{display:grid; grid-template-columns:minmax(0,3fr) 90px 130px auto; gap:8px; margin:8px 0; align-items:center;} .fin-line input{width:100%;} .fin-totals{text-align:right; margin:14px 0;} .fin-grand{font-weight:700; font-size:1.2rem; color:var(--navy);} .fin-balance{font-weight:600;}
.rc-table td.r,.rc-table th.r{text-align:right;} .fin-sum td{font-weight:700; border-top:2px solid var(--navy);}
@media (max-width:700px){ .fin-line{grid-template-columns:1fr 1fr;} .fin-line input:first-child{grid-column:1 / -1;} }

/* leads and referrals */
.fin-tag.ld-new,.ld-new{background:#e8eef5;color:#102E4A}
.fin-tag.ld-contacted,.ld-contacted{background:#eef0e2;color:#4b5a1e}
.fin-tag.ld-meeting,.ld-meeting{background:#f6ecd8;color:#7a5a1a}
.fin-tag.ld-proposal,.ld-proposal{background:#f1e4d0;color:#8a5a12}
.fin-tag.ld-signed,.ld-signed{background:#dff0e3;color:#1f6b36}
.fin-tag.ld-lost,.ld-lost{background:#eee;color:#666}
.ref-box{border:1px solid #BE9D69;background:#faf5ea;border-radius:8px;padding:14px 16px;margin:14px 0}
