:root{--navy:#082f5b;--blue:#0b63ce;--top:#0f5aa4;--bg:#f4f8fc;--line:#dfe8f2;--text:#123052}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px}
.erp-shell{min-height:100vh}.topbar{height:70px;position:fixed;z-index:30;left:0;top:0;right:0;background:linear-gradient(90deg,#09519b,#165b9e);color:#fff;display:grid;grid-template-columns:340px 1fr 330px;align-items:center;box-shadow:0 1px 6px #082f5b55}
.brand-block{height:100%;display:flex;align-items:center;gap:12px;padding:0 18px}.brand-logo{width:48px;height:48px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:12px}.brand-title{font-size:21px;font-weight:800;line-height:1}.brand-subtitle{font-size:11px;opacity:.95;margin-top:5px}.menu-toggle{margin-left:auto;border:0;background:transparent;color:white;font-size:19px}.top-tagline{text-align:center;font-style:italic;font-size:14px}.user-block{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-right:18px}.user-block small{display:block;font-size:11px}.user-account-link{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;border-radius:8px;padding:4px 6px}.user-account-link:hover{background:#ffffff18;color:#fff}.avatar{width:38px;height:38px;border-radius:50%;background:#fff;color:#174f89;display:grid;place-items:center;font-weight:800}.notification{position:relative;font-size:18px}.notification b{position:absolute;top:-8px;right:-10px;background:#e7272d;border-radius:20px;font-size:9px;padding:2px 5px}
.sidebar{position:fixed;z-index:20;left:0;top:70px;bottom:0;width:250px;background:linear-gradient(180deg,#0b3768,#082d55);color:#fff;padding:16px 10px 12px;display:flex;flex-direction:column}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar a{display:flex;align-items:center;gap:13px;text-decoration:none;color:#fff;padding:11px 13px;border-radius:5px;font-size:14px}.sidebar a i:first-child{width:19px;text-align:center;font-size:16px}.sidebar a:hover,.sidebar a.active{background:linear-gradient(90deg,#0b63ce,#146fda);box-shadow:0 4px 10px #001a3350}.sidebar-footer{margin-top:auto;text-align:center;opacity:.7;font-size:11px}.campus-mark{font-size:58px;line-height:1;margin-bottom:12px}
.main-content{margin-left:250px;padding:88px 18px 28px;min-height:100vh}.dashboard-head,.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.dashboard-head h1,.page-head h1{font-size:24px;margin:0;font-weight:800;color:#0d2f5c}.dashboard-head p,.page-head p{margin:2px 0 0;font-size:16px;color:#2b5683}.dashboard-head em{display:block;margin-top:9px;font-size:12px;color:#385a7c}
.metric-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.metric-card{min-height:88px;border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;align-items:center;gap:10px;background:#fff;box-shadow:0 1px 2px #0b37680c}.metric-card>i{font-size:30px}.metric-card strong{display:block;font-size:21px;line-height:1.05}.metric-card span,.metric-card small{display:block;font-size:11px;text-align:center;margin-top:5px}.metric-card.blue{background:#eaf5ff}.metric-card.blue i{color:#0873df}.metric-card.green{background:#eafaf0}.metric-card.green i{color:#0b9b4d}.metric-card.red{background:#fff0f1}.metric-card.red i{color:#d92635}.metric-card.orange{background:#fff7e5}.metric-card.orange i{color:#e89308}.metric-card.purple{background:#f3edff}.metric-card.purple i{color:#6f26c9}
.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;box-shadow:0 1px 3px #1230520a}.panel-title{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:800;color:#0d3971;margin-bottom:11px}.panel-title span{display:flex;align-items:center;gap:8px}.panel-title a{font-size:11px;text-decoration:none;color:#0d63c7}.danger-title>span>i{color:#ef3340}
.workflow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.workflow-grid>div{background:#f7f9fb;padding:12px 8px;text-align:center}.workflow-grid i{font-size:22px}.workflow-grid strong{display:block;font-size:17px;margin:4px 0}.workflow-grid span{font-size:11px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick{min-height:70px;border-radius:5px;color:#fff!important;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:7px}.quick i{font-size:18px;margin-bottom:3px}.quick strong{font-size:11px}.quick small{font-size:8px}.blue-btn{background:#0873e8}.green-btn{background:#19a957}.orange-btn{background:#f58a0a}.purple-btn{background:#7c36dc}
.dashboard-table{font-size:10.5px}.dashboard-table thead th{background:#f2f6fa;color:#234568;border-bottom:0}.dashboard-table td{border-color:#edf2f7}.dashboard-table a{text-decoration:none;color:#234568}.status{font-size:10px;padding:4px 9px;border-radius:12px;white-space:nowrap;text-transform:capitalize}.status.sent{background:#dfefff;color:#0b65c6}.status.awaiting_reply{background:#fff1c9;color:#b27300}.status.follow_up_due{background:#ffe0e3;color:#d12a38}.status.resolved{background:#dcf7e4;color:#118b47}.status.draft{background:#eef1f5;color:#5f6d7b}
.donut-wrap{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px}.donut-placeholder{width:132px;height:132px;border-radius:50%;background:conic-gradient(#ef3340 0 25%,#ffc43d 25% 50%,#1683e5 50% 80%,#8f9aaa 80% 100%);position:relative;display:grid;place-items:center;text-align:center}.donut-placeholder:after{content:"";position:absolute;width:82px;height:82px;background:white;border-radius:50%}.donut-placeholder strong,.donut-placeholder span{position:relative;z-index:1}.donut-placeholder strong{font-size:19px}.donut-placeholder span{font-size:9px}.legend{display:flex;flex-direction:column;gap:12px;font-size:11px}.legend b{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:8px}.red-dot{background:#ef3340}.yellow-dot{background:#ffc43d}.blue-dot{background:#1683e5}.gray-dot{background:#8f9aaa}
.empty-note{min-height:150px;display:grid;place-items:center;color:#8192a5}.announcement{display:flex;gap:12px;border-top:1px solid #edf2f7;padding:14px 8px}.announcement>i{color:#f3a10b;font-size:20px}.announcement p{margin:4px 0 0;font-size:12px}
.page-head h1 span{color:#6d86a2}.letter-body-input{font-family:inherit;line-height:1.55}.letter-page{width:100%;aspect-ratio:210/297;background:#fff;border:1px solid #d8e0ea;box-shadow:0 2px 12px #1230521d;position:relative;color:#111;font-family:"Times New Roman",Times,serif;overflow:hidden}
.exact-letterpad{padding:0;background:#fff}
.exact-letterhead{position:absolute;top:0;left:0;width:100%;height:auto;z-index:30;display:block}
.exact-date{position:absolute;top:16.35%;right:6.2%;color:#5270bb;font-family:"Times New Roman",Times,serif;font-style:italic;font-size:clamp(12px,1.15vw,17px);z-index:30;white-space:nowrap}
.exact-watermark{position:absolute;top:34.5%;left:50%;transform:translateX(-50%);width:34%;height:auto;opacity:1;z-index:5;pointer-events:none}
.exact-letter-content{position:absolute;top:22.8%;left:11.2%;right:11.2%;bottom:23.8%;font-size:clamp(10.5px,.93vw,13.5px);line-height:1.52;z-index:20!important;color:#111!important;opacity:1!important;visibility:visible!important;background:transparent}
.exact-recipient{margin-bottom:2.7%}
.exact-subject{margin-top:2.2%}
.exact-reference{margin-top:.8%}
.exact-reference [data-p=reference].multi-reference{display:block;white-space:pre-line;margin-top:.5%;padding-left:2.2%}
.exact-reference-list{margin:.6% 0 0 3.6%;padding-left:3.2%}
.exact-reference-list li{margin-bottom:.35%}
.exact-body{white-space:pre-wrap;text-align:justify;margin-top:3.8%;position:relative;z-index:21!important;color:#111!important;opacity:1!important;visibility:visible!important}
.exact-signatures{position:absolute;left:10.8%;right:10.8%;bottom:14.7%;display:flex;justify-content:space-between;z-index:30}
.exact-signatures>div{width:38%;text-align:center;font-size:clamp(9px,.82vw,12px);color:#111}
.sig-line{display:block;border-top:1px solid #888;width:100%;margin-bottom:6px}
.office-bearer-name{display:block;font-family:'Noto Serif Malayalam',serif;font-size:clamp(9px,.82vw,12px);font-weight:700;line-height:1.28;white-space:nowrap}
.office-bearer-role{display:block;margin-top:2px;font-size:clamp(8px,.72vw,10.5px);font-weight:700;line-height:1.2}
.malayalam-letter .office-bearer-role{font-family:'Noto Serif Malayalam',serif}
.exact-footer-art{position:absolute;left:9.05%;right:9.05%;bottom:0;height:10.8%;overflow:hidden;z-index:0;pointer-events:none}
.exact-footer-band{position:absolute;left:0;right:0;display:block}
.exact-footer-band-a{bottom:0;height:82%;background:#082f5b;clip-path:polygon(0 2%,100% 78%,100% 100%,0 100%)}
.exact-footer-band-b{bottom:22%;height:56%;background:#0f5aa4;clip-path:polygon(0 0,100% 77%,100% 91%,0 13%)}
.exact-footer-band-c{bottom:34%;height:38%;background:#fff;clip-path:polygon(0 0,100% 78%,100% 88%,0 10%)}
.show-letter{max-width:760px;margin:auto}
.request-meta{display:grid;grid-template-columns:130px 1fr;gap:8px;margin:0}.request-meta dt{color:#62758a}
@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(4,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.top-tagline{display:none}.sidebar{width:74px}.sidebar a{justify-content:center}.sidebar a:not(.active){font-size:0}.sidebar a.active{font-size:0}.sidebar a i:first-child{font-size:18px}.sidebar-footer{display:none}.main-content{margin-left:74px}.brand-subtitle{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.user-block>span:not(.avatar),.user-block>i{display:none}.metric-grid{grid-template-columns:1fr}.workflow-grid{grid-template-columns:repeat(2,1fr)}.dashboard-head{flex-direction:column}.main-content{padding-left:10px;padding-right:10px}}

.module-table th{white-space:nowrap;background:#f2f6fa;color:#27496d}.module-table td{font-size:12px}.module-form-panel{max-width:1000px}.report-metrics{grid-template-columns:repeat(4,1fr)}.finance-summary{display:grid;gap:10px}.finance-summary>div{display:flex;justify-content:space-between;padding:12px 14px;border-radius:6px;background:#f4f8fc}.finance-summary .balance{background:#e9f8ef;color:#13733f}.notify-row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:11px 6px;border-top:1px solid #edf2f7}.notify-row strong{color:#0d3971}.audit-list>div{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid #edf2f7}.audit-list span{font-size:12px;color:#4d657e}.audit-list small{font-size:10px;color:#8a9aab}.meeting-row{display:flex;gap:12px;padding:9px;border-bottom:1px solid #edf2f7}.meeting-row>div{width:48px;height:48px;border-radius:7px;background:#eaf5ff;display:grid;place-items:center;color:#0d63c7}.meeting-row>div strong{font-size:18px;line-height:1}.meeting-row>div small{font-size:9px}.meeting-row>span{display:flex;flex-direction:column;justify-content:center}.meeting-row>span small{color:#6a7d92}.activity-row{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:10px 4px;border-bottom:1px solid #edf2f7}.activity-row span{font-size:11px;color:#687e95}.status.active,.status.paid,.status.approved,.status.completed,.status.scheduled{background:#dcf7e4;color:#118b47}.status.pending,.status.planned,.status.in_progress{background:#fff1c9;color:#a86f00}.status.inactive,.status.cancelled,.status.rejected,.status.disposed{background:#ffe0e3;color:#c62836}.status.retired,.status.closed,.status.archived{background:#eef1f5;color:#5f6d7b}.status.income{background:#dcf7e4;color:#118b47}.status.expense{background:#ffe0e3;color:#c62836}
@media(max-width:1000px){.report-metrics{grid-template-columns:repeat(2,1fr)}}
.logout-btn{border:0;background:transparent;color:white;font-size:16px;padding:7px}.auth-body{min-height:100vh;background:linear-gradient(135deg,#082f5b,#0b63ce);display:grid;place-items:center;padding:20px}.auth-card{width:min(440px,100%);background:#fff;border-radius:14px;padding:28px;box-shadow:0 24px 70px #00182f70}.auth-brand{display:flex;gap:14px;align-items:center;margin-bottom:25px}.auth-brand .brand-logo{background:#0b5cab}.auth-brand h1{font-size:24px;margin:0;color:#0c386c}.auth-brand p{margin:3px 0 0;color:#5d7188}.auth-card h2{font-size:20px;color:#0d2f5c}.auth-foot{text-align:center;color:#8393a5;font-size:11px;margin-top:24px}

.timeline{position:relative;margin-left:8px}.timeline:before{content:"";position:absolute;left:7px;top:7px;bottom:7px;width:2px;background:#dce8f4}.timeline-item{position:relative;display:grid;grid-template-columns:26px 1fr;gap:8px;padding:8px 0}.timeline-dot{width:16px;height:16px;border-radius:50%;background:#0d63c7;z-index:1;margin-top:3px;border:3px solid #dbeeff}.timeline-dot.reply{background:#16a05a}.timeline-dot.reminder{background:#f1a20b}.timeline-dot.action{background:#763bd6}.timeline-item>div:last-child{display:flex;flex-direction:column}.timeline-item span{font-size:11px;color:#71849a}.timeline-item p{margin:5px 0;font-size:13px}.timeline-item a{font-size:12px;text-decoration:none}
.letterhead-img{width:100%;height:auto;display:block;margin-bottom:8px}.letter-watermark-img{position:absolute;width:120px;left:50%;top:34%;transform:translateX(-50%);opacity:.08;z-index:0}
.correspondence-sub{margin:-2px 0 4px 42px;display:flex;flex-direction:column;gap:2px}
.sidebar .correspondence-sub a{padding:7px 10px;font-size:12px;opacity:.92;background:transparent;box-shadow:none}
.sidebar .correspondence-sub a:hover,.sidebar .correspondence-sub a.active{background:#ffffff16}
.request-editor-toolbar{display:flex;gap:6px;align-items:center;background:#f4f7fb;border:1px solid #d7e0eb;border-bottom:0;border-radius:6px 6px 0 0;padding:7px}
.request-editor-toolbar button{border:0;background:#fff;border:1px solid #dbe3ec;border-radius:4px;min-width:32px;height:30px}
.letter-body-input.editor-open{border-radius:0 0 6px 6px;min-height:380px;font-size:14px;line-height:1.6}
@media(max-width:1250px){.exact-date{font-size:14px}.exact-letter-content{font-size:11px}}

@media(max-width:1250px){.exact-letter-content{font-size:11px}.exact-date{font-size:13px}}

.request-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.request-actions .btn{min-height:40px}
.request-preview-modal-body{background:#eef3f8;padding:20px}
#modalLetterHost{display:flex;justify-content:center}
.modal-letter-copy{width:min(760px,100%);flex:none}
@media(max-width:700px){.request-actions{justify-content:stretch}.request-actions .btn{flex:1 1 46%}}

@font-face{
  font-family:'Noto Serif Malayalam';
  src:url('/fonts/NotoSerifMalayalam.ttf') format('truetype');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
.malayalam-font,.malayalam-ui{font-family:'Noto Serif Malayalam',serif!important}
.exact-letterpad.malayalam-letter .exact-letter-content{
  font-family:'Noto Serif Malayalam',serif;
  font-size:clamp(11px,1vw,14px);
  line-height:1.7;
}
.exact-letterpad.malayalam-letter .exact-subject,
.exact-letterpad.malayalam-letter .exact-reference{margin-top:2.5%}
.exact-letterpad.malayalam-letter .exact-body{line-height:1.72}
.exact-closing{position:relative;z-index:21!important;color:#111!important;opacity:1!important;visibility:visible!important}
.letter-language-switch{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#eef5ff;border:1px solid #d4e4f7;border-radius:8px;padding:10px 12px}
.language-switch-title{font-weight:800;color:#0d3971}
.letter-language-switch .btn{min-width:92px}
.language-badge{font-size:11px;font-weight:700;border-radius:999px;background:#e8f1fb;color:#1a568d;padding:4px 9px}
.language-badge.ml{font-family:'Noto Serif Malayalam',serif;background:#eef8ef;color:#24723d}

.auto-format-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#f7fafc;border:1px solid #dce6f0;border-radius:8px;padding:9px 11px}
.auto-format-bar .form-check-label{font-size:12px;color:#27496d}
.format-status{font-size:11px;color:#21824b;transition:.2s ease}
.format-status.formatted-now{color:#0b63ce;font-weight:700}
.preview-pdf-frame{display:block;width:100%;height:72vh;border:0;background:#eef3f8;border-radius:4px}
.pdf-preview-loading{min-height:180px;display:grid;place-items:center;color:#49657f;font-weight:700}
.exact-preview-overflow-note{position:absolute;left:11%;right:11%;bottom:13.2%;padding:5px 8px;background:#fff4cf;border:1px solid #edd98b;color:#83661a;border-radius:4px;font-size:9px;z-index:4;text-align:center}
.request-preview-modal-body{padding:10px;background:#dfe7ef}
@media(max-width:700px){.auto-format-bar{align-items:flex-start}.preview-pdf-frame{height:65vh}}

.exact-letterpad.malayalam-letter .exact-body{text-align:left!important;word-spacing:normal!important;letter-spacing:normal!important}

/* final mobile audit */
@media(max-width:900px){
  .correspondence-sub{margin:0;gap:1px}
  .sidebar .correspondence-sub a{padding:8px;font-size:0!important;justify-content:center}
  .sidebar .correspondence-sub a i{font-size:15px!important}
  .page-head{gap:10px;flex-wrap:wrap}
  .page-head>div:last-child{max-width:100%}
  .table-responsive{border-radius:6px}
}
@media(max-width:600px){
  .topbar{height:64px}.sidebar{top:64px}.main-content{padding-top:78px}
  .brand-title{font-size:17px}.brand-logo{width:40px;height:40px}
  .user-block{padding-right:8px;gap:8px}.avatar{width:34px;height:34px}
  .page-head,.dashboard-head{flex-direction:column;align-items:stretch}
  .page-head .btn{width:100%}
  .panel{padding:10px}
  .request-actions .btn{flex:1 1 100%}
  .letter-language-switch{align-items:flex-start}
  .letter-language-switch .btn-group{width:100%}
  .letter-language-switch .btn{flex:1}
  .module-form-panel .col-md-6{width:100%}
}

.member-profile-photo{width:110px;height:130px;object-fit:cover;border-radius:10px;border:1px solid #dbe5ef;background:#fff;box-shadow:0 2px 8px #12305218}
.member-profile-placeholder{width:110px;height:130px;border-radius:10px;background:#edf3f8;color:#9aabba;display:grid;place-items:center;font-size:44px;border:1px solid #dbe5ef}
.status.partial{background:#fff1c9;color:#a86b00}.status.paid{background:#dcf7e4;color:#118b47}.status.pending{background:#ffe0e3;color:#d12a38}.status.waived{background:#eef1f5;color:#5f6d7b}.status.open{background:#dcf7e4;color:#118b47}.status.closed{background:#eef1f5;color:#5f6d7b}
@media(max-width:600px){.member-profile-photo,.member-profile-placeholder{width:86px;height:102px}}

.exact-recipient,.exact-subject,.exact-reference,.exact-closing{position:relative;z-index:21!important;color:#111!important;opacity:1!important;visibility:visible!important}

.exact-bottom-closing{position:absolute;left:11.2%;right:11.2%;bottom:19.8%;z-index:30;color:#111;font-size:clamp(10.5px,.93vw,13.5px)}
.malayalam-letter .exact-bottom-closing{font-family:'Noto Serif Malayalam',serif}

.exact-header-full-rule{position:absolute;left:0;right:0;top:13.72%;height:.72%;z-index:29;pointer-events:none;border-top:clamp(2px,.22vw,3px) solid #0a4d87;border-bottom:clamp(1px,.08vw,1.4px) solid #0a4d87}

.exact-official-email{position:absolute;left:0;right:0;bottom:11.75%;text-align:center;color:#0a4d87;font-family:"Times New Roman",Times,serif;font-size:clamp(8.5px,.72vw,10.5px);font-weight:700;z-index:30;pointer-events:none}

.exact-header-inner-rule-mask{position:absolute;left:9.45%;right:9.45%;top:12.35%;height:1.55%;background:#fff;z-index:31;pointer-events:none}
.exact-header-full-rule{z-index:32!important}

/* Exact SUE letter-pad header: the source asset already contains the correct full-width double underline. */
.exact-header-inner-rule-mask,.exact-header-full-rule{display:none!important}

/* Correspondence paper/header final layout */
.page-setup-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid #d9e6f2;border-radius:8px;background:#f7fbff}
.page-setup-bar .form-select{width:min(290px,100%)}
.print-setup-fields{display:grid;grid-template-columns:minmax(180px,220px) minmax(290px,390px);gap:12px;align-items:end}
.print-setup-fields .form-select{width:100%}
.preprinted-mode .exact-letterhead,
.preprinted-mode .exact-letterhead-wrap,
.preprinted-mode .exact-header-page-rule,
.preprinted-mode .exact-date,
.preprinted-mode .exact-watermark,
.preprinted-mode .exact-footer-art,
.preprinted-mode .exact-official-email,
.preprinted-mode .exact-email{visibility:hidden!important}
.exact-letterhead-wrap{position:absolute;top:1.25%;left:6.4%;right:6.4%;height:11.8%;display:grid;grid-template-columns:13% minmax(0,1fr) 14%;align-items:center;column-gap:2%;overflow:visible;z-index:30}
.exact-letterhead-emblem{display:block;width:100%;height:100%;object-fit:contain}
.exact-letterhead-text{text-align:center;color:#0b469d;line-height:1.04;white-space:nowrap}
.exact-letterhead-title{font-family:Arial,"Segoe UI",sans-serif;font-size:clamp(15px,1.6vw,24px);font-weight:800;letter-spacing:-.02em}
.exact-letterhead-subtitle{font-family:Arial,"Segoe UI",sans-serif;font-size:clamp(7px,.62vw,10px);font-weight:700;margin-top:1.1%;letter-spacing:.01em}
.exact-letterhead-flag{width:100%;height:92%;justify-self:end}
.exact-letterhead-flag svg{display:block;width:100%;height:100%;overflow:visible}
.exact-header-page-rule{position:absolute;left:0;right:0;top:13.2%;height:0;z-index:32;border-top:clamp(2px,.20vw,3px) solid #0a4d87;pointer-events:none}
.exact-date{top:16.2%!important;right:6.2%!important}
@media(max-width:600px){.page-setup-bar{align-items:stretch;flex-direction:column}.page-setup-bar .form-select{width:100%}.print-setup-fields{grid-template-columns:1fr;width:100%}}

/* Exact correspondence preview parity — final override */
.exact-letterhead-wrap{left:6.4%!important;right:6.4%!important;grid-template-columns:13% minmax(0,1fr) 13%!important;column-gap:1.5%!important}
.exact-letterhead-title{font-size:clamp(13px,1.18vw,19px)!important;letter-spacing:-.025em!important}
.exact-letterhead-subtitle{font-size:clamp(6.5px,.55vw,9px)!important}
.exact-letterhead-flag{height:88%!important}
.exact-watermark{top:35.5%!important;width:31%!important}
.exact-footer-art{position:absolute!important;left:0!important;right:auto!important;bottom:0!important;width:100%!important;height:8.2%!important;z-index:0!important;pointer-events:none!important;overflow:visible!important}
.exact-signatures{left:10.8%!important;right:10.8%!important;bottom:13.2%!important}
.exact-official-email{bottom:9.8%!important}
.exact-bottom-closing{bottom:18.4%!important}
.exact-letter-content{bottom:22.5%!important}

/* Final official header weight */
.exact-letterhead-title{font-family:"Arial Black",Arial,"Segoe UI",sans-serif!important;font-weight:900!important;-webkit-text-stroke:.16px #0b469d}
.exact-letterhead-subtitle{font-family:"Arial Black",Arial,"Segoe UI",sans-serif!important;font-weight:900!important;-webkit-text-stroke:.08px #0b469d}

/* High-clarity vector SUE watermark */
.exact-watermark{
  top:35.2%!important;
  width:35%!important;
  height:auto!important;
  opacity:.085!important;
  filter:grayscale(1) saturate(.35)!important;
  image-rendering:auto!important;
}

/* Polished official SUE header — keep all other letter layout unchanged */
.exact-letterhead-wrap{
  top:1.05%!important;
  left:6.2%!important;
  right:6.2%!important;
  height:12.4%!important;
  grid-template-columns:13.8% minmax(0,1fr) 13.8%!important;
  column-gap:1.7%!important;
}
.exact-letterhead-emblem{width:100%!important;height:100%!important;object-fit:contain!important}
.exact-letterhead-text{color:#083f86!important;line-height:1!important}
.exact-letterhead-title{
  font-family:Arial,"Segoe UI",sans-serif!important;
  font-size:clamp(14px,1.34vw,21px)!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  color:#083f86!important;
  -webkit-text-stroke:0!important;
  text-shadow:.2px 0 #083f86,-.2px 0 #083f86!important;
}
.exact-letterhead-subtitle{
  font-family:Arial,"Segoe UI",sans-serif!important;
  font-size:clamp(7px,.60vw,9.6px)!important;
  font-weight:800!important;
  letter-spacing:.015em!important;
  color:#0b4f96!important;
  -webkit-text-stroke:0!important;
  margin-top:1.35%!important;
}
.exact-letterhead-flag{height:94%!important}
.exact-header-page-rule{
  top:13.25%!important;
  height:.52%!important;
  border-top:clamp(2px,.18vw,2.7px) solid #083f86!important;
  border-bottom:clamp(1px,.055vw,1.25px) solid #4e8fc9!important;
}


/* ─────────────────────────────────────────────────────────────
   PREMIUM UI SYSTEM — Solidarity ERP
   Shared visual language for the full workspace
   ───────────────────────────────────────────────────────────── */
:root{
  --ink:#12243d;
  --ink-soft:#27415f;
  --muted:#6f8198;
  --canvas:#f4f7fb;
  --paper:#ffffff;
  --line:#e5ecf4;
  --line-strong:#d6e1ee;
  --navy-900:#08182f;
  --navy-800:#0d2442;
  --navy-700:#163a63;
  --blue-600:#2f80ed;
  --blue-500:#4c9cff;
  --mint-500:#2eb39a;
  --gold-500:#d8a84e;
  --danger-500:#e45d70;
  --shadow-sm:0 5px 18px rgba(18,36,61,.06);
  --shadow-md:0 14px 34px rgba(18,36,61,.10);
  --shadow-lg:0 24px 60px rgba(7,24,47,.16);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 90% 0%,rgba(76,156,255,.10),transparent 28rem),
    radial-gradient(circle at 10% 30%,rgba(46,179,154,.055),transparent 24rem),
    var(--canvas);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:14px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:rgba(76,156,255,.24);color:var(--navy-900)}
a{transition:color .2s ease,background-color .2s ease,opacity .2s ease,transform .2s ease}

/* Workspace chrome */
.topbar{
  height:78px;
  grid-template-columns:minmax(270px,320px) 1fr minmax(300px,380px);
  background:linear-gradient(110deg,rgba(8,24,47,.98),rgba(18,58,99,.96) 70%,rgba(25,82,127,.95));
  border-bottom:1px solid rgba(255,255,255,.11);
  box-shadow:0 10px 34px rgba(7,24,47,.20);
  backdrop-filter:blur(18px);
}
.topbar:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(216,168,78,.75),transparent);opacity:.7}
.brand-block{padding:0 20px;gap:12px;min-width:0}
.brand-logo{
  width:44px;height:44px;border:1px solid rgba(255,255,255,.75);
  background:linear-gradient(135deg,#58b9ff,#2766d3);
  box-shadow:0 6px 18px rgba(47,128,237,.35),inset 0 1px rgba(255,255,255,.35);
  font-size:11px;letter-spacing:.04em;
}
.brand-title{font-size:20px;letter-spacing:-.025em}
.brand-subtitle{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.68}
.menu-toggle{margin:0;flex:0 0 36px;width:36px;height:40px;border-radius:9px;font-size:18px;opacity:.85;transition:opacity .2s ease,background .2s ease}
.menu-toggle:hover{opacity:1;background:#ffffff14}
.top-tagline{font-size:13px;letter-spacing:.02em;color:rgba(255,255,255,.74)}
.user-block{gap:14px;padding-right:24px}
.user-block small{color:rgba(255,255,255,.65);font-size:10px;letter-spacing:.04em}
.avatar{width:40px;height:40px;background:linear-gradient(145deg,#fff,#dcecff);color:var(--navy-800);box-shadow:0 5px 14px rgba(0,0,0,.20);border:2px solid rgba(255,255,255,.35)}
.notification{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:rgba(255,255,255,.86);transition:background .2s ease,color .2s ease}
.notification:hover{background:rgba(255,255,255,.12);color:#fff}
.notification b{top:-3px;right:-2px;background:var(--danger-500);box-shadow:0 0 0 3px rgba(8,24,47,.85);font-size:9px}

.sidebar{
  top:78px;width:272px;padding:22px 14px 16px;
  background:linear-gradient(180deg,#0b203b 0%,#0b294a 48%,#0a1f38 100%);
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:12px 0 35px rgba(7,24,47,.10);
}
.sidebar:before{content:"";position:absolute;inset:0 0 auto;height:170px;background:radial-gradient(circle at 18% 0%,rgba(76,156,255,.20),transparent 70%);pointer-events:none}
.sidebar nav{position:relative;gap:3px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#365675 transparent;padding-right:3px;overscroll-behavior:contain}
.sidebar a{
  position:relative;gap:13px;padding:12px 14px;border-radius:12px;color:rgba(236,245,255,.72);
  font-size:13px;font-weight:600;letter-spacing:.005em;
}
.sidebar a i:first-child{width:22px;color:rgba(167,207,255,.72);font-size:16px;transition:color .2s ease,transform .2s ease}
.sidebar a:after{content:"";position:absolute;right:10px;width:5px;height:5px;border-radius:50%;background:transparent;transition:background .2s ease,box-shadow .2s ease}
.sidebar a:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(2px)}
.sidebar a:hover i:first-child{color:#a8d4ff;transform:scale(1.08)}
.sidebar a.active{
  background:linear-gradient(100deg,rgba(47,128,237,.46),rgba(76,156,255,.18));
  color:#fff;box-shadow:inset 0 0 0 1px rgba(148,205,255,.16),0 9px 20px rgba(3,14,30,.18);
}
.sidebar a.active:after{background:var(--gold-500);box-shadow:0 0 12px rgba(216,168,78,.75)}
.sidebar a.active i:first-child{color:#c7e7ff}
.sidebar .correspondence-sub{margin:2px 0 4px 35px;gap:2px;border-left:1px solid rgba(255,255,255,.12);padding-left:8px}
.sidebar .correspondence-sub a{font-size:11px;padding:8px 10px;border-radius:8px;color:rgba(236,245,255,.62)}
.sidebar .correspondence-sub a:hover,.sidebar .correspondence-sub a.active{background:rgba(255,255,255,.06);color:#fff}
.sidebar-footer{flex-shrink:0;padding-top:16px;font-size:10px;letter-spacing:.04em;color:#c1d1e3;opacity:1}
.campus-mark{display:none}

.main-content{margin-left:272px;padding:108px 28px 42px;min-width:0}
.dashboard-head,.page-head{margin-bottom:22px;gap:20px}
.dashboard-head h1,.page-head h1{font-size:30px;line-height:1.12;letter-spacing:-.04em;color:var(--navy-800)}
.dashboard-head p,.page-head p{margin-top:7px;color:var(--muted);font-size:14px;line-height:1.6}
.dashboard-head em{margin-top:10px;color:#8a9aaf;font-size:11px}
.page-head h1 span{color:#8ba0b7}

/* Cards, panels and data density */
.panel,.card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(214,225,238,.92);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
}
.panel{padding:20px}
.panel-title{gap:12px;flex-wrap:wrap}
.panel-title>span{min-width:0;flex:1}
.panel-title>span>i{flex-shrink:0}
.panel-title>a{flex-shrink:0;white-space:nowrap}
.panel-title{margin-bottom:17px;font-size:14px;letter-spacing:.005em;color:var(--navy-700)}
.panel-title span{gap:10px}
.panel-title span>i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#edf5ff;color:var(--blue-600)}
.panel-title a{font-size:11px;font-weight:700;color:var(--blue-600)}
.panel-title a:hover{color:var(--navy-800)}
.danger-title>span>i{background:#fff0f2;color:var(--danger-500)}

.metric-grid{gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
.metric-card{
  min-height:112px;padding:17px;border:1px solid var(--line);border-radius:16px;gap:13px;
  background:linear-gradient(145deg,#fff 0%,#f9fbfe 100%);box-shadow:var(--shadow-sm);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.metric-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#c9dced}
.metric-card>i{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;font-size:21px;flex:0 0 auto;background:#edf5ff;color:var(--blue-600)}
.metric-card>div{min-width:0}
.metric-card strong{font-size:25px;letter-spacing:-.04em;color:var(--navy-800);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.metric-card span,.metric-card small{margin-top:6px;text-align:left;color:#596e85;font-size:12px;line-height:1.45;font-weight:500}
.metric-card.blue,.metric-card.green,.metric-card.red,.metric-card.orange,.metric-card.purple{background:linear-gradient(145deg,#fff 10%,#f9fbfe 100%)}
.metric-card.blue>i{background:#eaf3ff;color:#3286ed}.metric-card.green>i{background:#e6f8f1;color:#219c83}.metric-card.red>i{background:#fff0f2;color:#df5b6f}.metric-card.orange>i{background:#fff5df;color:#c58a23}.metric-card.purple>i{background:#f1edff;color:#7a5bc7}

.workflow-grid{gap:12px}
.workflow-grid>div{padding:16px 10px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fbfdff,#f4f8fc);transition:transform .2s ease,box-shadow .2s ease}
.workflow-grid>div:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.workflow-grid i{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:11px;background:#eaf3ff;color:var(--blue-600);font-size:17px}
.workflow-grid strong{margin:8px 0 3px;color:var(--navy-800);font-size:19px;letter-spacing:-.03em}
.workflow-grid span{color:var(--muted);font-size:10px;font-weight:600}
.quick-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.quick{min-height:84px;border-radius:14px;padding:12px;box-shadow:0 8px 20px rgba(7,24,47,.10);transition:transform .2s ease,box-shadow .2s ease;align-items:flex-start;text-align:left}
.quick:hover{transform:translateY(-4px);box-shadow:0 16px 28px rgba(7,24,47,.16);color:#fff!important}
.quick i{font-size:19px;margin-bottom:9px}.quick strong{font-size:13px}.quick small{margin-top:3px;font-size:11px;opacity:1}
.blue-btn{background:linear-gradient(135deg,#2777e6,#49a0ff)}.green-btn{background:linear-gradient(135deg,#168c75,#39bea2)}.orange-btn{background:linear-gradient(135deg,#d88319,#f0b13e)}.purple-btn{background:linear-gradient(135deg,#6944bb,#9674ec)}

.table-responsive{border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff}
table{--bs-table-bg:transparent;margin-bottom:0!important}
.dashboard-table,.module-table{font-size:11px}
.dashboard-table thead th,.module-table th{background:#f5f8fc;color:#596e85;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;padding:12px 14px}
.dashboard-table td,.module-table td{border-color:#edf2f7;padding:13px 14px;color:#455b74;vertical-align:middle}
.dashboard-table tbody tr,.module-table tbody tr{transition:background .18s ease}
.dashboard-table tbody tr:hover,.module-table tbody tr:hover{background:#f8fbff}
.dashboard-table a,.module-table a{color:var(--navy-700);font-weight:700}.dashboard-table a:hover,.module-table a:hover{color:var(--blue-600)}
.status{display:inline-block;border:1px solid transparent;font-size:11px;font-weight:600;letter-spacing:.01em;padding:5px 10px;box-shadow:none}

/* Controls */
.btn{border-radius:10px;font-size:12px;font-weight:750;letter-spacing:.005em;padding:.58rem .9rem;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(18,36,61,.12)}
.btn:active{transform:translateY(0)}
.btn-primary{border-color:#2777e6;background:linear-gradient(135deg,#2777e6,#4b9df8)}
.btn-success{border-color:#168c75;background:linear-gradient(135deg,#168c75,#39bea2)}
.btn-warning{border-color:#d28b1d;background:linear-gradient(135deg,#d28b1d,#efb33c);color:#fff}
.btn-danger{border-color:#d55369;background:linear-gradient(135deg,#d55369,#ef7a8d)}
.btn-secondary{border-color:#6d7f95;background:linear-gradient(135deg,#63758c,#8495a9)}
.btn-outline-primary{border-color:#b9d4f2;color:#2777e6;background:#f8fbff}.btn-outline-primary:hover{border-color:#4b9df8;background:#edf6ff;color:#1f6ed6}
.btn-light{border-color:var(--line);background:#fff;color:var(--ink-soft)}
.form-label{margin-bottom:7px;color:#526b85;font-size:11px;font-weight:800;letter-spacing:.02em}
.form-control,.form-select,.input-group-text{min-height:42px;border-color:var(--line-strong);border-radius:10px;color:var(--ink);background:#fbfdff;font-size:13px;box-shadow:none}
.form-control,.form-select{padding:.6rem .8rem}
.form-control::placeholder{color:#9aaabd}
.form-control:focus,.form-select:focus{border-color:#7db8f6;background:#fff;box-shadow:0 0 0 4px rgba(76,156,255,.13)}
textarea.form-control{min-height:120px}
.input-group-text{display:flex;align-items:center;background:#f3f7fb;color:#7489a0}
.form-check-input{border-color:#c4d3e2}.form-check-input:checked{background-color:var(--blue-600);border-color:var(--blue-600)}
.dropdown-menu,.modal-content{border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg)}
.dropdown-item{border-radius:8px;margin:2px 6px;width:auto;padding:8px 10px;font-size:12px}.dropdown-item:hover{background:#eef6ff;color:var(--blue-600)}
.alert{border:1px solid transparent;border-radius:12px;padding:12px 14px;font-size:12px}.modal-header{padding:18px 20px;border-bottom:1px solid var(--line)}.modal-footer{padding:15px 20px;border-top:1px solid var(--line)}.modal-body{padding:20px}

/* Supporting modules */
.donut-wrap{padding:12px 0;flex-wrap:wrap;gap:20px}.donut-placeholder{flex:none;width:120px;height:120px;box-shadow:none;background:var(--issue-gradient,#e5ecf4)}
.donut-placeholder:after{width:92px;height:92px}
.donut-placeholder strong{position:absolute;top:35px;font-size:23px}
.donut-placeholder span{position:absolute;top:66px;font-size:10px;color:#596e85}
.legend{gap:13px;color:#5d7188}.legend b{box-shadow:0 0 0 4px rgba(18,36,61,.04)}
.empty-note{min-height:150px;color:#6b7f96;font-size:13px}
.announcement{padding:15px 8px;border-top-color:var(--line)}.announcement>i{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#fff5df;color:#c38a25;font-size:15px}.announcement p{color:#526b85;line-height:1.55}
.notify-row{padding:13px 6px;border-top-color:var(--line)}.notify-row strong{color:var(--navy-700)}
.audit-list>div,.meeting-row,.activity-row{border-bottom-color:var(--line)}
.meeting-row{padding:12px 4px}.meeting-row>div{width:50px;height:50px;border-radius:13px;background:#edf5ff;color:var(--blue-600)}
.activity-row{padding:12px 4px}.activity-row span{color:#8092a7}
.request-editor-toolbar,.auto-format-bar,.page-setup-bar{border-color:var(--line-strong);border-radius:12px;background:#f7faff;padding:10px 12px}.request-editor-toolbar{border-bottom:1px solid var(--line-strong)}
.request-editor-toolbar button{border-color:var(--line);border-radius:8px;background:#fff;color:var(--ink-soft);transition:all .2s ease}.request-editor-toolbar button:hover{border-color:#9dc7f3;background:#edf6ff;color:var(--blue-600)}
.letter-language-switch{border-color:#cfe1f4;border-radius:12px;background:linear-gradient(135deg,#f0f7ff,#f8fbff)}
.language-badge{background:#eaf3ff;color:#31689e}.language-badge.ml{background:#e8f7f2;color:#237962}
.preview-pdf-frame{border-radius:12px;background:#e9f1f8}.request-preview-modal-body{background:#e9f1f8}

/* Authentication */
.auth-body{background:radial-gradient(circle at 12% 20%,rgba(76,156,255,.34),transparent 26rem),linear-gradient(135deg,#08182f,#123e69 68%,#1b6c8a);position:relative;overflow-x:clip;overflow-y:auto}
.auth-body:before{content:"";position:absolute;width:min(560px,90vw);aspect-ratio:1;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:0;top:0;pointer-events:none}
.auth-card{position:relative;border:1px solid rgba(255,255,255,.48);border-radius:22px;padding:34px;box-shadow:0 28px 80px rgba(4,14,29,.35);backdrop-filter:blur(14px)}
.auth-brand .brand-logo{border:0;background:linear-gradient(135deg,#58b9ff,#2766d3)}.auth-brand h1{letter-spacing:-.035em}.auth-card h2{letter-spacing:-.03em}.auth-foot{color:#9aaabd}

/* Navigation, keyboard access and responsive layout */
.brand-logo{flex-shrink:0}
.brand-copy{min-width:0}
.brand-title{white-space:nowrap}
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:0 14px 16px;font-size:10px;letter-spacing:.16em;color:#98b1ca;flex-shrink:0}
.nav-close{display:none;border:0;background:transparent;color:#fff;width:40px;height:40px;border-radius:10px}
.nav-backdrop{display:none}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);z-index:1100;background:#fff;color:#0d2442;padding:12px 18px;border-radius:10px}
.skip-link:focus{transform:none}
:is(a,button,input,select,textarea):focus-visible{outline:3px solid #5199e5;outline-offset:3px}
.sidebar a:focus-visible{outline-color:#c4dfff;outline-offset:-3px}
.workspace-eyebrow{display:block;margin-bottom:9px;font-size:10px;font-weight:700;letter-spacing:.16em;color:#537492}
.dashboard-date{font-size:12px;padding:12px 16px;background:#ffffffb3;border:1px solid var(--line);border-radius:12px;flex-shrink:0}
.dashboard-date em{margin-top:4px}
.dashboard-table{font-size:12px}
.dashboard-chart{position:relative;height:220px;width:100%}
.metric-card.metric-finance strong{font-size:clamp(17px,1.35vw,22px);letter-spacing:-.04em}
.dashboard-table td,.module-table td{line-height:1.6}
.pagination{gap:4px;margin-top:18px;--bs-pagination-color:#276bb8;--bs-pagination-border-color:#dce6f0;--bs-pagination-active-bg:#2777e6;--bs-pagination-active-border-color:#2777e6}
.page-link{border-radius:8px;font-size:12px;padding:8px 13px}
.finance-summary>div{gap:12px;flex-wrap:wrap}
.nav-collapsed .sidebar{width:78px;padding-left:10px;padding-right:10px}
.nav-collapsed .sidebar-heading,.nav-collapsed .sidebar-footer,.nav-collapsed .correspondence-sub{display:none}
.nav-collapsed .sidebar a{justify-content:center;font-size:0;padding:13px 8px;gap:0}
.nav-collapsed .sidebar a:after,.nav-collapsed .sidebar a i:not(:first-child){display:none}
.nav-collapsed .sidebar a i:first-child{font-size:18px}
.nav-collapsed .main-content{margin-left:78px}
.auth-brand .brand-logo{color:#fff}
.auth-foot{color:#62758a}
@media(max-width:1200px){
  .topbar{grid-template-columns:minmax(280px,1fr) auto}.top-tagline{display:none}
  .main-content{padding-left:22px;padding-right:22px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-head{flex-wrap:wrap}.dashboard-date{text-align:left!important}
}
@media(max-width:900px){
  .topbar{height:70px;grid-template-columns:minmax(0,1fr) auto}.brand-block{padding:0 14px}.brand-subtitle{display:block}
  .sidebar{top:70px;width:min(300px,88vw);padding:14px;transform:translateX(-105%);visibility:hidden;z-index:45;transition:transform .2s ease}
  .nav-open .sidebar{transform:none;visibility:visible}.nav-open{overflow:hidden}
  .sidebar .sidebar-heading{padding:0 10px 8px}.nav-close{display:block}
  .sidebar a:not(.active),.sidebar a.active{font-size:13px;justify-content:flex-start}
  .sidebar .correspondence-sub{margin:2px 0 4px 35px;padding-left:8px;border-left:1px solid #ffffff24}
  .sidebar .correspondence-sub a{font-size:12px!important;justify-content:flex-start;padding:9px 10px}
  .sidebar a i:first-child,.sidebar .correspondence-sub a i{font-size:16px!important}
  .sidebar-footer{display:block}.sidebar nav{gap:3px}
  .nav-backdrop:not([hidden]){display:block;position:fixed;inset:70px 0 0;background:#08182f80;border:0;z-index:40;backdrop-filter:blur(3px)}
  .main-content{margin-left:0;padding:96px 20px 32px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .topbar{height:64px}.sidebar{top:64px}.nav-backdrop:not([hidden]){top:64px}
  .main-content{padding:84px 16px 24px}.brand-block{padding:0 10px;gap:8px}.brand-title{font-size:16px}.brand-subtitle{font-size:8px;letter-spacing:.07em}.brand-logo{display:none}
  .menu-toggle{flex-basis:32px;width:32px}.user-block{padding-right:8px;gap:8px}.user-block>span:not(.avatar),.user-block>i{display:none}.avatar{width:32px;height:32px}.notification{width:30px}
  .logout-btn{width:32px;padding:6px;font-size:15px}.dashboard-head h1,.page-head h1{font-size:26px;line-height:1.22;overflow-wrap:anywhere}
  .dashboard-head,.page-head{gap:14px;margin-bottom:18px;align-items:stretch}.dashboard-date{font-size:11px}.dashboard-date em{display:none}
  .panel{padding:16px;border-radius:14px}.panel-title{font-size:13px;gap:8px}.panel-title span{gap:7px}
  .metric-grid{gap:10px}.metric-card{min-height:130px;padding:14px;gap:12px;flex-direction:column;align-items:flex-start}.metric-card>i{width:34px;height:34px;font-size:16px;border-radius:10px}.metric-card strong{font-size:24px}.metric-card span{font-size:11px}
  .workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-grid>div:last-child{grid-column:1/-1}.workflow-grid span{font-size:11px}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick{min-height:110px}.quick small{font-size:10px}
  .page-head .btn{width:auto}.page-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.page-head>div:last-child .btn{flex:1 1 auto}
  .report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.print-setup-fields{grid-template-columns:minmax(0,1fr)}
  .request-actions{gap:8px}.request-actions .btn{flex:1 1 100%}.table-responsive{border-radius:12px}.dashboard-table td,.module-table td{padding:11px 10px}
  .notify-row{grid-template-columns:1fr;gap:4px}.request-meta{grid-template-columns:100px minmax(0,1fr)}.request-meta dd{overflow-wrap:anywhere}
  .auth-card{padding:26px 22px}.auth-brand{gap:10px}.auth-brand h1{font-size:23px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* Solidarity ERP PWA install prompt */
.pwa-install-card[hidden],.pwa-help-modal[hidden]{display:none!important}
.pwa-install-card{
  position:fixed;right:18px;bottom:18px;z-index:1080;width:min(470px,calc(100vw - 36px));
  display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:13px 42px 13px 13px;background:#fff;border:1px solid #d7e4ef;border-radius:16px;
  box-shadow:0 18px 55px rgba(5,47,91,.22);color:#123052
}
.pwa-install-logo{width:54px;height:54px;border-radius:13px;background:#f5f9fd;border:1px solid #e1eaf2;display:grid;place-items:center;padding:5px}
.pwa-install-logo img{width:100%;height:100%;object-fit:contain}
.pwa-install-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.pwa-install-copy strong{color:#0d3971;font-size:13px}
.pwa-install-copy span{color:#667d93;font-size:10.5px;line-height:1.35}
.pwa-install-actions{display:flex;gap:7px;align-items:center}
.pwa-install-actions .btn{white-space:nowrap}
.pwa-install-close{position:absolute;right:10px;top:7px;width:26px;height:26px;border:0;background:transparent;color:#8aa0b4;font-size:21px;line-height:1;border-radius:50%}
.pwa-install-close:hover{background:#eef4f8;color:#405d76}
.pwa-help-modal{position:fixed;inset:0;z-index:1090;display:grid;place-items:center;padding:20px}
.pwa-help-backdrop{position:absolute;inset:0;border:0;background:rgba(4,28,51,.56);backdrop-filter:blur(2px)}
.pwa-help-dialog{position:relative;z-index:1;width:min(440px,100%);background:#fff;border-radius:18px;padding:25px;box-shadow:0 24px 80px rgba(0,20,40,.34);color:#123052}
.pwa-help-logo{display:block;width:70px;height:82px;object-fit:contain;margin:0 auto 8px}
.pwa-help-dialog h3{margin:0 0 16px;text-align:center;color:#0d3971;font-size:20px;font-weight:800}
.pwa-help-dialog ol{margin:0 0 16px;padding-left:22px;color:#49647c;font-size:12.5px;line-height:1.6}
.pwa-help-dialog li+li{margin-top:6px}
.pwa-help-note{margin-bottom:16px;padding:10px 12px;border-radius:10px;background:#eef6fd;color:#37617f;font-size:11px;line-height:1.45}
.pwa-help-close{position:absolute;right:12px;top:10px;width:30px;height:30px;border:0;border-radius:50%;background:#f0f4f7;color:#6c8295;font-size:21px;line-height:1}
body.pwa-help-open{overflow:hidden}
@media(max-width:700px){
  .pwa-install-card{left:10px;right:10px;bottom:10px;width:auto;grid-template-columns:46px minmax(0,1fr);padding:12px 38px 12px 12px}
  .pwa-install-logo{width:46px;height:46px}
  .pwa-install-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .pwa-install-actions .btn{width:100%}
  .pwa-help-dialog{padding:22px 18px}
}
@media(display-mode:standalone){
  .pwa-install-card{display:none!important}
}


/* Clickable dashboard summaries */
.dashboard-card-link{position:relative;text-decoration:none!important;color:inherit!important;cursor:pointer;outline:none}
.dashboard-card-link:focus-visible{box-shadow:0 0 0 3px rgba(11,99,206,.20)!important;border-color:#6fa9e7!important}
.metric-card.dashboard-card-link{padding-right:38px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.metric-card.dashboard-card-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(18,48,82,.10);border-color:#bcd2e8}
.card-open-indicator{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:10px!important;color:#7891aa!important;opacity:.7;transition:transform .16s ease,opacity .16s ease}
.metric-card.dashboard-card-link:hover .card-open-indicator{transform:translate(2px,-50%);opacity:1}
.workflow-grid>.workflow-card{background:#f7f9fb;padding:12px 8px;text-align:center;border:1px solid transparent;border-radius:8px;display:block;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.workflow-grid>.workflow-card:hover{background:#fff;transform:translateY(-2px);border-color:#d9e6f2;box-shadow:0 6px 16px rgba(18,48,82,.08)}
.workflow-grid>.workflow-card i{font-size:22px}
.workflow-grid>.workflow-card strong{display:block;font-size:17px;margin:4px 0;color:#123052}
.workflow-grid>.workflow-card span{font-size:11px;color:#526b85}
@media(max-width:600px){.metric-card.dashboard-card-link{padding-right:32px}.card-open-indicator{right:10px}}


/* Document upload and preview */
.document-upload-box{padding:16px;border:1px dashed #a9c8e5;border-radius:12px;background:#f8fbff}
.document-upload-icon{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:12px;background:#e8f3ff;color:#0b63ce;font-size:20px}
.document-file-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #dfe8f2;border-radius:12px;background:#f8fbfe}
.document-file-icon{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:12px;background:#eaf3fc;color:#0b63ce;font-size:21px}
.document-preview-frame{overflow:hidden;border:1px solid #dfe8f2;border-radius:12px;background:#f4f7fa;min-height:360px}
.document-preview-frame iframe{display:block;width:100%;height:620px;border:0;background:#fff}
.document-preview-frame img{display:block;max-width:100%;max-height:720px;margin:0 auto;object-fit:contain}
@media(max-width:700px){
  .document-file-card{align-items:flex-start;flex-wrap:wrap}
  .document-file-card>.d-flex{width:100%}
  .document-file-card>.d-flex .btn,.document-file-card>.d-flex form{flex:1}
  .document-file-card>.d-flex form .btn{width:100%}
  .document-preview-frame{min-height:260px}
  .document-preview-frame iframe{height:480px}
}


/* Public membership application */
.membership-public-body{margin:0;min-height:100vh;background:linear-gradient(145deg,#edf5fc,#f8fbfe);color:#173b5e;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.membership-public-shell{width:min(960px,calc(100% - 24px));margin:24px auto}
.membership-public-header{display:flex;align-items:center;gap:14px;padding:12px 18px;margin-bottom:16px;border-radius:18px;background:linear-gradient(110deg,#073b71,#0b62aa);color:#fff;box-shadow:0 12px 32px rgba(8,57,105,.16)}
.membership-public-header img{width:62px;height:70px;object-fit:contain;background:#fff;border-radius:14px;padding:5px}
.membership-public-header strong{display:block;font-size:18px;letter-spacing:.25px}.membership-public-header span{display:block;margin-top:3px;color:#d9ebf9;font-size:12px}
.membership-public-card,.membership-status-card{background:#fff;border:1px solid #dce7f1;border-radius:20px;box-shadow:0 16px 45px rgba(15,52,86,.10)}
.membership-public-card{padding:28px}.membership-public-intro{margin-bottom:22px}.membership-public-intro h1{margin:10px 0 6px;color:#0b3c6c;font-size:28px;font-weight:800}.membership-public-intro p{margin:0;max-width:760px;color:#6c8093;font-size:13px;line-height:1.6}
.public-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#eaf4fd;color:#0c64aa;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.membership-submit-btn{min-height:46px;padding-left:22px;padding-right:22px}.public-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.membership-public-footer{text-align:center;padding:15px;color:#73879a;font-size:11px}
.membership-status-shell{min-height:100vh;display:grid;place-items:center;padding:22px}.membership-status-card{width:min(560px,100%);padding:30px;text-align:center}.membership-status-logo{width:86px;height:100px;object-fit:contain;margin-bottom:8px}.membership-status-card h1{font-size:22px;color:#0b3c6c;margin:12px 0 3px}
.membership-status-state{display:flex;align-items:center;gap:14px;text-align:left;padding:15px;border-radius:14px;margin:18px 0;background:#f3f7fb}.membership-status-state>i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:19px}.membership-status-state strong{display:block;font-size:14px}.membership-status-state span{display:block;margin-top:3px;color:#667d93;font-size:11.5px;line-height:1.45}
.membership-status-state.pending>i{background:#fff3d7;color:#c98200}.membership-status-state.returned>i{background:#eef4ff;color:#376fc0}.membership-status-state.rejected>i{background:#fff0f2;color:#c33948}.membership-status-state.approved>i{background:#e9f8ef;color:#168752}
.membership-review-note{padding:13px;margin-bottom:16px;border:1px solid #e0e8ef;border-radius:12px;text-align:left;background:#fbfdff}.membership-review-note strong{font-size:11px;color:#365872}.membership-review-note p{margin:5px 0 0;font-size:12px;white-space:pre-line}
.approved-member-box{margin-top:16px;padding:14px;border-radius:12px;background:#eaf8f0}.approved-member-box span{display:block;color:#527663;font-size:10px}.approved-member-box strong{display:block;margin-top:3px;color:#127a49;font-size:22px}.membership-status-tip{display:flex;gap:8px;align-items:flex-start;margin-top:18px;padding-top:16px;border-top:1px solid #edf2f6;text-align:left;color:#71869a;font-size:10.5px}
.public-member-link-box{padding:13px 14px;border:1px solid #dce8f3;border-radius:12px;background:#f8fbfe}.public-member-link-box strong{display:block;color:#19466d;font-size:12px}.public-member-link-box small{display:block;margin-top:3px;color:#72869a;font-size:10px;line-height:1.4}
.membership-request-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.membership-request-stat{display:flex;align-items:center;gap:10px;padding:13px 15px;text-decoration:none!important;background:#fff;border:1px solid #dce7f1;border-radius:12px;color:#47627c!important}.membership-request-stat span{font-size:20px;font-weight:800;color:#0b5ea8}.membership-request-stat small{font-size:10.5px;font-weight:700}.membership-request-stat.active{border-color:#76afe0;background:#edf7ff}
.membership-request-thumb{width:38px;height:38px;border-radius:10px;object-fit:cover;border:1px solid #dbe5ee}.membership-review-head{display:flex;align-items:center;justify-content:space-between}.membership-review-photo{width:112px;height:132px;border-radius:14px;object-fit:cover;border:1px solid #d6e1eb;background:#f0f4f8}.membership-review-photo.empty{display:grid;place-items:center;color:#93a5b6;font-size:32px}.membership-review-head h2{margin:0 0 4px;color:#123f69;font-size:22px}.membership-decision-panel hr{border-color:#e6edf3}.membership-decision-summary{padding:12px;border-radius:12px;background:#f7fafc}.membership-decision-summary>strong{font-size:15px;color:#173f63}.membership-decision-summary p{margin:7px 0;font-size:12px;white-space:pre-line}.membership-decision-summary small{display:block;color:#76899b;font-size:10px}
.status.membership-pending{background:#fff4dc;color:#a86c00}.status.membership-returned{background:#eaf2ff;color:#386cb5}.status.membership-approved{background:#e8f7ee;color:#14844f}.status.membership-rejected{background:#fff0f2;color:#bf3442}
@media(max-width:700px){.membership-public-shell{width:min(100% - 16px,960px);margin:8px auto}.membership-public-header{border-radius:14px;padding:10px 12px}.membership-public-header img{width:48px;height:54px}.membership-public-header strong{font-size:13px}.membership-public-card{padding:18px;border-radius:15px}.membership-public-intro h1{font-size:23px}.membership-request-stats{grid-template-columns:1fr 1fr}.membership-review-photo{width:82px;height:98px}}


/* Member detail and office bearer additions */
.member-extra-form{padding:16px;border:1px solid #dce8f3;border-radius:14px;background:#fbfdff}
.qualification-entry-box{padding:14px;border:1px solid #dce8f3;border-radius:12px;background:#f8fbfe}
.member-mini-avatar{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:10px;background:#eaf3fc;color:#0b63ce}
@media(max-width:700px){.qualification-entry-box .qualification-row>div{width:100%}.qualification-entry-box .qualification-row .d-grid{width:auto}}




/* About This Software */
.about-software-hero{display:flex;align-items:center;gap:26px;padding:28px 30px;border:1px solid #dce7f1;border-radius:20px;background:linear-gradient(120deg,#0b2441,#114d80 68%,#1d6ba7);color:#fff;box-shadow:0 18px 44px rgba(8,35,66,.14);overflow:hidden;position:relative}
.about-software-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-90px;top:-140px;background:rgba(255,255,255,.07)}
.about-software-emblem{width:110px;height:122px;flex:none;display:grid;place-items:center;border-radius:18px;background:#fff;padding:9px;box-shadow:0 12px 28px rgba(0,0,0,.16);z-index:1}
.about-software-emblem img{width:100%;height:100%;object-fit:contain}
.about-software-copy{position:relative;z-index:1}.about-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;color:#b9d8f4}.about-software-copy h2{margin:5px 0 8px;font-size:34px;font-weight:900;letter-spacing:-.035em}.about-software-copy .lead{max-width:820px;margin:0;color:#e5f0fa;font-size:13px;line-height:1.65}
.about-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.about-badges span{padding:5px 9px;border:1px solid rgba(255,255,255,.20);border-radius:999px;background:rgba(255,255,255,.08);font-size:9px;font-weight:700;letter-spacing:.04em}
.about-panel p{color:#60758a;font-size:12px;line-height:1.65}.about-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.about-feature-grid>div{min-height:118px;padding:14px;border:1px solid #e1eaf2;border-radius:13px;background:#f9fbfd}.about-feature-grid i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e8f3fd;color:#176ab0;margin-bottom:9px}.about-feature-grid strong{display:block;color:#173f66;font-size:12px}.about-feature-grid span{display:block;margin-top:4px;color:#718499;font-size:10.5px;line-height:1.45}
.about-credit-card{display:flex;align-items:center;gap:16px;padding:18px;border-radius:16px;background:linear-gradient(145deg,#eef6fd,#f9fcff);border:1px solid #dbe8f4}.about-credit-mark{width:66px;height:66px;flex:none;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#dcb75e,#a97b22);color:#102c49;font-weight:900;font-size:18px;letter-spacing:.05em;box-shadow:0 8px 20px rgba(101,75,24,.16)}.about-credit-card small{display:block;color:#8395a8;font-size:8px;font-weight:800;letter-spacing:.12em}.about-credit-card h3{margin:4px 0 1px;color:#123f69;font-size:22px;font-weight:900}.about-credit-card p{margin:0;color:#4f6b83;font-size:11px}.about-credit-card strong{display:inline-block;margin-top:3px;color:#a77822;font-size:12px}
.about-credit-note{margin:14px 0 16px!important}.about-principles{display:flex;flex-direction:column;gap:9px}.about-principles>div{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #e6edf4;border-radius:11px;background:#fff}.about-principles i{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:9px;background:#edf5fc;color:#176ab0}.about-principles span{display:flex;flex-direction:column}.about-principles strong{font-size:11px;color:#244a6c}.about-principles small{margin-top:2px;color:#7d8fa1;font-size:9.5px}
@media(max-width:700px){.about-software-hero{align-items:flex-start;gap:15px;padding:20px}.about-software-emblem{width:76px;height:86px;border-radius:14px}.about-software-copy h2{font-size:27px}.about-feature-grid{grid-template-columns:1fr}.about-credit-card{align-items:flex-start}}


/* Office bearer member and committee preview */
.office-member-preview{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;padding:18px;border:1px solid #dbe7f2;border-radius:16px;background:linear-gradient(145deg,#f8fbff,#fff);box-shadow:0 8px 22px rgba(17,65,107,.06)}
.office-member-preview-photo-wrap{width:118px}.office-member-preview-photo{width:118px;height:138px;display:block;object-fit:cover;border-radius:14px;border:1px solid #d8e3ed;background:#eef4f8}.office-member-preview-photo-fallback{display:grid;place-items:center;color:#93a6b7;font-size:34px}
.office-member-preview-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.office-member-preview-title small{font-size:8px;font-weight:800;letter-spacing:.12em;color:#8396a8}.office-member-preview-title h3{margin:2px 0 3px;color:#103d67;font-size:20px;font-weight:900}.office-member-preview-title span{color:#627991;font-size:11px}.office-member-blood{padding:5px 9px;border-radius:999px;background:#fff0f2;color:#b92d42!important;font-weight:800!important;font-size:10px!important}
.office-member-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.office-member-preview-grid>div{padding:10px;border:1px solid #e4ecf3;border-radius:10px;background:#fff}.office-member-preview-grid small{display:block;color:#8596a7;font-size:8px}.office-member-preview-grid strong{display:block;margin-top:3px;color:#284c6d;font-size:11px;overflow-wrap:anywhere}
.office-member-qualification-wrap{margin-top:14px}.office-member-section-label{display:block;margin-bottom:7px;color:#3e6280;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.office-member-qualification-list{display:flex;flex-direction:column;gap:6px}.office-member-qualification{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:9px;background:#f1f7fc}.office-member-qualification span{display:flex;flex-direction:column}.office-member-qualification strong{font-size:10.5px;color:#234866}.office-member-qualification small{font-size:9px;color:#768a9d}.office-member-qualification b{font-size:9px;color:#5f7690}
.committee-preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.committee-preview-filter{display:flex;gap:7px;flex-wrap:wrap}.committee-preview-sheet{background:#fff;border:1px solid #dce6ef;border-radius:18px;padding:26px;box-shadow:0 15px 36px rgba(14,51,83,.08)}.committee-preview-header{text-align:center;padding-bottom:18px;border-bottom:1px solid #e7edf3}.committee-preview-header img{width:82px;height:94px;object-fit:contain}.committee-preview-header h2{margin:8px 0 2px;color:#0e3f6e;font-size:24px;font-weight:900}.committee-preview-header h3{margin:0;color:#244d72;font-size:14px;font-weight:800}.committee-preview-header p{margin:4px 0 0;color:#7c8ea0;font-size:10px}
.committee-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.committee-member-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px;border:1px solid #e0e8ef;border-radius:14px;background:#fbfdff;break-inside:avoid}.committee-member-photo{width:76px;height:92px;object-fit:cover;border-radius:11px;border:1px solid #dbe5ed;background:#eef3f7}.committee-member-photo.fallback{display:grid;place-items:center;color:#98a8b7;font-size:26px}.committee-member-role{display:inline-block;margin-bottom:4px;color:#0b66ae;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.committee-member-card h4{margin:0;color:#163f62;font-size:13px;font-weight:900}.committee-member-card .committee-designation{display:block;margin-top:2px;color:#647a8e;font-size:9px}.committee-contact{display:grid;gap:3px;margin-top:8px;color:#506b83;font-size:9px}.committee-contact span{overflow-wrap:anywhere}.committee-contact i{width:12px;color:#4d8fc8}.committee-qualification-summary{margin-top:8px;padding-top:7px;border-top:1px dashed #dbe4ec}.committee-qualification-summary strong{display:block;color:#4c647a;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.committee-qualification-summary span{display:block;margin-top:2px;color:#6f8192;font-size:8.5px;line-height:1.35}
@media(max-width:1100px){.committee-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.office-member-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.office-member-preview{grid-template-columns:1fr}.office-member-preview-photo-wrap{width:100%}.office-member-preview-photo{width:96px;height:114px}.office-member-preview-grid{grid-template-columns:1fr 1fr}.committee-preview-sheet{padding:16px}.committee-card-grid{grid-template-columns:1fr}}
@media print{
  .topbar,.sidebar,.nav-backdrop,.committee-preview-toolbar,.pwa-install-card{display:none!important}
  .main-content{margin:0!important;padding:0!important}
  body{background:#fff!important}
  .committee-preview-sheet{border:0!important;box-shadow:none!important;border-radius:0!important;padding:10mm!important}
  .committee-card-grid{grid-template-columns:repeat(2,1fr)!important;gap:8mm!important}
  .committee-member-card{box-shadow:none!important}
  @page{size:A4 portrait;margin:8mm}
}


/* Member public payment portal */
.auth-public-actions{margin-top:4px;padding-top:4px;border-top:1px solid #e4ecf3}
.member-pay-card{max-width:610px}
.member-pay-security{display:flex;gap:9px;align-items:flex-start;margin-top:18px;padding:12px;border-radius:12px;background:#f4f8fc;color:#637b91;text-align:left;font-size:11px;line-height:1.45}
.member-dues-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.member-due-card{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid #dce7f1;border-radius:15px;background:#fbfdff}
.member-due-card h2{margin:8px 0 2px;color:#123f69;font-size:17px}.member-due-card small{color:#73879a}.member-due-amount{display:flex;align-items:flex-end;justify-content:space-between;padding:12px;border-radius:11px;background:#eef6fd}.member-due-amount span{font-size:11px;color:#698197}.member-due-amount strong{font-size:21px;color:#0b5ea8}
.member-pay-instructions{margin:18px 0;padding:16px;border:1px solid #d8e6f2;border-radius:14px;background:#f8fbfe}.member-pay-instructions h2{font-size:16px;color:#15466f;margin-bottom:12px}
.payment-copy-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #e6edf4}.payment-copy-row:last-of-type{border-bottom:0}.payment-copy-row span{font-size:10.5px;color:#73879a}.payment-copy-row strong{font-size:12px;overflow-wrap:anywhere}
@media(max-width:700px){.member-dues-grid{grid-template-columns:1fr}.payment-copy-row{grid-template-columns:1fr auto}.payment-copy-row span{grid-column:1/-1}}


/* Back navigation for public ERP entry pages */
.public-back-wrap{width:min(1120px,calc(100% - 40px));margin:18px auto -2px;display:flex;justify-content:flex-start}
.public-back-btn{background:rgba(255,255,255,.92);border-color:#cbd9e7;color:#214c73;box-shadow:0 6px 18px rgba(18,36,61,.07)}
.public-back-btn:hover{background:#fff;color:#123e69}
@media(max-width:640px){.public-back-wrap{width:calc(100% - 24px);margin-top:12px}.public-back-btn{width:100%}}
