@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--ink:#172b3d;--muted:#6d7d89;--line:#dce5e9;--paper:#fff;--canvas:#f4f7f8;--teal:#0f766e;--teal-dark:#115e59;--navy:#142c43;--blue:#e9f1f5;--amber:#b96d14;--red:#b33b38;--green:#24745b;--radius:12px;--shadow:0 8px 24px rgba(22,48,67,.06);font-family:Inter,"IBM Plex Sans Arabic",Tahoma,Arial,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-size:14px;line-height:1.55}body,button,input,select,textarea{font-family:Inter,"IBM Plex Sans Arabic",Tahoma,Arial,sans-serif}html[dir=rtl]{font-family:"IBM Plex Sans Arabic",Inter,Tahoma,Arial,sans-serif}button,input,select,textarea{font-size:inherit}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;padding:9px 14px;background:var(--teal);color:#fff;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease,transform .15s ease}button:hover,.button:hover{background:var(--teal-dark);text-decoration:none;color:#fff}button:active,.button:active{transform:translateY(1px)}button.secondary,.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}button.secondary:hover,.button.secondary:hover{background:#f4f8f9}button.danger,.button.danger{background:var(--red)}button.small,.button.small{padding:6px 10px;font-size:12px}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid #cad6dc;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #73c4b8;outline-offset:2px;border-color:var(--teal)}label{display:block;font-weight:600;margin-bottom:6px;color:#344a5a}.field{margin-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.help{font-size:12px;color:var(--muted);margin-top:5px}.required::after{content:" *";color:var(--red)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{background:var(--navy);color:#dce8ed;padding:20px 14px;display:flex;flex-direction:column;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:17px;padding:3px 8px}.brand img{width:34px;height:34px}.brand small{display:block;color:#a8c1c9;font-size:11px;font-weight:400}.nav-group{display:grid;gap:4px}.nav-link{display:flex;align-items:center;gap:10px;color:#c1d4d9;padding:9px 11px;border-radius:8px}.nav-link:hover,.nav-link.active{background:#214459;color:#fff;text-decoration:none}.nav-link svg{width:17px;height:17px;opacity:.85}.sidebar-footer{margin-top:auto;border-top:1px solid #315065;padding:14px 8px;color:#c2d5db;font-size:12px}.main-column{min-width:0}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:16px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.topbar-user{font-weight:600}.topbar-role{color:var(--muted);font-size:12px}.language-switch{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.language-switch a{padding:6px 10px;color:var(--muted);font-size:12px}.language-switch a.active{background:var(--blue);color:var(--navy);font-weight:700}.mobile-menu{display:none;background:transparent;color:var(--ink);border-color:var(--line);padding:7px 9px}.page{max-width:1500px;margin:0 auto;padding:26px 28px 48px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.page-heading h1{font-size:24px;line-height:1.25;margin:0 0 5px;color:var(--navy);letter-spacing:-.02em}.page-heading p{margin:0;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:18px}.card-title{font-weight:700;font-size:15px;color:var(--navy);margin:0 0 14px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;background:var(--teal)}.stat-label{font-size:12px;color:var(--muted);margin-bottom:8px}.stat-value{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums}.stat-note{font-size:11px;color:var(--muted);margin-top:4px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}th,td{text-align:start;padding:11px 13px;border-bottom:1px solid #e7edef;vertical-align:middle}th{font-size:11px;letter-spacing:.045em;text-transform:uppercase;color:#6b7d89;background:#f8fafb;white-space:nowrap}td{font-size:13px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfd}.numeric{text-align:end;font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;background:#eef2f4;color:#526573}.pill.active,.pill.issued{background:#e8f5ef;color:var(--green)}.pill.inactive,.pill.cancelled{background:#f8eaea;color:var(--red)}.pill.draft{background:#fff3df;color:var(--amber)}.alert{border-radius:9px;padding:11px 14px;margin-bottom:14px;border:1px solid #c9e2d5;background:#eef8f2;color:#225c43}.alert.error{border-color:#f0c9c5;background:#fff0ee;color:#8a2e2b}.alert.info{border-color:#cbdde8;background:#f1f7fa;color:#33536a}.empty-state{text-align:center;padding:35px 18px;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:15px;margin-bottom:5px}.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:14px}.toolbar .field{margin:0;min-width:150px;flex:1}.toolbar .field.wide{flex:2}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;color:var(--muted);font-size:12px}.pagination .actions{gap:6px}.locale-note{color:var(--muted);font-size:11px}
.invoice-lines{min-width:1050px}.invoice-lines input,.invoice-lines select{padding:7px 8px}.invoice-lines th,.invoice-lines td{padding:8px}.item-search{position:relative;min-width:190px}.suggestions{position:absolute;z-index:10;top:100%;inset-inline:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-height:230px;overflow:auto}.suggestions button{display:block;width:100%;text-align:start;border:0;border-radius:0;color:var(--ink);background:#fff;font-weight:400;padding:9px 10px}.suggestions button:hover{background:#edf6f4;color:var(--ink)}.totals{width:min(430px,100%);margin-inline-start:auto;display:grid;gap:8px}.total-row{display:flex;justify-content:space-between;gap:18px;padding:6px 0;border-bottom:1px solid #e7edef}.total-row.grand{border:0;border-top:2px solid var(--navy);font-size:18px;font-weight:700;padding-top:12px;color:var(--navy)}.invoice-paper{background:#fff;border:1px solid var(--line);max-width:900px;margin:0 auto;padding:34px;box-shadow:var(--shadow)}.invoice-head{display:flex;justify-content:space-between;gap:24px;border-bottom:3px solid var(--teal);padding-bottom:20px;margin-bottom:22px}.invoice-company{display:flex;gap:14px;align-items:flex-start}.invoice-company img{max-width:95px;max-height:72px;object-fit:contain}.invoice-title{text-align:end}.invoice-title h2{margin:0;color:var(--navy);font-size:27px}.invoice-number{font-size:13px;color:var(--muted);margin-top:5px}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px}.invoice-meta h3,.invoice-section-title{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 7px}.invoice-meta p{margin:2px 0}.invoice-summary{width:min(330px,100%);margin-inline-start:auto;margin-top:16px}.invoice-summary div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.invoice-summary .grand{border-top:2px solid var(--navy);font-size:17px;font-weight:700;padding-top:9px}.invoice-footer{border-top:1px solid var(--line);margin-top:22px;padding-top:12px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:20px}.setup-page,.login-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(135deg,#f3f8f8,#eef3f6)}.auth-card{width:min(450px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 18px 50px rgba(20,44,67,.1)}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}.auth-brand img{width:44px}.auth-brand h1{font-size:20px;margin:0;color:var(--navy)}.auth-brand p{margin:2px 0;color:var(--muted);font-size:12px}.auth-card h2{font-size:19px;margin:0 0 7px}.auth-card .lead{color:var(--muted);margin:0 0 20px}.auth-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.log-detail{color:var(--muted);font-size:11px;max-width:240px;overflow-wrap:anywhere}.badge-dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;margin-inline-end:6px}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:205px minmax(0,1fr)}.page{padding:22px}.topbar{padding:0 20px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:50;inset-block:0;inset-inline-start:0;width:260px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--shadow)}html[dir=rtl] .sidebar{transform:translateX(105%)}body.nav-open .sidebar{transform:translateX(0)}.main-column{min-height:100vh}.topbar{height:58px;padding:0 12px}.mobile-menu{display:inline-flex}.topbar-user{display:none}.page{padding:18px 13px 32px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:21px}.stats-grid{gap:9px}.stat-card{padding:13px}.stat-value{font-size:19px}.card{padding:14px}.form-grid,.form-grid.three,.settings-grid{grid-template-columns:1fr}.invoice-paper{padding:18px}.invoice-head{gap:12px}.invoice-title h2{font-size:21px}.invoice-meta{gap:12px}.invoice-footer{flex-direction:column}.toolbar .field{min-width:130px}.auth-card{padding:23px}}
@media(max-width:420px){.stats-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:17px}.topbar-right{gap:5px}.language-switch a{padding:5px 7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.draft-watermark{display:none}
@media print{body{background:#fff;font-size:11px}.sidebar,.topbar,.page-heading,.no-print,.alert,.print-hide{display:none!important}.app-shell,.main-column,.page{display:block;min-height:0;margin:0;padding:0;background:#fff}.invoice-paper{max-width:none;margin:0;padding:0;border:0;box-shadow:none}.table-wrap{overflow:visible;border:0}table{min-width:0}th,td{padding:7px 6px}.invoice-paper table{page-break-inside:auto}.invoice-paper tr{page-break-inside:avoid;page-break-after:auto}.invoice-meta,.invoice-head{break-inside:avoid}@page{size:A4;margin:14mm}}

.invoice-lines{min-width:1250px}.line-descriptions{display:grid;gap:5px;min-width:190px}.line-descriptions input{font-size:12px}.suggestion-empty{padding:10px;color:var(--muted)}
