/* Asma shared identity. Visual overrides only; original functional selectors retained. */
:root {
 --asma-paper: oklch(0.969 0.016 83); --asma-surface: oklch(0.991 0.008 85);
 --asma-ink: oklch(0.265 0.015 74); --asma-charcoal: oklch(0.235 0.009 77);
 --asma-muted: oklch(0.51 0.02 75); --asma-line: oklch(0.79 0.082 78);
 --asma-gold-top: oklch(0.709 0.108 78); --asma-gold: oklch(0.625 0.112 76);
 --asma-gold-bottom: oklch(0.53 0.099 75); --asma-soft: oklch(0.937 0.039 84);
 --asma-white: oklch(1 0 0); --asma-black: oklch(0 0 0);
 --asma-green: oklch(0.46 0.08 128); --asma-green-top: oklch(0.53 0.085 128);
 --asma-red: oklch(0.435 0.145 26); --asma-red-top: oklch(0.51 0.16 26);
 --asma-green-soft: oklch(0.945 0.025 128); --asma-red-soft: oklch(0.944 0.035 26);
 --asma-header-text: oklch(0.94 0.028 84); --asma-header-muted: oklch(0.775 0.033 83);
 --asma-shadow: 0 12px 32px oklch(0.35 0.04 77 / .09);
 --asma-focus: 0 0 0 3px oklch(0.7 0.12 78 / .2);
 --asma-overlay: oklch(0.2 0.008 77 / .58);
 --asma-gradient: linear-gradient(180deg,var(--asma-gold-top),var(--asma-gold),var(--asma-gold-bottom));
 --primary:var(--asma-gold); --primary-dark:var(--asma-gold-bottom); --bg:var(--asma-paper);
 --card-bg:var(--asma-surface); --text:var(--asma-ink); --muted:var(--asma-muted); --border:var(--asma-line);
 --green:var(--asma-green); --green-bg:var(--asma-green-soft); --red:var(--asma-red); --red-bg:var(--asma-red-soft);
 --navy:var(--asma-charcoal); --navy-text:var(--asma-header-text); --navy-muted:var(--asma-header-muted);
 --icon-blue-bg:var(--asma-soft); --icon-blue-fg:var(--asma-gold-bottom);
 --icon-green-bg:var(--asma-soft); --icon-green-fg:var(--asma-gold-bottom); --radius:12px;
}
body.asma-app, body.dashboard-body {
 background:var(--asma-paper); color:var(--asma-ink); font-family:Tahoma,"Segoe UI",Arial,sans-serif;
 line-height:1.65; letter-spacing:0; isolation:isolate; overflow-x:clip;
}
body.asma-app::before, body.asma-app::after {
 content:""; position:fixed; pointer-events:none; z-index:-1; width:520px; height:210px;
 border-radius:50%; border:1px solid var(--asma-gold); background:var(--asma-charcoal);
 box-shadow:0 0 0 10px var(--asma-paper),0 0 0 11px var(--asma-line),0 0 0 24px var(--asma-paper),0 0 0 35px var(--asma-gold-top);
}
body.asma-app::before {top:-182px;left:-185px;transform:rotate(-24deg)}
body.asma-app::after {bottom:-178px;right:-205px;transform:rotate(-24deg)}
.asma-app .topbar, .dashboard-body .topbar {
 display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
 padding:10px 16px; background:var(--asma-charcoal); border-bottom:1px solid var(--asma-line);
 box-shadow:var(--asma-shadow); position:sticky; top:0;
}
.asma-app .topbar-left {flex:1 1 auto;min-width:0;gap:12px}
.asma-app .topbar-left>div {min-width:0}
.asma-app .company-name {color:var(--asma-header-text);font-size:15px;overflow-wrap:anywhere}
.asma-app .user-name {color:var(--asma-header-muted);font-size:12px;overflow-wrap:anywhere}
.asma-app .logo-badge, .dashboard-body .logo-badge {
 width:52px;height:62px;flex:0 0 52px;padding:3px;background:var(--asma-black);border:1px solid var(--asma-gold-bottom);
 border-radius:8px;box-shadow:none;overflow:visible;
}
.asma-app .logo-badge img, .dashboard-body .logo-badge img {display:block;width:100%;height:100%;padding:0;object-fit:contain}
.asma-app .topbar-actions {flex:0 1 auto;display:flex;flex-wrap:wrap;gap:8px}
.asma-app .topbar-actions .btn-outline {min-height:44px;padding:9px 14px;color:var(--asma-header-text);border-color:var(--asma-gold-bottom);background:transparent;font-size:13px}
.asma-app .topbar-actions .btn-outline:hover {background:var(--asma-gold-bottom);color:var(--asma-white)}
.asma-app .container, .dashboard-body .container {max-width:1020px;padding:28px 16px 70px;margin:auto}
.asma-app.asma-profile .container {max-width:850px}
.asma-app.asma-inventory .container {max-width:1200px}
.asma-app .summary-grid {grid-template-columns:minmax(0,1fr);margin-bottom:24px;gap:16px}
.asma-app .balance-card {padding:18px 22px;min-width:0;box-shadow:var(--asma-shadow);flex-direction:row}
.asma-app .balance-card>div:first-child {min-width:0}
.asma-app .card-label {color:var(--asma-ink);font-size:15px;margin-bottom:3px}
.asma-app .card-value {color:var(--asma-gold-bottom);font-size:30px;line-height:1.5;overflow-wrap:anywhere}
.asma-app .card {background:var(--asma-surface);border:1px solid var(--asma-line);border-radius:12px;box-shadow:var(--asma-shadow)}
.asma-app .container>.card {margin-bottom:16px}
.asma-app .card-icon {width:54px;height:54px;border-radius:14px;background:var(--asma-soft);color:var(--asma-gold-bottom)}
.asma-app .section-header {gap:12px;margin:0;flex-direction:row-reverse}
.asma-app .section-header h2 {font-size:18px;color:var(--asma-ink)}
.asma-app .icon-circle {background:var(--asma-soft);color:var(--asma-gold-bottom);width:44px;height:44px}
.asma-app .table-header {padding:14px 20px;border-bottom:1px solid var(--asma-line);gap:12px;flex-wrap:wrap}
.asma-app .table-card {padding:0}
.asma-app .btn {min-height:48px;line-height:1.4;transition:background .15s,box-shadow .15s}
.asma-app .btn-primary {background:var(--asma-gradient);color:var(--asma-white);border:1px solid var(--asma-gold);box-shadow:0 5px 12px oklch(0.46 0.06 75 / .13)}
.asma-app .btn-primary:hover {background:var(--asma-gold);opacity:1}
.asma-app .btn-outline {border-color:var(--asma-line);color:var(--asma-gold-bottom);background:var(--asma-surface)}
.asma-app .btn-outline:hover {background:var(--asma-soft);opacity:1}
.asma-app .actions-row {gap:12px;margin-bottom:24px}
.asma-app .actions-row .btn {min-width:0;min-height:52px;border-radius:28px;padding:12px;font-size:16px}
.asma-app .btn-deposit {background:linear-gradient(180deg,var(--asma-green-top),var(--asma-green));color:var(--asma-white)}
.asma-app .btn-withdraw {background:linear-gradient(180deg,var(--asma-red-top),var(--asma-red));color:var(--asma-white)}
.asma-app .btn-small {min-height:44px;justify-content:center;padding:8px 14px;line-height:1.4;font-size:13px;text-decoration:none}
.asma-app .btn-edit,.asma-app .btn-history {border-color:var(--asma-line);background:var(--asma-surface);color:var(--asma-gold-bottom);border-radius:24px}
.asma-app .btn-delete {background:var(--asma-red-soft);color:var(--asma-red)}
.asma-app .btn-activate {background:var(--asma-green-soft);color:var(--asma-green)}
.asma-app .btn-icon-danger,.asma-app .copy-btn {width:44px;height:44px;flex-shrink:0}
.asma-app .profile-header {padding:10px 12px 16px}
.asma-app .profile-header h1 {font-size:22px;overflow-wrap:anywhere;margin-bottom:4px}
.asma-app .profile-balance-value {font-size:32px;color:var(--asma-gold);overflow-wrap:anywhere}
.asma-app .profile-actions-secondary {flex-wrap:wrap;gap:10px;margin:0 0 4px}
.asma-app .entity-row {gap:16px;min-height:74px;padding:18px 22px;background:transparent}
.asma-app .entity-row:hover {background:var(--asma-soft)}
.asma-app .entity-name {min-width:0;overflow-wrap:anywhere;font-size:16px}
.asma-app .entity-balance {flex-shrink:0;font-size:15px}
.asma-app .empty-state {padding:44px 20px!important;font-size:15px;white-space:normal}
.asma-app .table-wrapper {max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.asma-app table {font-size:14px;min-width:580px}
.asma-app thead th {background:var(--asma-soft);color:var(--asma-ink);padding:12px 16px}
.asma-app tbody td {padding:14px 16px;vertical-align:middle}
.asma-app tbody tr:hover {background:var(--asma-soft)}
.asma-app .actions-cell {min-width:230px;gap:8px}
.asma-app .badge {padding:5px 12px;font-size:12px}
.asma-app .badge-role-user {background:var(--asma-soft);color:var(--asma-gold-bottom)}
.asma-app input:not([type=hidden]),.asma-app textarea,.asma-app select {
 font:inherit;font-size:16px;color:var(--asma-ink);background:var(--asma-paper);border:1px solid var(--asma-line);
 border-radius:10px;min-height:48px;padding:11px 13px;max-width:100%;
}
.asma-app input::placeholder,.asma-app textarea::placeholder {color:var(--asma-muted);opacity:1}
.asma-app input:focus,.asma-app textarea:focus,.asma-app select:focus {outline:none;border-color:var(--asma-gold);box-shadow:var(--asma-focus);background:var(--asma-white)}
.asma-app .form-group label {color:var(--asma-ink);margin-bottom:8px}
.asma-app .inline-form {gap:14px;margin-bottom:16px;align-items:end}
.asma-app .inline-form .form-group {min-width:0;flex:1 1 120px}
.asma-app .modal-overlay {background:var(--asma-overlay);padding:16px;overflow-y:auto;align-items:center}
.asma-app .modal {max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:24px;max-width:460px;min-width:0;background:var(--asma-surface);border:1px solid var(--asma-line);border-radius:16px;box-shadow:var(--asma-shadow)}
.asma-app #invoiceModalOverlay .modal {max-width:780px}
.asma-app .modal-wide {max-width:700px}
.asma-app .modal h2 {padding-bottom:14px;border-bottom:1px solid var(--asma-line);margin:0 0 20px;color:var(--asma-ink)}
.asma-app .modal-actions {margin-top:20px;gap:12px}
.asma-app .invoice-total-row {color:var(--asma-gold-bottom);gap:12px;flex-wrap:wrap}
.asma-app .modal table input {width:100%;min-width:80px}
.asma-app .btn:focus-visible,.asma-app .btn-small:focus-visible,.asma-app .entity-row:focus-visible,.asma-app .nav-card:focus-visible {outline:2px solid var(--asma-gold-bottom);outline-offset:3px}
.asma-app .nav-card {background:var(--asma-surface);border-color:var(--asma-line)}
.asma-app .nav-card .icon-circle {background:var(--asma-charcoal);color:var(--asma-gold-top);border-color:var(--asma-gold)}
/* Printable invoice: same identity, with a clean paper output. */
body.asma-print {background:var(--asma-paper)}
.asma-print .print-toolbar {max-width:800px;padding:0 16px;margin:24px auto 0;flex-wrap:wrap}
.asma-print .print-page {max-width:768px;margin:16px auto 40px;padding:24px;background:var(--asma-surface);border:1px solid var(--asma-line);border-radius:12px;box-shadow:var(--asma-shadow);overflow-wrap:anywhere}
.asma-print .print-logo {display:block;height:92px;width:auto;max-width:100%;object-fit:contain;margin:20px auto 0}
.asma-print .invoice-head {border-color:var(--asma-line);gap:16px;flex-wrap:wrap}
.asma-print .invoice-parties {gap:12px;flex-wrap:wrap}
.asma-print table.print-table {min-width:0;table-layout:fixed}
.asma-print table.print-table td,.asma-print table.print-table th {white-space:normal;overflow-wrap:anywhere;padding:10px 8px}
.asma-print table.print-table th {background:var(--asma-soft)}
.asma-print .print-total-row {border-color:var(--asma-line);color:var(--asma-gold-bottom);gap:12px;flex-wrap:wrap}
@media(max-width:560px) {
 .asma-app .topbar-actions {flex:1 1 100%;justify-content:flex-end}
 .asma-app .topbar-left {flex:1 1 100%}
 .asma-app .container,.dashboard-body .container {padding:24px 14px 60px}
 .asma-app .balance-card {padding:16px}
 .asma-app .card-value {font-size:26px}
 .asma-app .entity-row {padding:16px;gap:12px;flex-wrap:wrap}
 .asma-app .modal {padding:20px 16px}
 .asma-app .actions-row .btn {font-size:14px;gap:6px}
 .asma-print .print-page {margin:16px 12px 32px;padding:18px 14px}
 .asma-print table.print-table th,.asma-print table.print-table td {font-size:12px;padding:8px 5px}
}
@media(min-width:768px) {
 .asma-app .topbar,.dashboard-body .topbar {padding:10px 24px}
 .asma-app .container,.dashboard-body .container {padding:42px 28px 80px}
 .asma-app.asma-list .summary-grid,.asma-app.asma-inventory .summary-grid {grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
 .asma-app .balance-card {padding:20px 24px}
 .asma-app .logo-badge,.dashboard-body .logo-badge {width:56px;height:66px;flex-basis:56px}
}
@media(prefers-reduced-motion:reduce) {.asma-app *{transition:none!important;scroll-behavior:auto!important}}
@media print {
 body.asma-app,body.asma-print {background:var(--asma-white);color:var(--asma-ink)}
 body.asma-app::before,body.asma-app::after {display:none}
 .asma-print .print-toolbar {display:none}
 .asma-print .print-page {margin:0;padding:0;max-width:none;border:0;box-shadow:none;border-radius:0}
 .asma-print .print-logo {height:72px}
 .asma-print table.print-table {min-width:0;width:100%}
 .asma-print table.print-table th,.asma-print table.print-table td {font-size:14px}
 .asma-print .invoice-head,.asma-print .print-total-row {break-inside:avoid}
 .asma-print table tr {break-inside:avoid}
}
