/* Shuhari portal: modern look (loaded after app.css). Navy sidebar, gold accents, soft white cards. */
:root{--pu-bg:#F5F3EE;--pu-card:#fff;--pu-ink:#1E2A36;--pu-mute:#6B7683;--pu-line:#E8E4DB;--pu-r:16px;--pu-shadow:0 2px 14px rgba(16,46,74,.07);}
body.app{background:var(--pu-bg); color:var(--pu-ink); font-size:15px;}
body.pt-signed .app-bar,body.pt-signed .install-hint{display:none;}
body.pt-signed .app-main{max-width:none; padding:0; min-height:100vh;}
body.pt-signed .pt-layout{display:grid; grid-template-columns:272px minmax(0,1fr); gap:0; align-items:start; min-height:100vh;}
body.pt-signed.pt-side-off .pt-layout{grid-template-columns:minmax(0,1fr);}
/* sidebar */
body.pt-signed .pt-tabs.pt-side{position:sticky; top:0; height:100vh; max-height:100vh; overflow-y:auto; padding:22px 14px 24px; border:0; border-radius:0 28px 28px 0; background:linear-gradient(180deg,#102E4A,#0A2035); color:#fff; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.2) transparent;}
.pt-brand img{display:block; width:176px; height:auto; margin:0 auto;}
.pt-me{text-align:center; padding:16px 8px 18px; margin:0 0 12px; border-bottom:1px solid rgba(255,255,255,.12);}
.pt-avatar{display:grid; place-items:center; width:62px; height:62px; margin:0 auto 10px; border-radius:50%; background:var(--gold); color:var(--navy); font-weight:700; font-size:21px; box-shadow:0 0 0 4px rgba(190,157,105,.25);}
.pt-me strong{display:block; font-size:15px; font-weight:600;} .pt-me span:last-child{font-size:12px; color:rgba(255,255,255,.6);}
.pt-side .pt-tab{color:rgba(255,255,255,.82); border:0; border-radius:12px; min-height:42px; margin:2px 0; font-weight:500; font-size:14.5px; transition:background .15s,color .15s;}
.pt-side .pt-tab:hover{background:rgba(255,255,255,.09); color:#fff;}
.pt-side .pt-tab.is-on{background:linear-gradient(90deg,#BE9D69,#D4BC93); color:#102E4A; font-weight:700; box-shadow:0 6px 16px rgba(190,157,105,.32); border:0;}
.pt-side .pt-nav--d1,.pt-side .pt-nav--d2{border-left:1px solid rgba(255,255,255,.14); margin:2px 0 6px 18px;}
.pt-side .pt-nav--d1 .pt-tab,.pt-side .pt-nav--d2 .pt-tab{font-size:13.5px; min-height:36px; color:rgba(255,255,255,.7);}
.pt-side .pt-nav--d1 .pt-tab.is-on,.pt-side .pt-nav--d2 .pt-tab.is-on{color:#102E4A;}
.pt-grp-label{color:rgba(255,255,255,.5); font-size:11px; letter-spacing:1.1px; min-height:38px; padding-top:6px;}
.pt-grp-row:hover .pt-grp-label{color:#fff;}
.pt-caret{font-size:0; color:rgba(255,255,255,.6); width:38px; border-radius:10px; position:relative;}
.pt-caret::after{content:''; position:absolute; left:50%; top:50%; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translate(-50%,-70%) rotate(45deg); transition:transform .2s;}
.pt-caret[aria-expanded=false]::after{transform:translate(-70%,-50%) rotate(-45deg);}
.pt-caret:hover{color:#fff; background:rgba(255,255,255,.08);}
.pt-side .pt-tab--ext{border-top:1px solid rgba(255,255,255,.14); border-radius:0 0 12px 12px;}
/* main column */
body.pt-signed .pt-main{padding:0 36px 48px; min-width:0;}
body.pt-signed .pt-bar{position:sticky; top:0; z-index:40; margin:0 -36px 22px; padding:14px 36px; background:rgba(245,243,238,.88); backdrop-filter:blur(10px); border-bottom:1px solid var(--pu-line);}
.pt-bar .pt-who{color:var(--pu-mute); font-size:14px;}
.pt-menu-btn{border-radius:12px !important;}
/* buttons */
.btn{border-radius:12px; letter-spacing:.2px; text-transform:none; font-weight:600; transition:transform .12s, box-shadow .15s, background .15s;}
.btn-primary{background:var(--gold); color:var(--navy); border:0; box-shadow:0 6px 14px rgba(190,157,105,.38);}
.btn-primary:hover{transform:translateY(-1px); box-shadow:0 10px 20px rgba(190,157,105,.45);}
.btn-outline-navy{background:#fff; color:var(--navy); border:1px solid var(--pu-line); box-shadow:0 1px 3px rgba(16,46,74,.06);}
.btn-outline-navy:hover{background:var(--navy); color:#fff; border-color:var(--navy);}
/* cards and tiles */
.pt-row,.pt-tile,.pt-stat,.fin-tile,.form-card,.ap-card,.ap-empty,.pt-panel,.ref-box,.pt-askbar,.pt-dash-col .pt-card,.pt-card-box{background:var(--pu-card); border:0; border-radius:var(--pu-r); box-shadow:var(--pu-shadow);}
.pt-row{border-left:0; padding:18px 22px; margin-bottom:10px;}
.pt-row:hover{box-shadow:0 12px 28px rgba(16,46,74,.12); transform:translateY(-1px);}
.pt-row--late,.pt-row--urgent{box-shadow:inset 4px 0 0 #B3402A, var(--pu-shadow);}
.pt-tile,.pt-stat,.fin-tile{position:relative; overflow:hidden; border-top:0;}
.pt-tile::before,.pt-stat::before{content:''; position:absolute; right:-20px; top:-20px; width:76px; height:76px; border-radius:50%; background:rgba(190,157,105,.16);}
.pt-tile--late,.fin-warn{box-shadow:inset 0 3px 0 #B3402A, var(--pu-shadow);}
.pt-card-head{border-bottom:0; margin-bottom:10px;}
.pt-card-head h3,.pt-dash-head h2,.pt-head h2,h2.pt-h{font-family:var(--sans); font-weight:600; letter-spacing:-.2px; color:var(--navy);}
.pt-dash-head h2{font-size:26px;}
.pt-row-main strong{font-family:var(--sans); font-weight:600; font-size:16.5px;}
.pt-askbar{background:#fff;}
.form-card{padding:30px 32px;}
.form-card h2,.pt-app h2,.pt-app h3{font-family:var(--sans); font-weight:600; letter-spacing:-.2px;}
/* tables */
.pt-table{background:#fff; border-radius:var(--pu-r); overflow:hidden; box-shadow:var(--pu-shadow);}
.pt-table th{background:#FBFAF6; color:var(--pu-mute); font-weight:600; padding:12px 14px; border-bottom:1px solid var(--pu-line);}
.pt-table td{padding:13px 14px; border-bottom:1px solid #F1EEE7;}
.pt-table tbody tr:hover td{background:#FBFAF6;}
/* tags */
.pt-badge,.fin-tag,.ap-badge,.pt-tag{border-radius:99px !important; padding:3px 12px; font-weight:600; border:0;}
.pt-badge{background:#E6EEF6; color:#1B4F82;}
.pt-badge--waiting-on-client{background:#FBF0DC; color:#8A5A12;} .pt-badge--resolved{background:#E1F1E6; color:#1F6B36;}
/* forms */
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field input[type=number],.field input[type=password],.field input[type=search],.field select,.field textarea,.pt-app input[type=text],.pt-app input[type=search],.pt-app input[type=date],.pt-app input[type=number],.pt-app select,.pt-app textarea{background:#fff; border:1px solid var(--pu-line); border-radius:12px; padding:11px 14px; transition:border-color .15s, box-shadow .15s; color:var(--pu-ink);}
.field input:focus,.field select:focus,.field textarea:focus,.pt-app input:focus,.pt-app select:focus,.pt-app textarea:focus{outline:0; border-color:var(--gold); box-shadow:0 0 0 4px rgba(190,157,105,.22);}
.field label{font-size:12px; letter-spacing:.6px; color:var(--pu-mute); font-weight:600;}
/* sign-in */
body.app:not(.pt-signed):has(.pt-login){background:linear-gradient(160deg,#102E4A,#0A2035 70%); min-height:100vh;}
body.app:not(.pt-signed):has(.pt-login) .app-bar{background:transparent; box-shadow:none;}
body.app .pt-login{border-radius:22px; box-shadow:0 30px 60px rgba(0,0,0,.35);}
/* phone */
@media (max-width:900px){
  body.pt-signed .pt-layout{display:block;}
  body.pt-signed .pt-main{padding:0 16px 40px;}
  body.pt-signed .pt-bar{margin:0 -16px 16px; padding:10px 16px;}
  body.pt-signed .pt-tabs.pt-side{position:fixed; height:auto; max-height:none; width:min(300px,86vw); border-radius:0 24px 24px 0; padding:22px 14px 24px; background:linear-gradient(180deg,#102E4A,#0A2035);}
  body.pt-nav-open .pt-scrim{background:rgba(10,32,53,.55);}
}
@media print{.pt-brand,.pt-me{display:none;}}
/* round 2 */
.pt-dash-col .pt-card,.pt-card{background:#fff; border-radius:var(--pu-r); box-shadow:var(--pu-shadow); padding:20px 22px;}
.pt-card .pt-row{box-shadow:none; background:#FBFAF6; border:1px solid #F0ECE3; padding:14px 16px;}
.pt-card .pt-row:hover{box-shadow:0 6px 16px rgba(16,46,74,.08);}
.pt-card .pt-tile,.pt-card .pt-stat{box-shadow:none; background:#FBFAF6; border:1px solid #F0ECE3;}
.pt-card .pt-tile::before,.pt-card .pt-stat::before{display:none;}
.pt-tile strong,.pt-stat strong,.pt-tile b,.fin-tile strong,.an-tile strong,.pt-stat .pt-stat-n{font-family:var(--sans); font-weight:600; letter-spacing:-.5px;}
.pt-bars-fill,.an-fill{background:linear-gradient(90deg,#102E4A,#2B5C8A) !important; border-radius:9px;}
.pt-bars-track,.an-track{background:#EFEBE2; border-radius:9px;}
.pt-side .pt-nav--d1 .pt-tab,.pt-side .pt-nav--d2 .pt-tab{padding-top:7px; padding-bottom:7px; line-height:1.35;}
.pt-side .pt-nav--d1 .pt-tab.is-on{box-shadow:none;}
.pt-ref,.pt-tab--grp{font-family:var(--sans);}
.form-card .field,.pt-app .field{margin-bottom:6px;} .field label{display:block; margin:12px 0 6px;}
.pt-note,.pt-info{border-radius:12px; border:0; background:#F7F1E6;} .pt-note--error{background:#FBE4DF; color:#8A2A1A;}
.pt-attach,.field input[type=file]{border-radius:12px;}

.pt-ico{display:inline-flex; flex:0 0 auto; width:22px; margin-right:11px; opacity:.85;}
.pt-side .pt-tab{gap:0;} .pt-grp-label{text-transform:none; letter-spacing:0; font-size:14.5px; font-weight:600; color:rgba(255,255,255,.82);} .pt-grp-label .pt-ico{opacity:.85;}
.pt-side .pt-nav--d1 .pt-ico,.pt-side .pt-nav--d2 .pt-ico{width:18px; margin-right:9px;} .pt-side .pt-nav--d1 .pt-ico svg,.pt-side .pt-nav--d2 .pt-ico svg{width:15px; height:15px;}
.pt-tab.is-on .pt-ico{opacity:1;}

/* ---- flyout menus (desktop) ---- */
@media (min-width:901px){
  .pt-side .pt-caret{display:none;}
  .pt-side .pt-fly > .pt-grp-row{position:relative; border-radius:12px; cursor:pointer;}
  .pt-side .pt-fly > .pt-grp-row::after{content:''; position:absolute; right:16px; top:50%; width:7px; height:7px; margin-top:-5px; border-right:2px solid rgba(255,255,255,.55); border-top:2px solid rgba(255,255,255,.55); transform:rotate(45deg);}
  .pt-side .pt-fly.is-open > .pt-grp-row,.pt-side .pt-fly > .pt-grp-row:hover{background:rgba(255,255,255,.09);}
  .pt-side .pt-grp--on > .pt-grp-row{box-shadow:inset 3px 0 0 var(--gold); background:rgba(190,157,105,.14);}
  .pt-side .pt-grp-label{flex:1; cursor:pointer;}
  .pt-side .pt-fly > ul{display:none; margin:0; border:0;}
  .pt-side .pt-fly.is-open > ul{display:block;}
  .pt-side .pt-fly-panel{position:fixed; z-index:90; min-width:232px; max-width:300px; padding:8px; background:#fff; border-radius:16px; box-shadow:0 18px 44px rgba(16,46,74,.28), 0 0 0 1px rgba(16,46,74,.06); max-height:calc(100vh - 24px); overflow-y:auto;}
  .pt-side .pt-fly-panel .pt-tab{color:var(--pu-ink); min-height:40px; font-size:14px; padding:0 12px; border-radius:10px; margin:1px 0; font-weight:500;}
  .pt-side .pt-fly-panel .pt-tab:hover{background:#F4EDE2; color:var(--navy);}
  .pt-side .pt-fly-panel .pt-tab.is-on{background:linear-gradient(90deg,#BE9D69,#D4BC93); color:#102E4A; font-weight:700; box-shadow:none;}
  .pt-side .pt-fly-panel .pt-ico{opacity:.7; width:20px; margin-right:10px;} .pt-side .pt-fly-panel .pt-ico svg{width:16px; height:16px;}
  .pt-side .pt-fly-panel .pt-grp-label{color:var(--pu-ink); font-size:14px; font-weight:500; min-height:40px; padding:0 12px;}
  .pt-side .pt-fly-panel .pt-fly > .pt-grp-row:hover,.pt-side .pt-fly-panel .pt-fly.is-open > .pt-grp-row{background:#F4EDE2;}
  .pt-side .pt-fly-panel .pt-fly > .pt-grp-row::after{border-color:var(--pu-mute); right:12px;}
  .pt-side .pt-fly-panel .pt-grp--on > .pt-grp-row{box-shadow:inset 3px 0 0 var(--gold); background:#FAF5EA;}
}

/* ---- release 4D: top bar tools ---- */
body.pt-signed .pt-bar{justify-content:flex-start; gap:12px;}
.pt-spacer{flex:1 1 auto;}
.pt-bar .pt-who{white-space:nowrap;}
.pt-open{font-size:13px; font-weight:600; padding:6px 12px; border-radius:99px; background:#fff; box-shadow:var(--pu-shadow); white-space:nowrap;}
.pt-open.is-open{color:#1F6B36;} .pt-open.is-closed{color:#8A5A12;}
.pt-search{position:relative;} .pt-gsq{width:230px; background:#fff; border:1px solid var(--pu-line); border-radius:12px; padding:9px 14px; font-size:14px; min-height:40px;}
.pt-gsq:focus{outline:0; border-color:var(--gold); box-shadow:0 0 0 4px rgba(190,157,105,.22);}
.pt-pop{position:absolute; right:0; top:calc(100% + 8px); min-width:240px; background:#fff; border-radius:14px; box-shadow:0 18px 44px rgba(16,46,74,.22), 0 0 0 1px rgba(16,46,74,.06); padding:8px; z-index:95;}
.pt-searchpop{left:0; right:auto; width:380px; max-height:420px; overflow-y:auto;}
.pt-hit{display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:10px; color:var(--pu-ink); text-decoration:none; flex-wrap:wrap;}
.pt-hit:hover{background:#F4EDE2;} .pt-hit small{color:var(--pu-mute); margin-left:auto;}
.pt-hit-type{font-size:10.5px; font-weight:700; letter-spacing:.8px; padding:3px 8px; border-radius:6px; background:#E6EEF6; color:#1B4F82; min-width:68px; text-align:center;}
.pt-hit-label{font-size:14px; flex:1 1 120px;}
.pt-qc,.pt-bell{position:relative;}
.pt-qcbtn{width:40px; height:40px; border-radius:12px; border:0; background:var(--gold); color:var(--navy); font-size:24px; line-height:1; font-weight:600; cursor:pointer; box-shadow:0 6px 14px rgba(190,157,105,.38);}
.pt-qc .pt-pop a{display:block; padding:10px 12px; border-radius:10px; color:var(--pu-ink); text-decoration:none; font-size:14px;} .pt-qc .pt-pop a:hover{background:#F4EDE2;}
.pt-bellbtn{position:relative; width:40px; height:40px; border-radius:12px; border:1px solid var(--pu-line); background:#fff; color:var(--navy); cursor:pointer; display:grid; place-items:center;}
.pt-badgecount{position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; border-radius:9px; background:#B3402A; color:#fff; font-size:11px; font-weight:700; display:grid; place-items:center; padding:0 4px;}
.pt-bellpop{width:340px; max-height:440px; overflow-y:auto;}
.pt-note-item{display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:10px; color:var(--pu-ink); text-decoration:none; font-size:14px;} .pt-note-item:hover{background:#F4EDE2;} .pt-note-item small{color:var(--pu-mute);} .pt-note-item.is-new{background:#FAF5EA; font-weight:600;}
/* announcements */
.pt-anns{display:grid; gap:10px; margin:0 0 18px;} .pt-anns:empty{display:none;}
.pt-ann{background:linear-gradient(90deg,#FAF5EA,#fff); border-radius:14px; padding:14px 18px; box-shadow:inset 4px 0 0 var(--gold), var(--pu-shadow);} .pt-ann p{margin:4px 0 0; color:var(--pu-mute);}
/* saved filters, bulk actions */
.pt-saved{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:0 0 12px;}
.pt-chipf{display:inline-flex; border-radius:99px; background:#fff; box-shadow:var(--pu-shadow); overflow:hidden;} .pt-chipf button{border:0; background:none; cursor:pointer; padding:6px 12px; font:inherit; font-size:13px; color:var(--navy);} .pt-chipf-x{opacity:.55; padding:6px 10px 6px 0 !important;}
.pt-bulk{position:sticky; top:68px; z-index:30; display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:var(--navy); color:#fff; border-radius:14px; padding:10px 16px; margin:0 0 12px; box-shadow:0 10px 24px rgba(16,46,74,.3);}
.pt-bulk select{min-height:36px; padding:4px 10px; border-radius:10px;} .pt-bulk .pt-filelink{color:#fff;}
.pt-bulkrow{display:flex; align-items:flex-start; gap:10px;} .pt-bulkrow .pt-row{flex:1; min-width:0;} .pt-bulkbox{width:20px; height:20px; margin-top:22px; accent-color:var(--navy); flex:0 0 auto;}
/* timeline */
.pt-timeline h3{margin:22px 0 8px; color:var(--pu-mute); font-size:13px; letter-spacing:.8px; text-transform:uppercase;}
.pt-tl-item{display:flex; gap:12px; align-items:center; padding:11px 14px; margin:0 0 6px; background:#fff; border-radius:12px; box-shadow:var(--pu-shadow); color:var(--pu-ink); text-decoration:none; flex-wrap:wrap;} .pt-tl-item small{margin-left:auto; color:var(--pu-mute);}
.pt-tl-tag{font-size:11px; font-weight:700; letter-spacing:.6px; padding:3px 9px; border-radius:99px; background:#F4EDE2; color:#7D5F25; min-width:74px; text-align:center;}
.tk-is-done td{opacity:.55;} .tk-is-done strong{text-decoration:line-through;}
@media (max-width:900px){ .pt-gsq{width:150px;} .pt-searchpop{width:min(340px,86vw);} .pt-open{display:none;} .pt-bellpop{right:-60px; width:min(320px,88vw);} }
@media (max-width:560px){ .pt-gsq{width:110px;} .pt-bar .pt-who{display:none;} }
@media (min-width:901px){ body.pt-signed .pt-bar{flex-wrap:nowrap;} body.pt-signed .pt-bar .pt-gsq{min-width:140px;} body.pt-signed .pt-bar .pt-search{flex:0 1 260px; min-width:0;} body.pt-signed .pt-bar .pt-open{white-space:nowrap; flex:0 1 auto;} }
.pt-bar .btn{white-space:nowrap;}
/* 4E */
.pt-over{background:#F8E1DB !important; color:#8A2D1B; font-weight:700;}
.rn-late td,.rn-late{color:#B3402A;}
.sc-low{background:#FBEFEC;}
.pt-total td{border-top:2px solid var(--pu-line,#E4DCCB); background:#FAF6EE;}
.pt-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin:0 0 14px;}
.pt-stat{padding:16px 18px; background:#fff; border-radius:16px;}
.pt-stat strong{display:block; font-size:24px; color:#102E4A; font-family:'Libre Baskerville',Georgia,serif;}
.pt-stat span{font-size:13px; color:#5B6470;}
.pt-badge--ok{background:#E3F1E7 !important; color:#1E6B3A !important;}
.pt-badge--bad{background:#FBE3DD !important; color:#9A2E1B !important;}
.pt-warn{border:1px solid #D9A441; background:#FFF8E8;}
.mr-text{width:100%; min-height:90px;}
.pt-filterbar{display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap; margin:6px 0 14px;}
#calUrl{width:100%;}
@media (min-width:901px){ body.pt-signed .pt-tabs.pt-side{z-index:60;} }
/* "?" help button and guide panel */
.pt-help{position:fixed; right:22px; bottom:22px; z-index:80;}
.pt-help-btn{width:48px; height:48px; border-radius:50%; border:0; cursor:pointer; background:linear-gradient(135deg,#C9AB78,#B08D56); color:#102E4A; font:700 22px/1 'Libre Baskerville',Georgia,serif; box-shadow:0 8px 22px rgba(16,46,74,.32); display:flex; align-items:center; justify-content:center;}
.pt-help-btn:hover{transform:translateY(-1px); box-shadow:0 10px 26px rgba(16,46,74,.38);}
.pt-help-btn:focus-visible{outline:3px solid #102E4A; outline-offset:3px;}
.pt-help-panel{position:absolute; right:0; bottom:60px; width:min(390px,calc(100vw - 32px)); max-height:min(72vh,560px); overflow-y:auto; background:#fff; border-radius:18px; box-shadow:0 22px 56px rgba(16,46,74,.34), 0 0 0 1px rgba(16,46,74,.08); padding:16px 18px 16px; color:#2C3035; font-size:14px; line-height:1.55;}
.pt-help-panel[hidden]{display:none;}
.pt-help-head{display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:6px; color:#102E4A; font-family:'Libre Baskerville',Georgia,serif; font-size:16px; line-height:1.35;}
.pt-help-x{border:0; background:transparent; font-size:24px; line-height:1; cursor:pointer; color:#5B6470; padding:0 4px;}
.pt-help-intro{margin:0 0 8px; color:#5B6470;}
.pt-help-steps{margin:0 0 8px; padding-left:20px;} .pt-help-steps li{margin:0 0 6px;} .pt-help-steps li::marker{color:#B08D56; font-weight:700;}
.pt-help-tip{margin:8px 0 0; padding:8px 10px; background:#F4EDE2; border-radius:10px; font-size:13px; color:#102E4A;}
.pt-help-pdf{margin:12px 0 0; padding-top:10px; border-top:1px solid #E7E0D2; font-size:13px;} .pt-help-pdf a{color:#1B4F82; font-weight:700;}
.pt-help-h{margin:12px 0 2px; font-size:14px; color:#102E4A;}
@media (max-width:900px){ .pt-help{right:14px; bottom:14px;} .pt-help-btn{width:44px; height:44px;} }
@media print{ .pt-help{display:none !important;} }
.pt-help-steps{list-style:decimal !important;} .pt-help-steps li{display:list-item !important; padding-left:2px;}

/* 4F: self-service recruitment */
.ap-filters{display:flex; flex-wrap:wrap; gap:14px; margin:6px 0 16px}
.ap-filters .field{flex:0 1 220px; min-width:150px}
.ap-filters .field:last-child{flex:1 1 260px}
.ap-row td{vertical-align:top}
.ap-row td:nth-child(2){min-width:110px}
.ap-row .btn,.ap-row select{white-space:nowrap}
.ap-ai{min-width:150px; max-width:260px}
.ap-detail td{background:var(--pu-ivory,#faf6ef); padding:0}
.ap-box{padding:16px 18px}
.ap-sum{margin:10px 0; line-height:1.5}
.cr-panel{margin-bottom:12px}
.cr-balance strong{font-size:1.6rem; color:var(--pu-navy,#102E4A)}
.cr-balance span{font-size:1rem}

/* 4H */
a.pt-me{display:block; color:inherit; text-decoration:none}
a.pt-me:hover strong{text-decoration:underline}
.pt-avatar--img{background-size:cover; background-position:center; background-repeat:no-repeat; background-color:#fff}
.pt-avatar--big{width:84px; height:84px; margin:0; font-size:28px; flex:none}
.ac-photo{display:flex; gap:18px; align-items:center; flex-wrap:wrap}
.ac-logins{margin:8px 0 14px; padding-left:20px; line-height:1.7}
.pl-wrap{max-width:760px; margin:30px auto; padding:0 16px}
.pl-body{white-space:pre-wrap; line-height:1.6; max-height:320px; overflow:auto; padding:10px 0}
.dq-row{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:flex-start; margin-top:12px}

/* Admin home */
.ad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:18px}
.ad-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line,#e2dccf);border-left:4px solid #BE9D69;border-radius:6px;background:#fff;color:inherit;text-decoration:none}
.ad-card strong{color:#102E4A;font-family:'Libre Baskerville',Georgia,serif;font-size:1.02rem}
.ad-card span{font-size:.9rem;line-height:1.45;color:#4a5560}
.ad-card:hover,.ad-card:focus-visible{border-color:#BE9D69;box-shadow:0 2px 10px rgba(16,46,74,.1)}
.rc-tablewrap + .pt-panel,.pt-tablewrap + .pt-panel,.pt-panel + .pt-panel{margin-top:20px}

/* ---- icon rail (desktop): icons only; hovering opens the full menu over the page. "Menu" keeps it open (pinned).
   Header height, icon position and row heights are identical in both states, so nothing moves under the pointer. ---- */
.pt-brand-mark,.pt-fly-title{display:none;}
@media (min-width:901px){
  body.pt-signed:not(.pt-side-full) .pt-layout{grid-template-columns:76px minmax(0,1fr);}
  body.pt-signed:not(.pt-side-full) .pt-tabs.pt-side{width:76px; padding:14px 12px 20px; border-radius:0 22px 22px 0; overflow-x:hidden; z-index:70; transition:width .18s ease .06s, box-shadow .18s ease .06s;}
  body.pt-signed:not(.pt-side-full) .pt-tabs.pt-side:hover,body.pt-signed:not(.pt-side-full) .pt-tabs.pt-side:has(:focus-visible){width:272px; box-shadow:10px 0 36px rgba(10,32,53,.28);}
  body.pt-signed:not(.pt-side-full) .pt-brand{margin:0;}
  body.pt-signed:not(.pt-side-full) .pt-brand > a:first-child{display:flex; align-items:center; height:44px; padding-left:7px;}
  body.pt-signed:not(.pt-side-full) .pt-brand img{margin:0; height:38px; width:auto;}
  body.pt-signed:not(.pt-side-full) .pt-side:not(:hover):not(:has(:focus-visible)) .pt-brand-wide{display:none;}
  body.pt-signed:not(.pt-side-full) .pt-side:not(:hover):not(:has(:focus-visible)) .pt-brand-mark{display:block; width:38px;}
  body.pt-signed:not(.pt-side-full) .pt-me{display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:12px; align-items:center; text-align:left; height:56px; padding:8px 0 8px 6px; margin:6px 0 8px; overflow:hidden;}
  body.pt-signed:not(.pt-side-full) .pt-avatar{width:40px; height:40px; font-size:15px; margin:0; grid-row:1 / span 2; box-shadow:0 0 0 3px rgba(190,157,105,.25);}
  body.pt-signed:not(.pt-side-full) .pt-me strong{grid-column:2; align-self:end; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  body.pt-signed:not(.pt-side-full) .pt-me > span:not(.pt-avatar){grid-column:2; align-self:start; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  body.pt-signed:not(.pt-side-full) .pt-side .pt-nav--d0 > li > a.pt-tab,body.pt-signed:not(.pt-side-full) .pt-side .pt-nav--d0 > li > .pt-grp-row > a.pt-tab,body.pt-signed:not(.pt-side-full) .pt-side .pt-nav--d0 > li > .pt-grp-row > .pt-grp-label{justify-content:flex-start; padding:0 0 0 15px; min-height:46px; border-left:0; width:100%; display:flex; align-items:center;}
  body.pt-signed:not(.pt-side-full) .pt-side .pt-nav--d0 > li > a.pt-tab .pt-ico,body.pt-signed:not(.pt-side-full) .pt-side .pt-nav--d0 > li > .pt-grp-row .pt-ico{flex:0 0 22px; width:22px; margin-right:12px;}
  .pt-side .pt-lbl{white-space:nowrap;}
  body.pt-signed:not(.pt-side-full) .pt-side:not(:hover):not(:has(:focus-visible)) .pt-nav--d0 > li .pt-lbl,body.pt-signed:not(.pt-side-full) .pt-side:not(:hover):not(:has(:focus-visible)) .pt-tab--ext,body.pt-signed:not(.pt-side-full) .pt-side:not(:hover):not(:has(:focus-visible)) .pt-me strong,body.pt-signed:not(.pt-side-full) .pt-side:not(:hover):not(:has(:focus-visible)) .pt-me > span:not(.pt-avatar){visibility:hidden;}
  body.pt-signed:not(.pt-side-full) .pt-side:not(:hover):not(:has(:focus-visible)) .pt-fly > .pt-grp-row::after{display:none;}
  body.pt-signed:not(.pt-side-full) .pt-side:not(:hover):not(:has(:focus-visible)) .pt-me{grid-template-columns:40px 0; column-gap:0;}
}

/* menu button: an arrow on desktop (pin/unpin the menu), the usual three lines on phones */
.pt-menu-btn .pt-mb-arrow{display:none;}
.pt-menu-btn .pt-mb-burger{display:inline;}
@media (min-width:901px){
  .pt-menu-btn{width:38px; height:38px; padding:0 !important; display:inline-grid; place-items:center; font-size:20px; line-height:1;}
  .pt-menu-btn .pt-mb-arrow{display:inline-block; transition:transform .18s;}
  .pt-menu-btn .pt-mb-burger{display:none;}
  body.pt-side-full .pt-menu-btn .pt-mb-arrow{transform:rotate(180deg);}
}

/* ---- top bar: slim navy bar like the menu (search pill, round +, icons, name menu) ---- */
body.pt-signed .pt-bar{background:linear-gradient(90deg,#102E4A,#0A2035); border-bottom:0; color:#fff; padding:8px 28px; min-height:56px; gap:12px; margin:0 -36px 24px; backdrop-filter:none; box-shadow:0 4px 18px rgba(10,32,53,.16);}
body.pt-signed .pt-bar .pt-menu-btn{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); color:#fff; border-radius:50% !important;}
body.pt-signed .pt-bar .pt-menu-btn:hover{background:rgba(255,255,255,.18);}
body.pt-signed .pt-bar .pt-search{position:relative; flex:1 1 420px; max-width:460px; min-width:0;}
body.pt-signed .pt-bar .pt-gsq{width:100%; box-sizing:border-box; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.26); color:#fff; border-radius:999px; padding:8px 40px 8px 18px; min-height:38px; font-size:14px;}
body.pt-signed .pt-bar .pt-gsq::placeholder{color:rgba(255,255,255,.66);}
body.pt-signed .pt-bar .pt-gsq:focus{background:rgba(255,255,255,.16); border-color:var(--gold); box-shadow:0 0 0 3px rgba(190,157,105,.28);}
.pt-bar .pt-mag{position:absolute; right:14px; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.75); display:grid; pointer-events:none;}
body.pt-signed .pt-bar .pt-qcbtn{width:36px; height:36px; border-radius:50%; background:transparent; border:1.5px solid rgba(255,255,255,.55); color:#fff; font-size:22px; box-shadow:none; display:grid; place-items:center; padding:0;}
body.pt-signed .pt-bar .pt-qcbtn:hover{background:var(--gold); border-color:var(--gold); color:var(--navy);}
body.pt-signed .pt-bar .pt-bellbtn{width:38px; height:38px; border-radius:50%; background:transparent; border:0; color:#fff;}
body.pt-signed .pt-bar .pt-bellbtn:hover{background:rgba(255,255,255,.14);}
body.pt-signed .pt-bar .pt-open{background:transparent; box-shadow:none; padding:0 6px; font-size:12.5px; font-weight:600;}
body.pt-signed .pt-bar .pt-open.is-open{color:#9fe0b3;} body.pt-signed .pt-bar .pt-open.is-closed{color:#f1cf93;}
.pt-user{position:relative; margin-left:6px; padding-left:14px; border-left:1px solid rgba(255,255,255,.2);}
.pt-userbtn{display:flex; align-items:center; gap:9px; background:transparent; border:0; color:#fff; font:inherit; font-size:14px; font-weight:600; padding:4px 8px 4px 4px; border-radius:999px; cursor:pointer; max-width:240px;}
.pt-userbtn:hover{background:rgba(255,255,255,.12);}
.pt-userbtn .pt-username{color:#fff; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.pt-userbtn .pt-caret2{font-size:11px; opacity:.8;}
.pt-uav{display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:50%; background:var(--gold); color:var(--navy); font-weight:700; font-size:12px; box-shadow:0 0 0 2px rgba(190,157,105,.35);}
.pt-userpop{right:0; left:auto; min-width:240px; padding:6px;}
.pt-userhead{padding:10px 12px 8px; border-bottom:1px solid var(--pu-line); margin-bottom:4px; display:grid; gap:2px;}
.pt-userhead strong{color:var(--navy); font-size:14px;} .pt-userhead span{color:var(--pu-mute); font-size:12.5px;}
.pt-userpop a,.pt-userpop button{display:block; width:100%; text-align:left; padding:10px 12px; border:0; background:transparent; border-radius:10px; color:var(--pu-ink); font:inherit; font-size:14px; text-decoration:none; cursor:pointer;}
.pt-userpop a:hover,.pt-userpop button:hover{background:#F4EDE2;}
@media (max-width:900px){
  body.pt-signed .pt-bar{padding:8px 12px; gap:8px; margin:0 -16px 16px; flex-wrap:wrap;}
  body.pt-signed .pt-bar .pt-search{flex:1 1 140px;}
  .pt-user{padding-left:8px; margin-left:0;} .pt-userbtn .pt-username,.pt-userbtn .pt-caret2{display:none;}
}

/* the navy bar and the navy menu meet cleanly: no rounded top corner on the menu (desktop) */
@media (min-width:901px){
  body.pt-signed .pt-tabs.pt-side,body.pt-signed:not(.pt-side-full) .pt-tabs.pt-side{border-radius:0 0 22px 0;}
  body.pt-signed .pt-bar{margin-left:-36px;}
}

/* ---- top bar as in the reference: search + round plus on the left, icon shortcuts, help, settings, bell, then the name menu ---- */
.pt-ibtn{display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:#fff; text-decoration:none; background:transparent; border:0; cursor:pointer; position:relative;}
.pt-ibtn:hover,.pt-ibtn:focus-visible{background:rgba(255,255,255,.14); color:#fff;}
.pt-ibtn .pt-ico{display:grid; place-items:center; width:20px; height:20px; margin:0; opacity:.92;} .pt-ibtn .pt-ico svg{width:20px; height:20px;}
.pt-bar .pt-help-btn{width:38px; height:38px; border-radius:50%; background:transparent; box-shadow:none; color:#fff; font:600 15px/1 'Libre Franklin',system-ui,sans-serif; display:grid; place-items:center; padding:0; position:relative;}
.pt-bar .pt-help-btn::before{content:''; position:absolute; inset:7px; border:1.6px solid rgba(255,255,255,.92); border-radius:50%;}
.pt-bar .pt-help-btn:hover{transform:none; background:rgba(255,255,255,.14); box-shadow:none;}
.pt-bar .pt-help-btn:focus-visible{outline:2px solid var(--gold); outline-offset:1px;}
.pt-help{position:fixed; right:0; top:0; bottom:auto; z-index:80;}
.pt-help-panel{position:fixed; top:64px; right:16px; bottom:auto;}
@media (max-width:900px){ .pt-help{right:0; bottom:auto;} .pt-help-panel{top:60px; right:8px;} .pt-ibtn{width:34px; height:34px;} .pt-bar .pt-help-btn{width:34px; height:34px;} }
/* the pin / collapse control lives in the left menu; the top-bar button is for phones only */
.pt-pin{display:none;}
@media (min-width:901px){
  .pt-menu-btn{display:none !important;}
  .pt-pin{display:flex; align-items:center; width:100%; margin-top:10px; padding:0 0 0 15px; min-height:46px; border:0; border-top:1px solid rgba(255,255,255,.14); border-radius:0 0 12px 12px; background:transparent; color:rgba(255,255,255,.7); font:500 14px 'Libre Franklin',system-ui,sans-serif; cursor:pointer; text-align:left;}
  .pt-pin:hover{background:rgba(255,255,255,.08); color:#fff;}
  .pt-pin-ico{display:grid; place-items:center; flex:0 0 22px; width:22px; margin-right:12px; font-size:20px; line-height:1; transition:transform .18s;}
  body.pt-side-full .pt-pin-ico{transform:rotate(180deg);}
  .pt-pin-lbl{white-space:nowrap;}
  body.pt-signed:not(.pt-side-full) .pt-side:not(:hover):not(:has(:focus-visible)) .pt-pin-lbl{visibility:hidden;}
}
