:root{--primary:#7a1f2b;--primary-dark:#5a1620;--primary-light:#a83246;--primary-bg:#7a1f2b0f;--gold:#b8860b;--bg:#f7f5f2;--surface:#fff;--border:#e2ddd6;--text:#2b2320;--text-muted:#746a63;--success:#2f7d4f;--success-bg:#2f7d4f1a;--danger:#b3261e;--danger-bg:#b3261e14;--warning:#9a6b00;--warning-bg:#b8860b1f;--shadow:0 2px 8px #2b232014;--shadow-lg:0 8px 24px #2b23201f;--radius:10px;--font:"Cairo", system-ui, "Segoe UI", Tahoma, sans-serif;font-family:var(--font);color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4{color:var(--primary-dark);margin:0 0 12px}p{margin:0 0 8px}a{color:var(--primary)}.page{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px 20px 48px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:24px}.section-title{color:var(--primary);border-bottom:2px solid var(--primary-bg);margin-bottom:16px;padding-bottom:8px;font-size:18px;font-weight:700}.btn{font-family:var(--font);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:10px 18px;font-size:15px;font-weight:600;transition:opacity .15s,background-color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--surface);color:var(--primary);border-color:var(--primary)}.btn-secondary:hover:not(:disabled){background:var(--primary-bg)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){opacity:.9}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-ghost{color:var(--text-muted);border-color:var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-sm{padding:6px 12px;font-size:13px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--text);font-size:14px;font-weight:600}.field .hint{color:var(--text-muted);font-size:12px}.field .error{color:var(--danger);font-size:12px}input,select,textarea{font-family:var(--font);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;width:100%;padding:10px 12px;font-size:15px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg);outline:none}textarea{resize:vertical;min-height:80px}.input-ltr{text-align:left;direction:ltr}.input-ltr::placeholder{text-align:left}fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 16px;padding:16px}legend{color:var(--primary);padding:0 8px;font-weight:700}.radio-group{flex-wrap:wrap;gap:12px;display:flex}.radio-option{cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.radio-option input{width:auto}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}th{background:var(--primary-bg);color:var(--primary-dark);font-weight:700}tbody tr:hover{background:var(--bg)}tbody tr.row-link{cursor:pointer}tbody tr.row-link:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.badge{border-radius:999px;align-items:center;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.badge-pending{background:var(--warning-bg);color:var(--warning)}.badge-approved{background:var(--success-bg);color:var(--success)}.badge-rejected{background:var(--danger-bg);color:var(--danger)}.app-header{background:var(--primary);color:#fff;box-shadow:var(--shadow)}.app-header-inner{flex-wrap:wrap;align-items:center;gap:10px 16px;max-width:1280px;margin:0 auto;padding:10px 20px;display:flex}.app-header .logo-block{flex-shrink:0;align-items:center;gap:10px;font-weight:800;display:flex}.app-header .logo-block img{background:#fff;border-radius:50%;width:42px;height:42px}.app-nav{background:#00000029;border-radius:22px;flex-wrap:wrap;order:3;justify-content:center;align-items:center;gap:2px;width:100%;padding:3px;display:flex}.nav-count{min-width:18px;color:var(--primary);text-align:center;font-variant-numeric:tabular-nums;background:#ffffffe6;border-radius:999px;margin-inline-start:6px;padding:0 5px;font-size:11px;line-height:18px;display:inline-block}.nav-count-late{background:var(--danger);color:#fff}.app-nav a{color:#fff;white-space:nowrap;opacity:.78;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .15s,opacity .15s}.app-nav a:hover{opacity:1;background:#ffffff24}.app-nav a.active{background:var(--surface);color:var(--primary-dark);opacity:1;box-shadow:0 1px 3px #2b232033}.app-nav a:focus-visible{outline-offset:-2px;outline:2px solid #fff}.app-header .user-block{flex-shrink:0;align-items:center;gap:10px;margin-inline-start:auto;font-size:14px;display:flex}@media (width<=900px){.app-header .user-block>span{display:none}}.muted{color:var(--text-muted);font-size:12px}.limits-table td{vertical-align:top}.limits-table .hint,.limit-section .hint,.pot-editor .hint{color:var(--text-muted);font-size:12px}.limit-breakdown{white-space:nowrap}.limit-pot-list{margin:0;padding:0;line-height:1.7;list-style:none}.limit-section{margin-bottom:20px}.limit-section h3{color:var(--primary);margin:0 0 8px;font-size:15px}.pot-editor{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:12px 14px}.pot-editor-header{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px;display:flex}.pot-editor-row{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:10px;display:flex}.pot-editor-row .field{flex:11.5rem;margin-bottom:0}.pot-editor-row .btn{margin-bottom:4px}.pot-editor-extra{border-top:1px dashed var(--border);padding-top:10px}.pot-editor-subtitle{margin-bottom:8px;font-size:14px;font-weight:600}.extra-grant-history{margin-top:12px}.extra-grant-table{border-collapse:collapse;width:100%;font-size:14px}.extra-grant-table th,.extra-grant-table td{border-bottom:1px solid var(--border);text-align:start;padding:6px 10px}.extra-grant-table th{background:var(--primary-bg);color:var(--primary-dark);font-weight:600}.extra-grant-table tr:last-child td{border-bottom:none}.extra-grant-selected td{background:var(--warning-bg)}.extra-grant-now{margin-inline-start:8px;font-size:11px}.limit-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.limit-section-header h3{margin:0}.limit-toggle{cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.limit-toggle input{width:18px;height:18px}.link-button{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.extra-grant-list{margin:4px 0 0;padding:0;font-size:.85em;line-height:1.6;list-style:none}.limit-total{font-weight:700}.notification-bell{display:flex;position:relative}.notification-trigger{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex;position:relative}.notification-trigger:hover{background:#ffffff26}.notification-badge{top:-4px;background:var(--gold);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;line-height:18px;position:absolute;inset-inline-start:-4px}.notification-panel{top:calc(100% + 8px);z-index:50;background:var(--surface);width:min(340px,100vw - 32px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);position:absolute;inset-inline-end:0;overflow:hidden}.notification-panel-head{border-bottom:1px solid var(--border);color:var(--primary);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:flex}.notification-panel-actions{align-items:center;gap:10px;display:flex}.notification-mute{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.notification-mute:hover{color:var(--primary)}.notification-mute[aria-pressed=true]{color:var(--danger)}.notification-mark-all{font-family:var(--font);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.notification-mark-all:hover:not(:disabled){color:var(--primary)}.notification-mark-all:disabled{cursor:default;opacity:.6}.notification-empty{text-align:center;color:var(--text-muted);margin:0;padding:24px 14px;font-size:14px}.notification-list{max-height:380px;margin:0;padding:0;list-style:none;overflow-y:auto}.notification-list li+li{border-top:1px solid var(--border)}.notification-item{width:100%;font-family:var(--font);text-align:start;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.notification-item:hover{background:var(--primary-bg)}.notification-item.is-unread{background:#b8860b0f}.notification-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notification-dot.tone-pending{background:var(--warning)}.notification-dot.tone-approved{background:var(--success)}.notification-dot.tone-rejected{background:var(--danger)}.notification-text{flex-direction:column;gap:2px;min-width:0;display:flex}.notification-text strong{color:var(--text);font-size:14px}.notification-body{color:var(--text-muted);font-size:13px;line-height:1.5}.notification-time{color:var(--text-muted);font-size:11px}.login-page{flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.login-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow-lg);text-align:center;padding:36px 32px}.login-card img.logo{width:96px;height:96px;margin-bottom:16px}.login-card h1{font-size:22px}.login-card .subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}.login-card form{text-align:right}.alert{border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:14px}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-success{background:var(--success-bg);color:var(--success)}.alert-warning{background:var(--warning-bg);color:var(--warning)}.alert-info{background:var(--primary-bg);color:var(--text);line-height:1.9}.totals-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px;display:grid}.totals-summary .stat{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.totals-summary .stat .label{color:var(--text-muted);margin-bottom:4px;font-size:12px}.totals-summary .stat .value{color:var(--primary-dark);font-size:18px;font-weight:800}.totals-summary .stat.net .value{color:var(--success)}.line-items-row{grid-template-columns:1fr 160px 40px;align-items:center;gap:10px;margin-bottom:8px;display:grid}.filters-bar{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px;display:flex}.filters-bar .field{min-width:160px;margin-bottom:0}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.dashboard-cards .card{text-align:center;margin-bottom:0}.dashboard-cards .card .value{color:var(--primary);font-size:32px;font-weight:800}.dashboard-cards .card .label{color:var(--text-muted);font-size:14px}.private-note{border:1px dashed var(--primary-light);border-radius:var(--radius);background:var(--primary-bg);margin-top:16px;padding:14px 16px}.private-note-label{color:var(--primary);margin-bottom:6px;font-weight:700}.private-note .hint{color:var(--text-muted);margin-top:8px;font-size:12px}.signature-cell{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.signature-preview{object-fit:contain;border:1px solid var(--border);background-color:var(--surface);background-image:linear-gradient(45deg, var(--bg) 25%, transparent 25%), linear-gradient(-45deg, var(--bg) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg) 75%), linear-gradient(-45deg, transparent 75%, var(--bg) 75%);background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px;border-radius:6px;max-width:150px;max-height:46px;padding:2px 4px}.signature-cell .hint{color:var(--text-muted);font-size:12px}.signature-cell .hint-error{color:var(--danger)}.signature-actions{gap:4px;display:flex}.approval-chain{margin:0;padding:0;list-style:none}.approval-step{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.approval-step:last-child{border-bottom:none}.approval-mark{background:var(--bg);width:26px;height:26px;color:var(--text-muted);border:1px solid var(--border);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.approval-step-done .approval-mark{background:var(--success-bg);color:var(--success);border-color:var(--success)}.approval-step-rejected .approval-mark{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.approval-step-current .approval-mark{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}.approval-stage{font-size:15px;font-weight:700}.approval-step-upcoming .approval-stage{color:var(--text-muted);font-weight:600}.approval-meta{color:var(--text-muted);margin-top:2px;font-size:13px}.stage-awaiting-you{color:var(--warning);font-weight:700}.modal-overlay{z-index:1000;background:#2b23208c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:960px;max-height:92vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.modal-header h2{margin:0;font-size:17px}.modal-pdf-frame{border:none;flex:1;width:100%;min-height:75vh}.modal-image-frame{background:var(--bg);flex:1;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex;overflow:auto}.modal-image-frame img{object-fit:contain;max-width:100%;max-height:75vh}.modal-form{max-width:460px}.modal-wide{max-width:720px}.modal-body{padding:20px;overflow-y:auto}.notice-message{margin:0;font-size:16px;line-height:1.9}.modal-footer{border-top:1px solid var(--border);gap:12px;padding:14px 20px;display:flex}.edit-value{white-space:normal;max-width:280px}.edit-value-old{color:var(--text-muted);text-decoration:line-through}.edit-value-new{color:var(--text);font-weight:600}.edit-item-input+.edit-item-input{margin-top:8px}.seg-toggle{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.seg-toggle button{background:var(--surface);color:var(--text-muted);cursor:pointer;border:0;border-radius:0;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:500}.seg-toggle button+button{border-inline-start:1px solid var(--border)}.seg-toggle button:hover:not(.is-active){background:var(--bg)}.seg-toggle button.is-active{background:var(--primary);color:#fff}.department-aside{color:var(--text-muted);font-size:12px}.muted-cell{color:var(--text-muted)}.export-filters{white-space:normal;max-width:320px;color:var(--text-muted);font-size:13px}.value-over{color:var(--danger)}.usage{align-items:center;gap:8px;min-width:120px;display:flex}.usage-track{background:var(--border);border-radius:999px;flex:1;height:8px;overflow:hidden}.usage-fill{background:var(--success);border-radius:999px;height:100%}.usage-fill-over{background:var(--danger)}.upload-progress{align-items:center;gap:10px;margin-top:10px;display:flex}.upload-progress-track{background:var(--border);border-radius:999px;flex:1;height:8px;overflow:hidden}.upload-progress-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .15s linear}.upload-progress-indeterminate{width:35%;animation:1.1s ease-in-out infinite upload-sweep}@keyframes upload-sweep{0%{margin-inline-start:0}50%{margin-inline-start:65%}to{margin-inline-start:0}}.upload-progress-label{min-width:72px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.settlement-card{border-inline-start:4px solid #0000}.settlement-overdue{border-inline-start-color:var(--danger)}.settlement-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.settlement-title{flex-wrap:wrap;align-items:center;gap:10px;font-weight:600;display:flex}.settlement-facts{flex-wrap:wrap;gap:8px 24px;margin-top:12px;font-size:14px;display:flex}.settlement-facts>div{gap:6px;display:flex}.settlement-facts .label{color:var(--text-muted)}.settlement-panel{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.settlement-details-text{white-space:pre-wrap;margin:0 0 4px}.settlement-attachments{margin:0 0 16px;padding:0;list-style:none}.settlement-attachments li{align-items:center;gap:4px;display:flex}.settlement-form{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.badge-settlement-required{background:var(--warning-bg);color:var(--warning)}.badge-settlement-returned{background:var(--danger-bg);color:var(--danger)}.badge-settlement-submitted{background:var(--primary-bg);color:var(--primary)}.badge-settlement-accepted{background:var(--success-bg);color:var(--success)}.badge-settlement-awaiting_date{background:var(--primary-bg);color:var(--primary)}.badge-settlement-cancelled{background:var(--bg);color:var(--text-muted)}.file-chosen-list{color:var(--text-muted);margin:8px 0 0;padding-inline-start:20px;font-size:13px}.settlement-group+.settlement-group{margin-top:28px}.amount-edit-card{border:1px solid var(--border)}.card .amount-edit-card{box-shadow:none;margin-bottom:16px}.amount-edit-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.amount-edit-title{color:var(--primary);font-size:17px;font-weight:700}.amount-edit-reason{background:var(--primary-bg);border-radius:var(--radius);white-space:pre-wrap;margin:12px 0;padding:10px 14px}.amount-edit-label{color:var(--text-muted);margin-bottom:4px;font-size:13px;font-weight:700}.amount-edit-decision{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.amount-compare .amount-row-net td{font-weight:700}
