:root{--paper:#f7f4ec;--card:#fffdf8;--ink:#1f2a24;--muted:#6b6252;--line:#e6e0d2;--accent:#2f6b5e;--accent-soft:#e3efeb;--red:#b23a3a;--blue-bg:#dceaf0;--blue:#2e6079}
*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:-apple-system,"Segoe UI",Roboto,"Noto Sans Arabic",Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--paper)}
a{color:var(--accent)}h1,h2{font-family:Georgia,"Times New Roman",serif;margin:0}h1{font-size:24px}h2{font-size:17px;margin-bottom:8px}
.shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#efebe1;border-inline-end:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:10px;padding:14px 16px;font-family:Georgia,serif;font-weight:700;border-bottom:1px solid var(--line)}.brand img{height:28px}
nav{flex:1;overflow:auto;padding:8px}.nav-group{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 10px 4px}
.nav-item{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:13.5px}.nav-item:hover{background:#e6e0d2}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}
.nav-item.soon{color:var(--muted)}.nav-item small{font-size:10px;background:#e6e0d2;padding:1px 6px;border-radius:10px}
.sidebar-foot{padding:12px 16px;border-top:1px solid var(--line);font-size:12.5px}.who{display:flex;gap:8px;align-items:center;margin-bottom:8px}.inline{display:inline}
.content{flex:1;padding:24px 32px;max-width:1400px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}.table-wrap{padding:0;overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:start;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line)}td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}td.actions{text-align:end;white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.stat span{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.stat strong{font-family:Georgia,serif;font-size:22px}
button,.button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:7px 14px;border-radius:9px;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.ghost{background:transparent}.danger{color:var(--red)}.wide{width:100%;margin-top:8px}
.toolbar{display:flex;gap:8px;margin-bottom:14px}input,select,textarea{font:inherit;width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}input[type=checkbox]{width:auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.form-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.form-grid label input,.form-grid label select,.form-grid label textarea{text-transform:none;letter-spacing:0;font-size:14px}.form-grid label.check{flex-direction:row;align-items:center;text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--ink);gap:8px;padding-top:22px}.span2{grid-column:1/-1}.form-actions{display:flex;gap:8px;align-items:center}.grow{flex:1}
fieldset.access{border:1px solid var(--line);border-radius:10px;padding:12px 14px}fieldset legend{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:0 6px}.depts{display:flex;gap:18px;flex-wrap:wrap;margin:8px 0}.depts label.check{padding-top:0}.admin-only-note{display:none}.role-admin .admin-only-note{display:block}.role-admin .access-body{display:none}
.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:10px;background:#eae6da;color:#6b6252}.badge.blue{background:var(--blue-bg);color:var(--blue)}
.banner{padding:10px 14px;border-radius:9px;margin-bottom:12px}.banner.error{background:#f8dede;color:var(--red)}.empty{text-align:center;color:var(--muted);padding:40px;border:1px dashed var(--line);border-radius:12px}.empty.tall{padding:80px 20px}
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:380px;text-align:center}.auth-card form{text-align:start}.auth-card label{display:block;margin:10px 0;font-size:12px;color:var(--muted)}.auth-logo{height:56px;margin-bottom:6px}.center{text-align:center;margin-top:10px}
.topbar{display:none}.menu-btn{font-size:20px;padding:4px 10px}.brand-small{font-family:Georgia,serif;font-weight:700}
button.nav-group{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:transparent;cursor:pointer;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 10px 4px}.nav-group .chev{transition:transform .15s;display:inline-block;transform:rotate(90deg)}.nav-group.collapsed .chev{transform:rotate(0)}.group-items.hidden{display:none}
.soon-list summary{cursor:pointer;font-size:11.5px;color:var(--muted);padding:5px 10px;list-style:none}.soon-list summary::before{content:"+ "}.soon-list[open] summary::before{content:"– "}.soon-list .nav-item.soon{font-size:12.5px;padding:4px 10px 4px 18px}
.backdrop{display:none}
@media (max-width:820px){.shell{flex-direction:column}.topbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#efebe1;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.sidebar{position:fixed;top:0;inset-inline-start:0;height:100vh;width:280px;z-index:30;transform:translateX(-105%);transition:transform .2s}body.rtl .sidebar{transform:translateX(105%)}.sidebar.open{transform:none!important}
.backdrop.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:25}.content{padding:16px}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}}
.cols3{grid-template-columns:1fr 1fr 1fr}.span3{grid-column:1/-1}.form-grid h2{margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}.form-grid h2:first-of-type{border-top:0;padding-top:0}
.badge.red{background:#f8dede;color:var(--red)}.badge.yellow{background:#fbf0c2;color:#8a6d0a}.badge.green{background:#e4efe0;color:#4c7a3d}.danger small,.danger{color:var(--red)}
.photo-row{display:flex;align-items:center;gap:16px}.photo{width:84px;height:84px;object-fit:cover;border-radius:10px;background:#e6e0d2}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form input[type=file]{width:auto}
.subform{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.pad{padding:12px 16px}.stat small{display:block}
@media (max-width:820px){.cols3{grid-template-columns:1fr}}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.mp{margin-bottom:6px}.photos{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.photos figure{margin:0;position:relative}.photos img{width:160px;height:120px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.photos form{position:absolute;top:4px;inset-inline-end:4px}
fieldset{border:1px solid var(--line);border-radius:10px;padding:12px 14px}.banner{background:#fcf3d0;color:#8a6d0a}
.items-table input{padding:5px 8px}.items-table td{padding:4px 6px}#items[data-boq="0"] .boq-col{display:none}.totals{align-self:start;background:var(--paper);border-radius:10px;padding:12px 14px}.totals div{display:flex;justify-content:space-between;gap:20px;padding:3px 0;font-size:13px;color:var(--muted)}.totals div.big{color:var(--ink);font-weight:600;border-top:1px solid var(--line);padding-top:6px;font-size:14px}.totals b{color:var(--ink)}
.aging-row{display:flex;gap:16px}.aging-row div{flex:1}.aging-row span{display:block;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.brand-row{gap:24px;align-items:flex-start}.brand-box{display:flex;flex-direction:column;gap:6px}.brand-box img{max-height:70px;max-width:220px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-layout{display:flex;gap:18px;align-items:flex-start}.report-nav{width:220px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px}.report-body{flex:1;min-width:0}.tot-row td{border-top:2px solid var(--line)}
@media (max-width:820px){.cols2{grid-template-columns:1fr}.report-layout{flex-direction:column}.report-nav{width:100%}}
