/* Refined typography, dropdown navigation, search and notifications */
:root{--font-ui:"Aptos","Segoe UI Variable","Segoe UI",Arial,sans-serif;--font-display:"Palatino Linotype","Book Antiqua",Georgia,serif;--ink:#261d2d;--muted:#756b7b;--line:#e7e0ea;--soft:#f7f3f9}
*{box-sizing:border-box}body{font-family:var(--font-ui);font-size:15.5px;line-height:1.58;letter-spacing:.005em;color:var(--ink)}h1,h2,h3,.brand b{font-family:var(--font-display);letter-spacing:.015em}h1{font-size:clamp(1.75rem,2.5vw,2.25rem);line-height:1.15;color:var(--p)}h2{font-size:1.28rem;line-height:1.3}.brand b{font-size:1.18rem;color:#fff1ad}
header{min-height:74px;height:auto;padding:10px 24px;gap:16px;box-shadow:0 5px 24px #29123824}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.header-actions .icon-btn{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:8px 11px;border:1px solid #ffffff38;border-radius:12px;background:#ffffff12;color:white;font:700 .82rem var(--font-ui);transition:.2s}.header-actions .icon-btn:hover{background:#ffffff25;border-color:#ffffff70}.icon-btn>span{font-size:1.35rem;line-height:1}.icon-btn em{font-style:normal}.notify-count{position:absolute;top:-6px;right:-6px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--g);color:#24142d;border:2px solid var(--p);font:900 11px/17px var(--font-ui);text-align:center}.user-menu{margin-left:7px;font-size:.88rem;white-space:nowrap}.menu-toggle{margin-left:0!important}
nav{top:74px;width:248px;padding:16px 12px 26px;overflow-y:auto;background:#fff;border-right:1px solid var(--line);box-shadow:8px 0 26px #3a154908}.logged{margin-left:248px}.nav-title{padding:4px 12px 12px;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.nav-group{margin:0 0 7px;border:1px solid transparent;border-radius:11px}.nav-group[open]{background:var(--soft);border-color:#eee5f2}.nav-group summary{position:relative;cursor:pointer;list-style:none;padding:10px 34px 10px 12px;color:#4b3d52;font-weight:800;font-size:.8rem;letter-spacing:.055em;text-transform:uppercase;user-select:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary::after{content:'›';position:absolute;right:13px;top:7px;font-size:1.25rem;color:var(--p);transition:.18s}.nav-group[open] summary::after{transform:rotate(90deg)}nav .nav-links{padding:0 6px 7px}nav .nav-links a{display:flex;align-items:center;gap:10px;padding:9px 10px;font-size:.91rem;font-weight:650}nav .nav-links a span{display:grid;place-items:center;width:22px;height:22px;color:var(--p);font-size:1rem}nav .nav-links a:hover{background:#eadff0;transform:translateX(2px)}
input,select,textarea{font-size:1rem;background:#fff;transition:border-color .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--p);box-shadow:0 0 0 3px #55207a1a}.btn,button.btn{font-size:.92rem;letter-spacing:.015em;border-radius:9px}.search-form{display:flex;align-items:end;gap:12px}.search-form label{flex:1;margin:0}.search-results{display:grid;gap:9px}.search-results a{display:grid;grid-template-columns:auto 1fr;gap:2px 11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none}.search-results a:hover{border-color:var(--p);background:var(--soft)}.search-results a .badge{grid-row:1/3}.search-results a small{grid-column:2;color:var(--muted)}.notification{position:relative}.notification.unread{border-left:5px solid var(--g);background:linear-gradient(90deg,#fffaf0,#fff 42%)}.notification h2{margin:8px 0 4px}.notification p{margin:0 0 8px}.notification>a{margin-left:12px;font-weight:800;color:var(--p)}
@media(max-width:850px){header{min-height:68px;padding:8px 14px}.brand b{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions .icon-btn em,.user-menu{display:none}.header-actions{gap:5px}.header-actions .icon-btn{min-width:40px;justify-content:center;padding:7px}.menu-toggle{display:block!important}nav{top:68px}.logged{margin-left:0}}
@media(max-width:560px){body{font-size:15px}.brand b{max-width:135px;font-size:1rem}.brand-logo{width:38px;height:38px}h1{font-size:1.7rem}.search-form{align-items:stretch;flex-direction:column}.search-form .btn{width:100%}}
@media print{body{font-family:Georgia,"Times New Roman",serif;font-size:11pt;color:#111}h1{font-size:20pt}h2{font-size:15pt}.card,.table{box-shadow:none}.print-brand b{font-family:var(--font-display)}}
.nav-user-profile{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px!important;border-radius:13px!important;background:linear-gradient(135deg,var(--p),#351047);color:#fff!important;box-shadow:0 8px 16px #3e164928}.nav-user-profile img,.nav-user-profile>span,.user-list-photo,.user-photo-placeholder{width:44px;height:44px;flex:0 0 44px;border-radius:50%;object-fit:cover;border:2px solid var(--g)}.nav-user-profile>span,.user-photo-placeholder{display:grid;place-items:center;background:#fff;color:var(--p);font-weight:900}.nav-user-profile div{min-width:0}.nav-user-profile b,.nav-user-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-profile b{font-size:.82rem}.nav-user-profile small{color:#dfd3e5;font-size:.62rem}.user-photo-capture{display:flex;align-items:center;gap:23px;padding:20px;margin-bottom:20px;border-radius:16px;background:#f5eff8}.user-photo-capture img,.user-photo-capture video{width:180px;height:180px;object-fit:cover;border:4px solid var(--g);border-radius:50%;background:#1a0a22}.user-photo-capture>div{flex:1}.user-photo-capture.compact img,.user-photo-capture.compact video{width:130px;height:130px}.user-profile-card{display:grid;grid-template-columns:1fr 1.5fr;gap:25px}.user-list-photo,.user-photo-placeholder{width:46px;height:46px}.user-photo-placeholder{display:grid}.table td:first-child{vertical-align:middle}@media(max-width:650px){.user-profile-card{grid-template-columns:1fr}.user-photo-capture{flex-direction:column;align-items:flex-start}.user-photo-capture img,.user-photo-capture video{align-self:center;width:150px;height:150px}.user-photo-capture>div{width:100%}}
