.server-alert{margin:18px 24px 0;padding:12px 16px;border-radius:10px;background:#eaf8ef;color:#176b39;font-weight:600}.server-alert.error{background:#fff0f0;color:#9a2424}.logout-icon{font-size:20px;text-decoration:none;color:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;background:#f5f7fb;padding:24px}.login-card{width:min(430px,100%);background:#fff;border:1px solid #e5e9f0;border-radius:18px;padding:32px;box-shadow:0 18px 60px rgba(30,44,75,.08)}.login-card h1{margin:18px 0 6px}.login-card label{display:block;margin:16px 0;font-weight:600}.login-card input{width:100%;margin-top:7px}.error-box{background:#fff0f0;color:#9a2424;padding:12px;border-radius:10px}.setup-note{font-size:13px;color:#667085;margin-top:16px}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.data-block{border:1px solid #e8ebf0;border-radius:12px;padding:16px}.data-block h3{margin:0 0 12px}.data-row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:7px 0;border-bottom:1px solid #f0f1f4}.data-row:last-child{border-bottom:0}.data-row span:first-child{color:#667085}.action-row{display:flex;gap:10px;flex-wrap:wrap}.status-pill{text-transform:capitalize}.pagination{display:flex;gap:8px;justify-content:flex-end;padding-top:16px}.pagination a,.pagination span{padding:7px 11px;border:1px solid #e2e6ec;border-radius:8px;text-decoration:none}.pagination .current{background:#152a4a;color:#fff}.inline-errors{background:#fff0f0;color:#922;padding:12px 16px;border-radius:10px;margin-bottom:16px}.inline-errors ul{margin:0;padding-left:20px}.customer-table td{vertical-align:middle}.muted{color:#667085}.activity-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.activity-form .span-2{grid-column:span 2}.activity-list{display:grid;gap:10px}.activity-item{border-left:3px solid #d8dee8;padding:10px 14px;background:#fafbfc;border-radius:0 10px 10px 0}.activity-item strong{display:block}.activity-item small{color:#667085}@media(max-width:800px){.data-grid{grid-template-columns:1fr}.data-row{grid-template-columns:1fr;gap:2px}.activity-form{grid-template-columns:1fr}.activity-form .span-2{grid-column:auto}}


/* Aflok SaaS UX: interactive data rows */
.customer-table tbody tr.clickable-row{
  cursor:pointer;
  transition:background-color .16s ease,box-shadow .16s ease,transform .12s ease;
  outline:none;
}
.customer-table tbody tr.clickable-row:hover{
  background:#f0f8f4;
  box-shadow:inset 4px 0 0 #0f7255;
}
.customer-table tbody tr.clickable-row:focus-visible{
  background:#edf7f2;
  box-shadow:inset 4px 0 0 #0f7255,0 0 0 3px rgba(15,114,85,.16);
}
.customer-table tbody tr.clickable-row:active,
.customer-table tbody tr.clickable-row.is-opening{
  background:#e2f2ea;
  transform:translateY(1px);
}
.customer-table tbody tr.clickable-row td:first-child strong{
  color:#14251f;
}
.customer-table tbody tr.clickable-row:hover td:first-child strong{
  color:#0f7255;
}
.customer-table td small{
  display:block;
  margin-top:4px;
  color:#74817b;
  line-height:1.25;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#edf1ef;
  color:#53635c;
  font-size:12px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.status-pill:before{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
  opacity:.8;
}
.status-active,.status-approved,.status-completed{background:#e3f4eb;color:#176b4e}
.status-pending-approval,.status-draft{background:#fff2d7;color:#946710}
.status-defaulted,.status-overdue,.status-rejected,.status-written-off{background:#fde7e1;color:#a5452c}
.status-cancelled,.status-inactive{background:#ecefed;color:#65716b}
@media(max-width:800px){
  .customer-table tbody tr.clickable-row:hover{box-shadow:inset 3px 0 0 #0f7255}
}
.payment-summary-detail{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:8px;color:#667085;font-size:12px}.payment-summary-detail span{white-space:nowrap}.queue-panel{border-top:4px solid #c78b13}.filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.receipt-sheet{max-width:760px;margin:0 auto}.receipt-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px solid #172b4d;padding-bottom:18px;margin-bottom:18px}.receipt-title{text-align:right}.receipt-title h2{margin:0}.receipt-actions{display:flex;justify-content:flex-end;margin-bottom:18px}@media print{.sidebar,.topbar,.receipt-actions,.server-alert{display:none!important}.app-shell,.main-content{display:block!important}.main-content{padding:0!important}.receipt-sheet{border:0!important;box-shadow:none!important;max-width:none!important}.receipt-sheet .panel{border:0!important}}
.collection-search{display:flex;gap:10px}.collection-search input{flex:1;min-width:220px}.collection-search-message{margin-top:14px;margin-bottom:0}.checkbox-filter{display:flex!important;align-items:center;gap:7px;white-space:nowrap}.checkbox-filter input{width:auto}.void-receipt-banner{margin:0 0 18px;padding:16px;border:2px solid #b42318;border-radius:12px;background:#fee4e2;color:#912018;text-align:center;font-size:18px;font-weight:900;letter-spacing:.04em}.void-receipt-banner small{display:block;margin-top:5px;font-size:13px;letter-spacing:0}.receipt-void{opacity:.72}.receipt-void:before{content:'VOID';position:absolute;color:rgba(180,35,24,.12);font-size:100px;font-weight:900;transform:rotate(-25deg);left:30%;top:42%;pointer-events:none}.receipt-sheet{position:relative}@media(max-width:700px){.collection-search{flex-direction:column}.collection-search .btn{width:100%}}@media print{.void-receipt-banner{display:block!important}.receipt-void{opacity:1}.collection-search-message{display:none!important}}
.investor-list-panel{margin-top:26px}.investor-toolbar{grid-template-columns:minmax(280px,1fr) auto auto}.investor-metrics{margin-top:26px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid #e6ece8}.panel-header h2{margin:0}.panel-header p{margin:5px 0 0;color:#667085;font-size:13px}.investor-payout-form{margin-top:18px}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:700px){.investor-toolbar{grid-template-columns:1fr}.investor-toolbar .search-box{grid-column:auto}}
.status-pending{background:#fff2d7;color:#946710}.withdrawal-queue{margin-bottom:20px}.withdrawal-review{display:grid;grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(120px,1fr)) auto;gap:12px;align-items:end;padding:18px 22px;border-top:1px solid #e6ece8}.withdrawal-review>div:first-child strong,.withdrawal-review>div:first-child span{display:block}.withdrawal-review>div:first-child span{color:#667085;margin-top:5px}.withdrawal-review label{font-size:12px;font-weight:700}.withdrawal-review input,.withdrawal-review select{width:100%;margin-top:5px}.account-heading{margin-top:12px;border-top:1px solid #e6ece8;padding-top:20px}.investor-portal-body{background:#f4f7f5;min-height:100vh}.investor-portal-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding-bottom:48px}.investor-portal-shell.narrow{width:min(760px,calc(100% - 32px))}.investor-portal-header{display:flex;justify-content:space-between;align-items:center;padding:22px 0}.investor-portal-header strong,.investor-portal-header span{display:block}.investor-portal-header span{font-size:12px;color:#667085}.portal-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#142f27;color:#fff;border-radius:18px;padding:30px;margin-bottom:20px}.portal-hero h1{font-size:38px;margin:4px 0}.portal-hero p{margin:0;color:#d7e7e1}.investor-portal-shell .panel{margin-top:20px}@media(max-width:1100px){.withdrawal-review{grid-template-columns:1fr 1fr}.withdrawal-review>div:first-child,.withdrawal-review .action-row{grid-column:span 2}}@media(max-width:700px){.portal-hero{align-items:flex-start;flex-direction:column}.withdrawal-review{grid-template-columns:1fr}.withdrawal-review>div:first-child,.withdrawal-review .action-row{grid-column:auto}.investor-portal-header{font-size:13px}}
.report-hero{margin-bottom:20px;padding:26px 28px;background:#142f27;color:#fff}.report-hero span,.report-hero strong,.report-hero small{display:block}.report-hero strong{margin:7px 0;font-size:36px}.report-hero small{color:#d7e7e1}.report-buckets{margin-bottom:26px}.report-date-filter{grid-template-columns:repeat(2,minmax(170px,240px)) auto}.report-financials{padding:0 22px 22px;grid-template-columns:repeat(5,minmax(0,1fr))}.report-composition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}.status-breakdown{padding:8px 22px 18px}.status-breakdown>div{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0ee}.status-breakdown>div:last-child{border-bottom:0}.status-breakdown strong{font-size:22px}@media(max-width:1100px){.report-financials{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.report-date-filter{grid-template-columns:1fr}.report-financials,.report-composition{grid-template-columns:1fr}.report-hero strong{font-size:30px}}
.settings-panel{margin-top:26px}.password-reset-panel{margin-top:20px}.password-reset-panel .panel-head{padding:0;border:0}.status-locked{background:#fde7e1;color:#a5452c}@media(max-width:700px){.topbar-actions{flex-wrap:wrap;justify-content:flex-end}}

/* Aflok Customer Portal V1 */
.customer-auth-body,.customer-portal-body{background:#f3f7f5;min-height:100vh;color:#14251f}.customer-auth-body{display:grid;place-items:center;padding:22px}.customer-auth-card{width:min(430px,100%);background:#fff;border:1px solid #dfe8e3;border-radius:22px;padding:32px;box-shadow:0 22px 70px rgba(20,47,39,.10)}.customer-auth-card h1{margin:8px 0}.customer-auth-card p{color:#66756e}.customer-auth-card label{display:block;margin:16px 0;font-weight:700}.customer-auth-card input{width:100%;margin-top:7px}.customer-auth-links{display:flex;justify-content:space-between;gap:15px;margin-top:18px;font-size:13px}.customer-auth-links a{color:#0f7255}.btn-full{width:100%;justify-content:center}.customer-portal-app{width:min(1040px,calc(100% - 28px));margin:0 auto;min-height:100vh}.customer-portal-topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.customer-portal-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.customer-portal-brand span:last-child{display:flex;flex-direction:column}.customer-portal-brand small{color:#718078}.customer-portal-user{display:flex;align-items:center;gap:13px;font-size:13px}.customer-portal-user a{color:#0f7255}.customer-portal-nav{display:flex;gap:6px;background:#fff;border:1px solid #dfe8e3;border-radius:14px;padding:6px;overflow:auto;position:sticky;top:8px;z-index:10;box-shadow:0 8px 25px rgba(20,47,39,.05)}.customer-portal-nav a{color:#607069;text-decoration:none;padding:10px 15px;border-radius:10px;font-weight:800;white-space:nowrap}.customer-portal-nav a.active{background:#e5f3ec;color:#0f7255}.customer-portal-main{padding:25px 0 40px}.customer-welcome p,.customer-welcome h1{margin:0}.customer-welcome p{color:#718078}.customer-welcome span{font-size:12px;color:#718078}.customer-balance-card{margin-top:20px;background:linear-gradient(135deg,#143d31,#0d7254);color:#fff;border-radius:22px;padding:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;box-shadow:0 18px 45px rgba(15,114,85,.18)}.customer-balance-card span,.customer-balance-card strong,.customer-balance-card small{display:block}.customer-balance-card strong{font-size:38px;margin:5px 0}.customer-balance-card small{color:#d7e9e1}.btn-light{background:#fff;color:#0f7255;border:0}.customer-metric-grid,.customer-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.customer-metric-grid article,.customer-detail-grid article{background:#fff;border:1px solid #dfe8e3;border-radius:16px;padding:18px}.customer-metric-grid span,.customer-detail-grid span{color:#718078;font-size:12px}.customer-metric-grid strong,.customer-detail-grid strong{display:block;margin-top:7px;font-size:20px}.customer-metric-grid small{display:block;color:#718078;margin-top:5px}.customer-action-list{display:grid;gap:10px;margin-top:20px}.customer-action-list a,.customer-mobile-list a,.customer-mobile-list article{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid #dfe8e3;border-radius:15px;padding:17px 19px;color:inherit;text-decoration:none;transition:.15s ease}.customer-action-list a:hover,.customer-mobile-list a:hover{background:#edf7f2;border-color:#b9d8c9;transform:translateY(-1px)}.customer-action-list span,.customer-action-list small,.customer-mobile-list div,.customer-mobile-list small{display:block}.customer-action-list small,.customer-mobile-list small{color:#718078;margin-top:4px}.customer-action-list>a>strong{font-size:25px;color:#0f7255}.customer-page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.customer-page-heading h1{margin:3px 0}.customer-page-heading p{color:#718078}.customer-portal-panel,.customer-empty-card{background:#fff;border:1px solid #dfe8e3;border-radius:18px;padding:20px;margin-top:18px}.customer-panel-title h2{margin:0 0 15px}.customer-mobile-list{display:grid;gap:9px}.customer-mobile-list article>div:last-child,.customer-mobile-list a>div:last-child{text-align:right}.customer-profile-form{display:grid;gap:15px}.customer-profile-form label{font-weight:700}.customer-profile-form input,.customer-profile-form textarea{width:100%;margin-top:7px}.customer-readonly{border-top:1px solid #e5ebe8;margin-top:24px;padding-top:12px}.customer-readonly div{display:flex;justify-content:space-between;gap:20px;padding:12px 0}.customer-readonly span{color:#718078}.customer-portal-footer{text-align:center;color:#718078;font-size:12px;padding:20px}.customer-empty-card{text-align:center;padding:50px 20px}
@media(max-width:850px){.customer-metric-grid,.customer-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.customer-portal-app{width:min(100% - 20px,1040px)}.customer-portal-user span{display:none}.customer-balance-card{align-items:flex-start;flex-direction:column}.customer-balance-card strong{font-size:32px}.customer-metric-grid,.customer-detail-grid{grid-template-columns:1fr 1fr}.customer-portal-nav{justify-content:space-between}.customer-portal-nav a{padding:9px 10px;font-size:12px}.customer-page-heading{align-items:flex-start}.customer-readonly div{flex-direction:column;gap:5px}}@media(max-width:390px){.customer-metric-grid,.customer-detail-grid{grid-template-columns:1fr}}
