/* One shared shell for lawyer and backoffice pages. */
@media screen {
 .app-body { --lm-sidebar-width:228px; --lm-navbar-height:60px; }
 .app-navbar > .app-brand { gap:10px; background:#102f2b; }
 .app-navbar > .app-brand strong { font-family:Georgia,'Noto Sans Bengali',serif; font-size:1.35rem; letter-spacing:0; }
 .ak-brand-copy { display:flex; flex-direction:column; }.ak-brand-copy small { font-size:.7rem;color:#e8ebdf; }
 .app-sidebar { background:linear-gradient(110deg,#173b35,#0b2723); display:flex;flex-direction:column; }
 .app-sidebar-nav { flex:none;padding:10px 8px;gap:3px; }.app-nav-link { font-size:.875rem;padding:8px 12px; }.app-nav-link i { font-size:18px; }.app-nav-link.active { background:linear-gradient(110deg,#ead1ae,#e1c6a6); box-shadow:inset 0 0 0 1px #f6e6cc; }
 .ak-sidebar-signature { margin-top:auto;padding:12px 14px;color:#e9e9d9; }.ak-sidebar-signature p { border-left:2px solid #c4a568;padding-left:12px;margin:10px 0 0;line-height:1.5;font-size:.85rem; }
 /* Lightweight book spines; no heavy decorative photo download. */
 .ak-book-stack { display:grid;gap:4px;transform:rotate(-5deg);margin:12px 8px; }.ak-book-stack span { display:block;padding:6px 12px;border:1px solid #98754b;border-radius:5px 10px 10px 5px;box-shadow:2px 3px 0 #071d18;color:#d7b078;background:#24332b;font-size:.88rem; }.ak-book-stack span:nth-child(even) { background:#51372c; }.ak-book-stack span:nth-child(2) { margin-left:8px; }
 .ak-global-search { display:flex;align-items:center;gap:10px;max-width:550px;flex:1;margin:0 20px;background:#f1f1ee;border:1px solid #dfdfd7;border-radius:7px;padding-left:13px;color:#71786e; }.ak-global-search input { width:100%;border:0;background:none;outline:none;font-size:.83rem;min-height:40px; }.ak-global-search:focus-within { outline:2px solid #397865;outline-offset:2px; }.ak-global-search .btn { color:#345b4b; }
 .app-main { padding:20px; }.app-page-header h1 { font-weight:700; }.app-footer { background:#f5f3ec;border-top:1px solid #e2dfd4;font-size:.73rem; }
 .ak-diary-layout { display:grid;gap:16px; }.ak-diary-layout > * { min-width:0; }.ak-diary-aside { display:flex;flex-direction:column;gap:15px; }.ak-diary-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.ak-date-links { display:flex;flex-wrap:wrap;gap:5px; }.ak-diary .table-responsive { border:2px solid #dcbbaa; border-radius:8px;padding:2px; }.ak-diary .table th { background:#faf0e7;color:#285775; }.ak-diary .table td { border-right:1px solid #eaded5; }.ak-diary .app-panel { padding:14px; }.ak-diary-aside .ak-agenda { max-height:560px; }.ak-diary-tools { display:flex;gap:10px;flex-wrap:wrap;padding:16px; }.ak-diary-tools p { font-size:.85rem;color:#657469;margin-top:8px; }
 @media(min-width:1200px) { .ak-diary-layout { grid-template-columns:minmax(0,1fr) 290px; }.ak-diary-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); } }
 @media(max-width:991.98px) { .ak-global-search { display:none; }.app-main { padding:14px 10px; }.app-navbar > .app-brand strong { font-size:1.15rem; }.ak-brand-copy small { font-size:.6rem; }.ak-book-stack { display:none; } }
}

/* Keep the diary readable while smaller screens scroll the register. */
.ak-diary .cause-list-table { min-width: 1050px; table-layout: auto; }
.ak-diary .cause-list-table th, .ak-diary .cause-list-table td { padding: 10px 12px; }
.ak-diary .cause-list-table td:nth-child(4) { min-width: 220px; max-width: 260px; }
.ak-diary .cause-list-table td:nth-child(2) { white-space: nowrap; }
/* Register screens share the same paper panels and quiet controls. */
.ak-grid-toolbar { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px 16px; margin-bottom:8px; }
.ak-grid-toolbar > .dt-length { grid-column:1; display:flex; align-items:center; gap:5px; white-space:nowrap; font-size:.8rem; }
.ak-grid-toolbar label { margin:0; }
.ak-grid-toolbar > .dt-search { grid-column:2; justify-self:end; font-size:.8rem; }
.ak-grid-toolbar .dt-search input { width:180px; max-width:100%; }
.ak-grid-exports { grid-column:3; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.ak-grid-exports .btn { white-space:nowrap; }
.ak-grid-export-status:not(.visually-hidden) { flex-basis:100%; max-width:300px; text-align:right; font-size:.72rem; color:#61716a; }
@media(max-width:767px) {
 .ak-grid-toolbar { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
 .ak-grid-toolbar > .dt-length { font-size:.72rem; gap:3px; }
 .ak-grid-toolbar > .dt-search { grid-row:2; grid-column:1/-1; justify-self:stretch; }
 .ak-grid-toolbar .dt-search input { width:auto; }
 .ak-grid-toolbar .ak-grid-exports { grid-row:1; grid-column:2; flex-wrap:nowrap; position:relative; }
 .ak-grid-exports .btn { font-size:.72rem; padding:7px 8px; }
 .ak-grid-export-status:not(.visually-hidden) { position:absolute; top:100%; right:0; z-index:2; background:#fffefa; padding:5px; box-shadow:0 2px 6px #17372f18; min-width:220px; }
}
.ak-diary-filters { margin-bottom:14px; }
.ak-filter-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px; }
.ak-filter-grid label>span { display:block;font-size:.8rem;margin-bottom:5px; }
.ak-filter-grid .ak-date-links { grid-column:1/-1;align-items:center; }
.ak-week-toggle { display:flex;align-items:center;gap:7px;padding:8px; }.ak-week-toggle span { margin:0!important; }
.ak-diary-register header>span { font-size:.75rem; }
.ak-daily-register { min-width:1050px;font-size:.78rem; }
.ak-daily-register th { white-space:nowrap; }.ak-daily-register td { padding:10px 8px;max-width:180px;vertical-align:top!important; }
.ak-daily-register td:nth-child(3) { min-width:145px; }.ak-daily-register td:nth-child(7) { min-width:125px; }
.ak-daily-register small,.ak-daily-register strong,.ak-task-row span>span,.ak-task-row small,.ak-dashboard-shortcuts small { display:block; }
.ak-daily-register small,.ak-task-row small { color:#6d756c;margin-top:4px; }.ak-daily-register a { text-decoration:none;font-weight:600; }
.ak-register-pagination { display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px; }
.ak-diary-note { font-size:.75rem;color:#667568;padding:0 10px; }
.ak-monthly-chart { height:180px;display:flex;gap:16px;padding:18px 22px 0;align-items:flex-end; }
.ak-month { flex:1;min-width:0;text-align:center; }.ak-month-bars { height:130px;display:flex;gap:5px;align-items:flex-end;border-bottom:1px solid #cbd5ca;background:repeating-linear-gradient(to top,transparent 0,transparent 31px,#edf0e8 32px); }
.ak-month-bars span { display:block;flex:1;height:0; }.ak-month-bars .fees { background:#e5aaa0; }.ak-month-bars .received { background:#2c8c72; }
.ak-month small { font-size:.7rem; }.ak-chart-key { display:flex;gap:15px;justify-content:center;padding:12px;font-size:.75rem; }.ak-chart-key span:before { content:'';display:inline-block;width:10px;height:10px;margin-right:5px;background:#e5aaa0; }.ak-chart-key .received:before { background:#2c8c72; }.ak-chart-data { padding:0 15px 12px;font-size:.75rem; }.ak-chart-data summary { cursor:pointer; }
@media(min-width:1400px) { .ak-filter-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.ak-diary-layout { grid-template-columns:minmax(0,1fr) 270px; } }
@media(max-width:575px) { .ak-filter-grid { grid-template-columns:1fr; }.ak-diary .ak-dashboard-heading>a { margin-left:0!important; }.ak-monthly-chart { gap:9px;padding:15px 12px 0; }.ak-diary .ak-kpi { min-height:100px; } }

/* Fit the dashboard overview without tall register rows. */
.ak-dashboard .ak-register .table td { padding:8px; }
.ak-dashboard .ak-register .table td:nth-child(2) { white-space:nowrap; }
.ak-dashboard .ak-task-row { padding:8px 14px; }
.ak-dashboard .ak-task-row:nth-of-type(n+5) { display:none; }
.ak-dashboard .ak-agenda-entry { padding:6px 10px;line-height:1.45; }
.ak-dashboard .ak-agenda { max-height:270px; }


/* Shared desktop density; touch layouts retain their 44px controls. */
@media screen and (min-width:992px) {
 .app-body .app-nav-link { min-height:38px; }
 .app-body .app-main { padding:14px 16px; }
 .app-body .app-main form .row { --bs-gutter-x:12px; --bs-gutter-y:10px; }
 .app-body .app-main form .form-label { margin-bottom:3px; font-size:.8rem; }
 .app-body .app-main form .form-control,
 .app-body .app-main form .form-select { min-height:34px; padding-top:5px; padding-bottom:5px; font-size:.875rem; }
 .app-body .app-main form textarea.form-control { min-height:76px; }
 .app-body .app-main form .select2-selection--single { height:34px; min-height:34px; }
 .app-body .app-main form .select2-selection--single .select2-selection__rendered { line-height:32px; }
 .app-body .app-main form .select2-selection--single .select2-selection__arrow { height:32px; }
 .app-body .app-main .form-section { padding:12px; margin-bottom:10px; }
 .app-body .app-main .form-section h2 { font-size:1rem; padding-bottom:7px; margin-bottom:10px; }
 .app-body .app-main .form-actions { padding:10px; gap:8px; }
 .app-body .ak-report-settings { padding:14px; top:74px; }
 .app-body .ak-report-settings label { margin:10px 0 4px; }
 .app-body .ak-client-form-layout,.app-body .ak-case-form-layout,.app-body .ak-billing-form-layout { gap:12px; }
}
@media screen and (max-height:800px) and (min-width:992px) {
 .ak-book-stack { display:none; }
}

/* Drafts share the register shell and compact form rhythm. */
.ak-drafts .form-panel { max-width:960px; margin-inline:auto; }
.ak-drafts .panel-heading { align-items:center; gap:12px; flex-wrap:wrap; }
.ak-drafts .panel-heading>div { flex-wrap:wrap; }
.ak-drafts .panel-toolbar { padding-block:10px; margin-bottom:8px; }
.ak-drafts .table { font-size:.84rem; }
.ak-drafts .table th,.ak-drafts .table td { padding:9px 10px; }
.ak-draft-links { display:flex;gap:16px;flex-wrap:wrap;margin:0 0 12px;font-size:.85rem; }
.ak-drafts .form-actions { justify-content:flex-end; }
@media(max-width:767px) { .ak-drafts .panel-heading .btn { min-height:44px; } }

/* Keep screen titles compact without changing report/receipt print typography. */
.app-screen-help { display:flex;justify-content:flex-end;margin-bottom:8px;font-size:.8rem; }
.app-screen-help a { color:#285b4d;text-underline-offset:3px; }
@media(max-width:767px) { .app-screen-help a { display:inline-flex;align-items:center;gap:6px;min-height:44px; } }
@media print { .app-screen-help { display:none; } }
@media screen {
 .app-main .ak-dashboard-heading h1,
 .app-main .hearing-workspace h1 { font-size:clamp(1.3rem,2vw,1.65rem); line-height:1.35; }
 .app-main .app-page-header h1,
 .app-main > header h1 { font-size:1.2rem; line-height:1.4; }
}
