@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;600;700;800&display=swap');
:root{--green:#123a31;--deep:#092a23;--lightgreen:#e9f0eb;--gold:#b08b46;--gold2:#d3b979;--bg:#f5f7f4;--line:#e4e9e3;--text:#23392f;--sub:#748178;--white:#fff;--danger:#a44241;--shadow:0 10px 38px #18372a10}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Tajawal','Segoe UI',Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:256px;background:var(--green);color:#fff;min-height:100vh;position:sticky;top:0;padding:26px 15px;flex-shrink:0;display:flex;flex-direction:column;gap:18px}.logo{font-size:38px;color:#e2cc94;font-weight:750;letter-spacing:-2px;line-height:1.2}.brand-sub{font-size:11px;letter-spacing:1.9px;color:#adc4b7;margin-top:7px}.nav{display:grid;gap:7px}.nav button{color:#d1dfd8;border:0;background:transparent;text-align:right;border-radius:12px;padding:13px 15px;font-weight:600}.nav button.active,.nav button:hover{background:#255344;color:#fff}.nav .sym{display:inline-block;width:28px;text-align:center;margin-left:7px;color:#dac48e}.side-foot{margin-top:auto;border-top:1px solid #ffffff22;padding-top:18px;font-size:12px;color:#b5cabe;line-height:1.9}.workspace{flex:1;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 30px;border-bottom:1px solid var(--line);background:#fff}.top .small{color:var(--sub);font-size:12px;margin-bottom:6px}.top h1{margin:0;font-size:22px}.user-box{display:flex;align-items:center;gap:10px;font-size:13px}.avatar{background:var(--lightgreen);color:var(--green);width:37px;height:37px;display:grid;place-items:center;border-radius:12px;font-weight:bold}.main{padding:26px 30px 65px;max-width:1460px;margin:auto}.banner{background:linear-gradient(120deg,#123a31,#1c5142);color:#fff;border-radius:19px;padding:29px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}.banner:after{content:'✦';font-size:155px;position:absolute;left:10%;top:-28px;color:#ffffff0b}.banner h2{font-size:25px;margin:0 0 10px}.banner p{margin:0;color:#d0ded2;line-height:1.9;font-size:13px}.pill{border:1px solid #c9a86999;color:#ffe0a0;padding:7px 13px;border-radius:30px;font-size:12px;white-space:nowrap}.demo-pill{display:inline-block;color:#764b16;background:#fff0cb;padding:6px 10px;border-radius:15px;font-size:11px;font-weight:bold}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:21px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px 20px;box-shadow:0 5px 20px #18372a08}.stat .st-label{font-size:12px;color:var(--sub)}.stat strong{display:block;font-size:31px;color:var(--green);margin:13px 0 0}.stat small{font-size:11px;color:#9ca69e}.cols{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px;box-shadow:0 4px 22px #18372a06;margin-bottom:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.card h3{margin:0;font-size:17px;color:var(--green)}.hint{color:var(--sub);font-size:12px;line-height:1.8}.btn{padding:11px 16px;border-radius:10px;border:1px solid #d5dfd6;background:#fff;color:var(--green);font-weight:700;font-size:13px;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn.mini{padding:7px 11px;font-size:11px}.btn.danger{border-color:#d8aaaa;color:var(--danger)}.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.input,select,textarea{border:1px solid #d9e3da;border-radius:10px;background:#fff;color:var(--text);padding:11px 12px;min-width:0;outline:0}.input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b08b4620}.tools .input{flex:1;min-width:170px}.list{display:grid;gap:13px}.item{border:1px solid var(--line);padding:17px 18px;border-radius:13px;background:#fff}.item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.item h4{margin:0 0 9px;font-size:14px}.meta{font-size:11px;color:var(--sub);line-height:1.9}.status{font-size:11px;display:inline-block;border-radius:15px;background:#f6f0df;color:#87692e;padding:6px 10px;white-space:nowrap}.status.complete{background:#e2f2e9;color:#23744c}.status.fail{background:#f9eae8;color:#a34b42}.progress{display:flex;align-items:center;gap:10px;margin-top:13px}.track{height:8px;background:#e7eee8;border-radius:14px;flex:1;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,#b08b46,#cfb27b);border-radius:14px}.rows{display:grid;gap:10px}.mini-row{border-bottom:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}.mini-row:last-child{border:0}.empty{color:var(--sub);font-size:13px;padding:30px 8px;text-align:center}.modal-overlay{position:fixed;inset:0;background:#0b241db0;display:grid;place-items:center;z-index:10;padding:16px;backdrop-filter:blur(3px)}.modal{background:#fff;max-height:min(90vh,850px);overflow:auto;width:min(620px,100%);border-radius:18px;padding:25px}.modal.wide{width:min(730px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:12px}.modal-header h3{margin:0;color:var(--green)}.modal .close{background:#f1f5f1;border:0;border-radius:10px;padding:6px 12px;font-size:22px}.field{display:grid;gap:6px;margin:13px 0}.field label{font-size:12px;color:#51685a;font-weight:700}.field .input,.field select,.field textarea{width:100%}.field textarea{min-height:75px;resize:vertical}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail{border:1px solid #e9efe9;border-radius:12px;padding:14px;margin:12px 0}.detail h4{margin:0 0 12px;color:var(--green)}.detail p{font-size:12px;line-height:1.8;margin:6px 0}.line{border:0;border-top:1px solid var(--line);margin:20px 0}.notice{padding:12px;border-radius:12px;background:#fff8e7;border:1px solid #f2e1b4;color:#795f33;font-size:12px;line-height:1.8}.login-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 22% 12%,#2e5a46,#0f3128 65%);padding:20px}.login-card{width:min(440px,100%);background:white;border-radius:22px;padding:32px;box-shadow:0 20px 70px #021a1190}.login-brand{font-size:45px;color:var(--green);font-weight:800}.login-card h2{margin:6px 0}.login-card p{color:var(--sub);line-height:1.9;font-size:13px}.login-card .btn{width:100%}.demo-roles{margin-top:18px;display:grid;gap:9px}.demo-roles button{text-align:right}.muted{color:var(--sub)}.small{font-size:12px}.notif-dot{font-size:10px;color:#c99743}.tag{font-size:10px;padding:5px 9px;background:#edf3ed;border-radius:12px;color:#426352}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}#toast{position:fixed;bottom:22px;left:24px;z-index:40;background:#173d32;color:white;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none;max-width:min(480px,90vw);font-size:13px;line-height:1.7}#toast.show{opacity:1;transform:translateY(0)}.menu-btn{display:none}.notification-badge{background:#bf8d38;color:white;font-size:10px;border-radius:50%;padding:2px 6px}#app .loading{text-align:center;padding:120px 20px}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.cols{grid-template-columns:1fr}.sidebar{width:220px}}@media(max-width:750px){.shell{display:block;padding-bottom:71px}.sidebar{width:100%;height:65px;min-height:0;position:fixed;bottom:0;top:auto;z-index:4;padding:8px;flex-direction:row;align-items:center;overflow:auto;gap:0}.sidebar .brand,.sidebar .side-foot{display:none}.nav{display:flex;width:100%;justify-content:space-around;gap:2px}.nav button{font-size:10px;min-width:57px;text-align:center;padding:8px 3px;white-space:nowrap}.nav .sym{display:block;width:auto;margin:0 0 3px;font-size:17px}.top{padding:17px}.top h1{font-size:17px}.top .user-box .small{display:none}.main{padding:16px}.banner{padding:24px 20px}.banner h2{font-size:20px}.stats{gap:9px}.stat{padding:15px}.stat strong{font-size:25px}.card{padding:17px}.twocol{grid-template-columns:1fr}.modal{padding:18px}.item-head{flex-direction:column}.cols{gap:0}}

/* Laftah original gold wordmark from the provided reference artwork */
.logo-image{display:block;width:124px;height:auto;object-fit:contain;filter:drop-shadow(0 1px 1px #00000012)}
.logo-image-login{width:158px;margin:0 auto 10px}
.login-brand{text-align:center}.sidebar .brand{padding:4px 10px 12px}.sidebar .brand-sub{letter-spacing:1.5px}
.modal .detail h4{padding-bottom:6px;border-bottom:1px solid #eee7d7}
@media(max-width:750px){.top{border-top:3px solid var(--gold)}}

/* v8 — Visual system: executive actions, evidence, verification, approvals and outcomes */
:root{--green:#0d382e;--deep:#09271f;--gold:#a9823e;--gold2:#dbbd80;--bg:#f6f5f1;--line:#e8e8e2;--sub:#697c72;--shadow:0 16px 50px #0d382e0e}
body{background:radial-gradient(ellipse at top left,#edece2 0,transparent 38%),var(--bg)}
.sidebar{background:linear-gradient(175deg,#0a332a 0%,#0d3d30 58%,#09271f 100%);border-left:1px solid #d4b87b33;box-shadow:-5px 0 28px #09271f16}
.sidebar:before{content:'';height:3px;position:absolute;top:0;right:0;left:0;background:linear-gradient(90deg,transparent,#d6b677,transparent)}
.nav button{display:flex;align-items:center;gap:5px;transition:background .2s,padding .2s;font-size:13px}
.nav button.active{background:linear-gradient(90deg,#28594b,#214f40);border-right:3px solid #d5b77a;color:#fff}
.nav .sym{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;margin-left:8px;color:#dcc38b}
.uicon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex:none;margin-left:5px}
.uicon svg,.sym svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sym svg{width:19px;height:19px}
.top{padding:22px 36px;background:rgba(255,255,255,.93);box-shadow:0 1px 13px #0d382e07}
.top h1{font-size:24px;letter-spacing:-.5px}
.main{padding-top:28px}
.banner{border:1px solid #d3b77940;background:radial-gradient(circle at 12% 90%,#325c49 0,transparent 37%),linear-gradient(125deg,#0d372b,#164737 70%,#0c2c22);box-shadow:0 16px 40px #0c352228}
.banner:after{content:'✦';font-size:200px;left:7%;top:-56px;color:#cfad5e16}
.banner:before{content:'';width:6px;height:65%;position:absolute;right:0;top:17%;border-radius:15px;background:linear-gradient(#e1c990,#9a712f)}
.banner h2{font-size:25px}
.banner p{font-size:14px}
.stats{gap:13px}
.stat{position:relative;overflow:hidden;border-radius:18px;padding:22px;border-color:#e5e8e0;box-shadow:0 8px 25px #0c352207}
.stat:before{content:'';position:absolute;top:0;right:0;width:45px;height:3px;background:var(--gold2)}
.stat strong{font-size:34px}
.card{border-radius:20px;box-shadow:0 9px 30px #0c352207;padding:25px}
.card h3{font-size:18px}
.item{border-radius:15px;border:1px solid #e5eae4;background:linear-gradient(180deg,#fff,#fdfefa);transition:border-color .2s,box-shadow .2s}
.item:hover{border-color:#d4c79f;box-shadow:0 6px 20px #243a2309}
.proposal-item .item-head h4{font-size:16px;margin-top:7px}
.eyebrow{color:#9a753c;font-size:11px;font-weight:800;display:flex;align-items:center;letter-spacing:.1px}
.proposal-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:15px 0 4px}
.soft-chip,.deadline,.outcome-label{display:inline-flex;align-items:center;border:1px solid #eee6d8;border-radius:999px;padding:7px 12px;font-weight:700;font-size:11px;white-space:nowrap;background:#f9f7ef;color:#846a40}
.soft-chip svg,.deadline svg,.outcome-label svg{width:14px;height:14px}
.deadline{background:#f1f6ee;border-color:#dce9d5;color:#3a684a}
.deadline.overdue{background:#fff1ed;color:#ad5748;border-color:#f0cfc7}
.outcome-label.success{background:#e7f3e9;color:#267847;border-color:#cfe8d4}
.outcome-label.failed{background:#faece8;color:#af5144;border-color:#f0d4ce}
.btn{box-shadow:0 2px 8px #102a1b06}
.btn.primary{background:linear-gradient(110deg,#104637,#0e352a)}
.btn.gold{background:linear-gradient(110deg,#a67d38,#bd9c59);color:#fff}
.btn .uicon svg{width:15px;height:15px}
.status{font-weight:700}
.proposal-overview{border:1px solid #e6e6dc;background:linear-gradient(120deg,#f9faf5,#f5f6ec);border-radius:16px;padding:22px;display:flex;justify-content:space-between;gap:15px;align-items:start}
.proposal-overview h3{font-size:22px;color:var(--green);margin:9px 0}
.proposal-overview p{font-size:13px;line-height:1.8;color:var(--sub);margin:0}
.proposal-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:17px 0}
.flow-step{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px dashed #dde5df;background:#f7f8f5;padding:14px 8px;text-align:center;border-radius:12px;color:#95a198;min-height:90px}
.flow-step .uicon{color:inherit;margin:0}
.flow-step .uicon svg{width:25px;height:25px}
.flow-step b{font-size:11px;line-height:1.5}
.flow-step.done{border:1px solid #cfdacb;background:#eaf3e9;color:#316447}
.detail{background:#fff;border-radius:15px;padding:19px;border-color:#e6e9df}
.detail h4{font-size:15px;color:var(--green);display:flex;align-items:center;gap:6px}
.detail h4 .uicon{color:#ad8849}
.req{font-size:10px;color:#a64b43;font-style:normal;background:#fae9e7;border-radius:6px;padding:3px 6px}
.file-stack{display:grid;gap:9px;margin:15px 0}
.doc-tile{width:100%;border:1px solid #dce6db;background:#f7faf6;border-radius:12px;display:flex;align-items:center;text-align:right;gap:9px;padding:11px 13px;color:var(--green)}
.doc-tile span:not(.uicon){flex:1;font-size:13px;font-weight:700}
.doc-tile small{color:var(--sub);font-size:10px}
.doc-tile .uicon{color:#9b773d}
.result-banner{display:flex;align-items:center;gap:8px;border-radius:12px;padding:17px 20px;font-size:19px;font-weight:800}
.result-banner.success{background:#e5f4e9;color:#277448}.result-banner.failed{background:#fae9e7;color:#a84f45}
.modal{box-shadow:0 30px 100px #051b1466;border-top:4px solid var(--gold2);border-radius:20px}
.modal.wide{width:min(800px,100%)}
.modal-title{display:flex;align-items:center;gap:8px}.modal-title .uicon{color:var(--gold)}
.future-page{border:1px solid #e5e8dc;border-radius:23px;background:linear-gradient(120deg,#fff,#f7f6ec);min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;gap:8px;box-shadow:var(--shadow)}
.future-icon{width:84px;height:84px;border-radius:23px;display:grid;place-items:center;background:#eff3eb;color:#9a7740}
.future-icon .uicon svg{width:42px;height:42px}
.future-page h2{color:var(--green);margin:6px}
.future-page p{color:var(--sub);max-width:570px;line-height:1.8;font-size:13px}
.future-page .notice{max-width:620px}
@media(max-width:760px){.nav button{display:block;font-size:10px;text-align:center;min-width:55px;padding:8px 2px}.sidebar .nav .sym{display:grid;width:100%;margin:0 0 5px}.nav .sym svg{width:17px;height:17px}.top{padding:16px}.main{padding-top:17px}.banner:before{height:80%}.proposal-timeline{grid-template-columns:repeat(2,1fr)}.proposal-overview{flex-wrap:wrap;padding:17px}.proposal-overview h3{font-size:18px}.flow-step{min-height:75px}.card{padding:16px}.doc-tile{flex-wrap:wrap}.stats{grid-template-columns:repeat(2,1fr)}}

/* Password recovery link */
.recovery-link{color:#86642c;text-decoration:underline;text-underline-offset:4px;font-weight:700}.recovery-link:focus-visible{outline:3px solid #bd9a57;outline-offset:3px}.recovery-info{text-align:center;font-size:13px;color:#5c6e60;line-height:1.9}.recovery-note{font-size:12px;line-height:1.9;margin-top:14px;color:#65796b}.login-card .recovery-message{font-size:13px;line-height:1.85;padding:12px;border-radius:10px;background:#e8f2eb;border:1px solid #bfdcc8;margin:13px 0;color:#27583c}.login-card .recovery-error{background:#fff1ee;border-color:#ecc6c0;color:#943c39}.login-card button{margin-top:6px}.login-card .password-head{font-weight:700;color:#183d32}.login-card a.back-link{display:block;text-align:center;font-size:12px;margin-top:17px;color:#86642c}
