:root{--primary-color:#11213C;--primary-dark:#0A172B;--primary-light:#DCE9FC;--secondary-color:#566986;--accent-color:#08A698;--success-color:#15886A;--warning-color:#D18B26;--danger-color:#D95362;--info-color:#3676CB;--background-color:#F6F8FB;--surface-color:#FFFFFF;--border-color:#E2E8F0;--text-color:#172640;--text-secondary:#69788C;--radius-sm:8px;--radius-control:11px;--radius-card:19px;--radius-panel:24px;--shadow:0 10px 35px rgba(17,33,60,.07)}
*{box-sizing:border-box}html{font-family:Inter,"Noto Sans Arabic",system-ui,sans-serif;background:var(--background-color);color:var(--text-color)}html[lang=ar]{font-family:"Noto Sans Arabic",Inter,system-ui,sans-serif}body{margin:0;background:var(--background-color);color:var(--text-color)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:248px;background:var(--surface-color);border-inline-end:1px solid var(--border-color);display:flex;flex-direction:column;padding:24px 16px;z-index:30}.brand{display:flex;justify-content:center;padding:4px 8px 28px}.brand img{width:140px;max-height:44px;object-fit:contain}.nav{display:flex;flex-direction:column;gap:6px;flex:1}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:var(--radius-control);color:var(--text-secondary);font-size:14px;font-weight:600;border:0;background:transparent;width:100%;cursor:pointer;text-align:start}.nav-link:hover{background:#f1f6fb;color:var(--primary-color)}.nav-link.active{background:#e3f7f4;color:#087b72}.nav-icon{inline-size:30px;block-size:30px;border:1px solid var(--border-color);border-radius:9px;display:grid;place-items:center;font-size:12px;background:#f8fafc}.nav-link.active .nav-icon{border-color:#b8e9e3;background:#d7f5f1}.sidebar-footer{display:flex;flex-direction:column;gap:5px;padding-top:12px;border-top:1px solid var(--border-color)}.button-reset{appearance:none}.workspace{min-height:100vh;margin-inline-start:248px}.topbar{height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding-inline:28px;position:sticky;top:0;z-index:20}.top-search{display:flex;align-items:center;gap:8px;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-control);padding:7px 12px;min-width:280px}.top-search input{border:0;outline:none;background:transparent;width:100%}.top-actions{display:flex;align-items:center;gap:12px}.icon-btn{border:1px solid var(--border-color);background:white;inline-size:38px;block-size:38px;border-radius:11px;display:grid;place-items:center;cursor:pointer}.user-chip{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600}.avatar{inline-size:36px;block-size:36px;border-radius:50%;background:var(--primary-light);color:var(--primary-color);display:grid;place-items:center;font-weight:700}.main-content{padding:28px;max-width:1600px;margin-inline:auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.page-header h1{font-size:28px;margin:0 0 4px}.page-header p{margin:0;color:var(--text-secondary);font-size:14px}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;border-radius:var(--radius-control);border:1px solid var(--border-color);background:white;font-weight:600;font-size:14px;cursor:pointer}.btn.primary{background:var(--primary-color);color:white;border-color:var(--primary-color)}.btn.accent{background:var(--accent-color);color:white;border-color:var(--accent-color)}.btn.danger{background:#fff3f4;color:var(--danger-color);border-color:#ffd4d9}.btn.ghost{background:transparent}.btn.small{min-height:34px;padding:6px 11px;font-size:12px}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:20px}.metric-card{display:flex;align-items:center;justify-content:space-between;min-height:116px}.metric-label{font-size:13px;color:var(--text-secondary);font-weight:600}.metric-value{font-size:27px;font-weight:700;margin-top:8px}.metric-icon{inline-size:48px;block-size:48px;border-radius:16px;background:#e9f8f6;color:var(--accent-color);display:grid;place-items:center;font-weight:700}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title h2{font-size:18px;margin:0}.table-wrap{overflow:auto;border:1px solid var(--border-color);border-radius:var(--radius-card);background:white}.table{width:100%;border-collapse:collapse;min-width:800px}.table th,.table td{padding:13px 15px;text-align:start;border-bottom:1px solid #edf1f6;font-size:13px;vertical-align:middle}.table th{background:#f8fafc;color:var(--text-secondary);font-weight:700;white-space:nowrap}.table tbody tr:hover{background:#fbfdff}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#eef2f7;color:var(--secondary-color)}.badge.success{background:#e4f7f0;color:var(--success-color)}.badge.warning{background:#fff5e6;color:#a66b15}.badge.danger{background:#ffedef;color:var(--danger-color)}.badge.info{background:#edf4ff;color:var(--info-color)}.form-card{max-width:980px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700;color:#33445f}.input,.select,.textarea{width:100%;border:1px solid var(--border-color);background:#fff;border-radius:var(--radius-control);padding:10px 12px;min-height:42px;outline:none;color:var(--text-color)}.textarea{min-height:110px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#8ab2e8;box-shadow:0 0 0 3px rgba(54,118,203,.10)}.help{font-size:12px;color:var(--text-secondary)}.alert{padding:12px 16px;border-radius:var(--radius-control);margin-bottom:18px;transition:opacity .4s}.alert.success{background:#e7f7f1;color:#13694f}.alert.danger{background:#fff0f2;color:#a82f3d}.alert.fade{opacity:.15}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.filters .input,.filters .select{width:auto;min-width:160px}.pagination{display:flex;gap:6px;justify-content:flex-end;margin-top:16px}.pagination a,.pagination span{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:8px;background:#fff}.empty-state{padding:50px 20px;text-align:center;color:var(--text-secondary)}.timeline{position:relative;padding-inline-start:22px}.timeline:before{content:"";position:absolute;inset-inline-start:6px;top:4px;bottom:4px;width:2px;background:var(--border-color)}.timeline-item{position:relative;margin-bottom:18px}.timeline-item:before{content:"";position:absolute;inset-inline-start:-21px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--accent-color);border:3px solid white;box-shadow:0 0 0 1px #ccece8}.timeline-item h4{font-size:13px;margin:0 0 4px}.timeline-item p{font-size:12px;color:var(--text-secondary);margin:0}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:14px;overflow:auto;padding-bottom:12px}.kanban-col{background:#eef2f6;border-radius:16px;padding:12px;min-height:420px}.kanban-head{font-size:13px;font-weight:700;display:flex;justify-content:space-between;margin:4px 3px 12px}.opportunity-card{background:#fff;border:1px solid var(--border-color);border-radius:13px;padding:14px;margin-bottom:10px}.opportunity-card h4{margin:0 0 8px;font-size:14px}.opportunity-card .meta{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:11px}.quotation-builder{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.builder-main{min-width:0}.builder-summary{position:sticky;top:94px;align-self:start}.item-row{display:grid;grid-template-columns:1.7fr .7fr .8fr .8fr .8fr .9fr 40px;gap:8px;align-items:end;padding:12px 0;border-bottom:1px solid var(--border-color)}.item-row .field label{font-size:11px}.totals{display:flex;flex-direction:column;gap:10px}.totals-row{display:flex;justify-content:space-between;font-size:13px}.totals-row.grand{font-size:18px;font-weight:700;padding-top:12px;border-top:1px solid var(--border-color);color:var(--success-color)}.auth-body{min-height:100vh;display:grid;grid-template-columns:45% 55%;background:#fff}.auth-visual{background:var(--primary-dark) url('/assets/images/brand/15-login-background.png') center/cover no-repeat;position:relative;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:52px;min-height:100vh}.auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,43,.08),rgba(10,23,43,.55));pointer-events:none}.auth-logo-mark{width:150px;position:relative;z-index:1}.auth-visual-copy{position:relative;z-index:1;max-width:460px}.auth-visual-copy h1{font-size:34px;margin:0 0 8px}.auth-visual-copy p{font-size:18px;color:#d8e4f4}.auth-panel{display:grid;place-items:center;padding:40px}.auth-card{width:min(430px,100%)}.auth-card .logo{width:170px;margin-bottom:32px}.auth-card h1{font-size:28px;margin:0 0 8px}.auth-card>p{color:var(--text-secondary);margin:0 0 26px}.auth-card .field{margin-bottom:16px}.auth-footer{margin-top:20px;text-align:center;font-size:13px;color:var(--text-secondary)}.public-body{background:#f2f5f9}.public-top{height:62px;background:var(--primary-dark);display:flex;align-items:center;padding-inline:6vw}.public-top img{height:30px;width:auto}.public-container{width:min(980px,92vw);margin:34px auto}.quotation-paper{background:white;border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow);padding:34px}.quote-head{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--border-color);padding-bottom:24px;margin-bottom:24px}.quote-company img{max-width:150px;max-height:50px}.quote-number{text-align:end}.public-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.signature-canvas{width:100%;height:180px;border:1px dashed #9dafc6;border-radius:12px;background:#fff;touch-action:none}.signature-tools{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.report-chart{height:310px}.error-body{min-height:100vh;display:grid;place-items:center;padding:20px}.error-card{background:white;border:1px solid var(--border-color);border-radius:24px;padding:40px;text-align:center;box-shadow:var(--shadow);max-width:520px}.error-card img{width:170px}.error-card h1{font-size:58px;margin:24px 0 8px}.admin-shell .sidebar{background:var(--primary-dark);border:0}.admin-shell .nav-link{color:#b7c4d7}.admin-shell .nav-link:hover{background:#142a4a;color:#fff}.admin-shell .brand img{filter:none}.mobile-only{display:none}
@media(max-width:1100px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.quotation-builder{grid-template-columns:1fr}.builder-summary{position:static}.item-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.sidebar{transform:translateX(-110%);transition:transform .25s}.rtl .sidebar{transform:translateX(110%)}.sidebar.open{transform:none}.workspace{margin-inline-start:0}.mobile-only{display:grid}.desktop-only{display:none}.topbar{padding-inline:14px}.top-search{min-width:0;flex:1;max-width:340px}.main-content{padding:18px}.grid.cols-2,.grid.cols-3,.grid.cols-4,.form-grid{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.auth-body{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:24px}.item-row{grid-template-columns:1fr 1fr}.item-row>*:first-child{grid-column:1/-1}.quote-head{flex-direction:column}.public-container{width:95vw;margin:16px auto}.quotation-paper{padding:20px}}
@media print{.sidebar,.topbar,.page-actions,.filters,.public-top,.public-actions,.no-print{display:none!important}.workspace{margin:0}.main-content,.public-container{padding:0;margin:0;width:100%;max-width:none}.card,.quotation-paper,.table-wrap{box-shadow:none;border-color:#ddd}.quotation-paper{border:0}.app-shell{background:white}}
