:root{--teal:#009999;--deep:#006666;--deepest:#16333a;--gold:#d4af37;--bg:#f2f5f5;--ink:#1e3033;--muted:#718084;--line:#e0e8e7;--white:#fff;--shadow:0 14px 38px rgba(20,51,52,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:'MadaniArabic-Regular','Cairo','Noto Kufi Arabic',Tahoma,sans-serif;color:var(--ink);font-size:13px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}::selection{background:#bbebe6}
.app-shell{min-height:100vh;display:flex;direction:rtl}.sidebar{width:232px;min-width:232px;background:#182529;color:#d8e6e6;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;box-shadow:-6px 0 25px #18252910}.identity{padding:28px 22px 14px;text-align:center}.identity-logo{background:#fff;border-radius:7px;padding:13px 14px;width:100%;height:88px;object-fit:contain}.identity-caption{font:700 8px Montserrat,Arial,sans-serif;letter-spacing:1.1px;color:#9cb9b8;margin-top:15px}.identity-rule{height:2px;background:linear-gradient(to left,var(--teal),var(--gold));margin:7px 22px 27px}.nav{padding:0 12px;display:grid;gap:7px}.nav-btn{background:transparent;border:0;border-radius:9px;color:#abc1c3;text-align:right;padding:12px 13px;font-weight:700;display:flex;gap:12px;align-items:center;transition:.17s}.nav-btn:hover{background:#ffffff0a;color:#fff}.nav-btn.active{background:#056867;color:#fff;box-shadow:inset -3px 0 0 var(--gold)}.nav-icon{font-size:18px;width:19px;text-align:center;line-height:1}.sidebar-spacer{flex:1}.sidebar-footer{display:flex;align-items:center;gap:9px;border-top:1px solid #ffffff18;padding:16px 14px 20px}.avatar{width:34px;height:34px;min-width:34px;border-radius:50%;background:#0f7978;color:#fff;display:grid;place-items:center;font:bold 14px Montserrat}.user-meta{display:grid;gap:2px;overflow:hidden}.user-meta strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta small{color:#9eadae;font-size:9px}.logout{margin-inline-start:auto;color:#ddd;background:transparent;border:0;font-size:20px}.workspace{flex:1;min-width:0}.topbar{padding:27px 34px 21px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);background:#fff}.eyebrow{color:var(--teal);font:700 9px Montserrat,Arial,sans-serif;letter-spacing:1.4px;direction:ltr;text-align:right}.topbar h1{font-size:23px;line-height:1.3;margin:5px 0 0;color:var(--deepest)}.top-actions{display:flex;align-items:center;gap:10px}.status-pill{background:#e1f3f2;color:#046765;font-weight:700;font-size:10px;padding:7px 12px;border-radius:100px;white-space:nowrap}.demo-banner{background:#fffbef;border-bottom:1px solid #f3e7c5;padding:10px 34px;color:#776222;font-size:11px}.workspace main{padding:28px 28px 44px;max-width:1740px;margin:auto}.page{display:none}.page.active{display:block}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;gap:24px}.editor-fields{display:flex;flex-direction:column;gap:15px;min-width:0}.panel{background:#fff;border:1px solid #e5ebea;border-radius:11px;padding:21px 23px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:8px}.panel-head>div:first-child{display:flex;align-items:center;gap:10px}.panel h2{margin:0;font-size:16px;color:#17383d}.step{font:700 10px Montserrat;color:var(--gold);background:#f8f4e8;padding:6px 9px;border-radius:5px}.panel-hint{font-size:9px;color:var(--muted);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 16px}.form-field{display:flex;flex-direction:column;gap:7px;color:#475f63;font-weight:700;font-size:11px;min-width:0}.form-field.full,.full{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea,.archive-tools input,.archive-tools select,.login-card input{width:100%;min-height:40px;border:1px solid #dce6e5;border-radius:7px;background:#fff;padding:9px 11px;color:#21383b;outline:none;transition:border-color .18s,box-shadow .18s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.archive-tools input:focus,.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #00999915}.form-field input::placeholder,textarea::placeholder{color:#a5b1b2}.readonly{background:#f3f6f6!important}.ltr-input{direction:ltr;text-align:left;font:500 13px Montserrat,Arial,sans-serif}.helper{font-size:10px;color:#90a0a2;font-weight:400}.form-field textarea{resize:vertical;min-height:98px;line-height:1.8}.items-scroll,.archive-scroll{overflow-x:auto}.items-table,.archive-table{width:100%;border-collapse:collapse;min-width:600px}.items-table th,.archive-table th{background:#f3f7f6;padding:12px 10px;color:#3b595b;white-space:nowrap;font-size:10px;text-align:right}.items-table td,.archive-table td{border-bottom:1px solid #ecf0ef;padding:7px 6px;vertical-align:middle}.items-table input{width:100%;border:1px solid #e1e9e8;border-radius:5px;padding:9px 8px;outline:0;font-size:11px;background:#fff}.items-table input:focus{border-color:var(--teal)}.items-table input[type=number]{min-width:63px;direction:ltr;text-align:center;font:500 11px Montserrat}.line-total{direction:ltr;text-align:left!important;white-space:nowrap;font:600 11px Montserrat;color:#09635e}.remove-line{background:#f8f0f0;color:#a64f4f;border:0;border-radius:6px;width:25px;height:27px}.items-actions{display:flex;justify-content:space-between;align-items:center;margin-top:13px;color:#829395}.finance-summary{margin-top:18px;background:#f5f8f8;border-radius:8px;padding:16px 17px;display:flex;justify-content:space-between;align-items:center;gap:20px}.finance-summary>div:first-child{display:grid;gap:5px}.finance-summary small{color:var(--muted);font-size:10px}.finance-summary strong{font:700 16px Montserrat;color:var(--deep)}.finance-total{display:flex;flex-direction:column;gap:5px;text-align:left}.finance-total span{font-weight:700;color:var(--ink);font-size:11px}.finance-total strong{font-size:22px!important}.editor-footer{display:flex;gap:11px;flex-wrap:wrap}.btn{border-radius:7px;border:1px solid transparent;padding:10px 16px;min-height:40px;display:inline-flex;justify-content:center;align-items:center;gap:5px;font-weight:800;white-space:nowrap;font-size:11px}.btn-primary{background:var(--deep);color:#fff}.btn-primary:hover{background:#004e4e}.btn-dark{background:var(--deepest);color:#fff}.btn-outline{border-color:#cbdad9;background:#fff;color:var(--deepest)}.btn-outline:hover{border-color:var(--teal);background:#f6fbfa}.btn-ghost{color:var(--deep);background:#eff8f7;border-color:#d9eeeb}.btn-ghost:hover{background:#e1f2ef}.preview-col{position:sticky;top:22px}.preview-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 13px}.preview-heading>div{display:flex;flex-direction:column;gap:4px}.preview-heading strong{font-size:13px}.preview-heading span{font-size:10px;color:var(--muted)}.a4-label{font:700 10px Montserrat;border:1px solid #dbe4e3;border-radius:5px;padding:4px 8px;color:#5f7374}.preview-paper{position:relative;aspect-ratio:595.3/841.9;width:100%;background:#fff;box-shadow:0 12px 28px #102d3124;overflow:hidden;border:1px solid #e6ebea}.preview-paper img{width:100%;height:100%;object-fit:fill;display:block}.pdf-overlay{position:absolute;inset:0;pointer-events:none}.overlay-field{position:absolute;overflow:hidden;white-space:nowrap;color:#182b2b;text-align:right;direction:rtl;font-family:'MadaniArabic-Regular','Cairo',Tahoma,sans-serif;font-size:clamp(3px,.95vw,10px);line-height:1.2}.overlay-field.numeric{font-family:Montserrat,'Cairo',sans-serif;text-align:center;direction:ltr}.overlay-field.notes{white-space:pre-wrap;overflow:hidden;line-height:1.6}.preview-tip{font-size:10px;color:#829090;line-height:1.8;padding-top:11px}.archive-tools{display:flex;gap:10px;margin-bottom:15px}.archive-tools input{flex:1}.archive-tools select{max-width:165px}.archive-table{min-width:840px}.archive-table td{padding:13px 10px;font-size:11px}.row-actions{display:flex;gap:4px}.mini-btn{border:1px solid #d8e5e4;background:#fff;color:#006866;border-radius:5px;padding:5px 7px;font-weight:700;font-size:10px}.mini-btn:hover{background:#ecf9f7}.badge-status{display:inline-flex;border-radius:5px;padding:5px 8px;background:#eaf1f1;color:#435b5b;font-weight:700;white-space:nowrap}.badge-status.approved{background:#e3f3e8;color:#257148}.badge-status.sent{background:#e4f0f9;color:#256482}.badge-status.cancelled{background:#f8e7e5;color:#a5544a}.empty-state{padding:45px;text-align:center;color:#849395}.info-text{line-height:1.95;color:#617275}.alert{padding:13px 15px;background:#fffae9;border:1px solid #f0e2b4;color:#826a28;border-radius:8px;margin:13px 0 24px}.subheading{font-size:13px;margin:20px 0 13px;color:#173d3d}.team-list{display:grid;gap:10px}.team-row{display:flex;justify-content:space-between;align-items:center;border:1px solid #e5eeec;padding:12px;border-radius:8px}.team-row strong{display:block}.team-row small{color:#728486}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-grid>div{border-bottom:1px solid #e6eceb;padding-bottom:10px;display:grid;gap:4px}.settings-grid small{color:#90a0a0}.settings-grid strong{font-size:12px}.separator{border-top:1px solid var(--line);margin-top:20px}.button-field{justify-content:end}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 80%,#0a6664 0%,#142b30 60%,#101c1f 100%);padding:18px}.login-card{background:#fff;box-shadow:0 16px 54px #0004;max-width:395px;width:100%;border-radius:15px;padding:31px}.login-logo{width:200px;display:block;margin:0 auto 25px}.login-card h1{font-size:22px;margin:10px 0 5px}.login-card p{color:#728484;line-height:1.7}.login-card form{display:grid;gap:13px;margin-top:24px}.login-card label{font-weight:700;font-size:11px;display:grid;gap:7px}.full-width{width:100%}.login-note{margin-top:17px;font-size:10px;text-align:center;color:#98a3a3}.toast{position:fixed;bottom:24px;left:26px;background:#17363b;color:#fff;padding:13px 17px;border-radius:9px;box-shadow:0 6px 20px #0003;font-weight:700;z-index:1000;max-width:400px}.toast.error{background:#8d3c3d}#print-area{display:none}
@media(max-width:1200px){.editor-grid{grid-template-columns:minmax(0,1fr) 300px;gap:15px}.workspace main{padding:20px}.panel{padding:16px}.sidebar{width:210px;min-width:210px}}
@media(max-width:960px){.sidebar{width:74px;min-width:74px}.identity{padding:14px 8px}.identity-logo{width:58px;height:53px;padding:5px;object-fit:contain}.identity-caption,.identity-rule,.sidebar-footer .user-meta{display:none}.nav{padding:10px 6px}.nav-btn{font-size:0;justify-content:center;padding:12px}.nav-icon{font-size:19px}.sidebar-footer{justify-content:center;padding:13px}.editor-grid{grid-template-columns:1fr 300px}.topbar{padding:24px}.logout{display:none}}
@media(max-width:760px){.app-shell{display:block;padding-bottom:60px}.sidebar{position:fixed;z-index:10;top:auto;bottom:0;left:0;right:0;width:100%;min-width:0;height:59px;min-height:59px}.sidebar .identity,.sidebar .identity-rule,.sidebar .sidebar-spacer,.sidebar .sidebar-footer{display:none}.nav{display:grid;grid-template-columns:repeat(4,1fr);padding:3px;gap:2px}.nav-btn{font-size:9px;display:flex;flex-direction:column;gap:3px;padding:6px 3px;border-radius:7px}.nav-icon{font-size:15px}.topbar{padding:18px}.topbar h1{font-size:18px}.top-actions .btn{display:none}.workspace main{padding:14px}.demo-banner{padding:9px 15px}.editor-grid{grid-template-columns:1fr}.preview-col{position:static;max-width:460px;margin:auto;width:100%}.panel{padding:15px 13px}.form-grid{gap:12px}.finance-summary{padding:12px}.archive-tools{flex-direction:column}.archive-tools select{max-width:none}.settings-grid{grid-template-columns:1fr}}
@media print{@page{size:A4 portrait;margin:0}html,body{margin:0!important;padding:0!important;background:#fff!important;width:210mm;height:297mm;overflow:visible}.app-shell,.login-screen,.toast{display:none!important}#print-area{display:block!important;position:relative!important;width:210mm!important;height:297mm!important;page-break-inside:avoid;break-inside:avoid;overflow:hidden;background:#fff}#print-area>img{width:210mm!important;height:297mm!important;display:block!important;object-fit:fill}#print-area .pdf-overlay{position:absolute;inset:0}#print-area .overlay-field{font-size:7.5pt!important}#print-area .overlay-field.notes{font-size:7pt!important;line-height:1.5}}

/* DPM password recovery flow */
#login-screen[hidden], #app-shell[hidden], .login-card form[hidden], .login-card button[hidden] {display:none!important}
.login-card .dpm-link{border:0;background:none;cursor:pointer;color:#006666;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;display:block;margin:15px auto 0}
.login-card .dpm-help{font-size:11px;line-height:1.9;color:#50696d;margin:2px 0 5px}
