@font-face{font-family:Tajawal;src:url('tajawal-regular.ttf');font-weight:400;font-display:swap}@font-face{font-family:Tajawal;src:url('tajawal-bold.ttf');font-weight:500 900;font-display:swap}
:root{--ink:#18283e;--sub:#8191a7;--blue:#2869ef;--line:#e7edf6;--bg:#f5f8fd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 Tajawal,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a[href]{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #91bbff;outline-offset:3px}button{background:#fff;border:1px solid var(--line);color:#48617e;padding:8px 13px;border-radius:8px;min-height:40px;display:inline-flex;gap:7px;align-items:center;justify-content:center}button:hover{background:#edf4ff;border-color:#b8d0ff}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#1957d5;color:white}.soft{background:#eef4ff;border-color:#d8e5ff;color:var(--blue)}.danger{color:#b75c53}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}a{color:var(--blue);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.4}h2{font-size:19px}h3{font-size:16px}small,.muted{color:var(--sub);font-size:12px}strong{font-weight:700}.layout{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(175deg,#182c42,#152232);color:#bfcbda;padding:25px 14px;display:flex;flex-direction:column;gap:25px}.brand{font-size:28px;font-weight:700;color:#fff;display:flex;align-items:center;gap:9px;padding:0 12px}.brand .icon{width:33px;height:40px;color:#3098ff}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:400;color:#71879f}.sidebar nav{display:grid;gap:7px}.sidebar a{display:flex;gap:12px;align-items:center;padding:12px;color:#c2cfdf;border-radius:9px;font-size:15px}.sidebar a:hover{background:#223d59}.sidebar a.active{background:var(--blue);color:#fff;box-shadow:0 6px 18px #0964ff25}.sidebar .bottom{margin-top:auto}.workspace{min-width:0}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:16px 27px;gap:20px;border-bottom:1px solid var(--line);background:#ffffffa6}.identity{display:flex;align-items:center;gap:10px;white-space:nowrap}.avatar{width:39px;height:39px;display:grid;place-items:center;background:#e6efff;color:var(--blue);border-radius:50%;font-weight:700}.identity small{display:block;font-size:11px}.search{display:flex;align-items:center;gap:10px;background:#f2f6fc;border:1px solid #e3ecf9;border-radius:10px;padding:0 13px;width:min(430px,55%);color:#8194ae}.search input{border:0;background:transparent;min-width:0;width:100%;padding:11px 0;font-size:14px;outline:none}.local-badge{font-size:11px;color:#73849b;display:flex;align-items:center;gap:6px}.dot{width:6px;height:6px;border-radius:50%;background:#0aa69e;display:inline-block}.main{padding:25px 27px 32px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px;flex-wrap:wrap}.page-head p{color:var(--sub);font-size:13px;margin-top:4px}.eyebrow{font-size:11px;color:#98a8bb;margin-bottom:4px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;min-width:0;box-shadow:0 3px 15px #375f9103}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.panel-title .icon{color:var(--blue)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:18px}.stat{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);min-width:0}.stat .value{font-size:29px;line-height:1.4;font-weight:700;margin-top:4px}.stat .value small{font-size:12px;font-weight:400}.stat .symbol{color:var(--blue);background:#edf3ff;padding:11px;border-radius:13px}.stat .symbol.teal{background:#e8faf4;color:#16a778}.stat .symbol.orange{background:#fff2e5;color:#e98532}a.stat{background:#f4f8ff;border-color:#d4e3ff}a.stat:hover{background:#eaf2ff}.open-label{display:inline-flex;gap:6px;align-items:center;color:var(--blue);font-size:12px;font-weight:700}.open-label .icon{width:15px;height:15px}.quick-panel{margin-bottom:18px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:right;padding:16px;border:1px solid #cbdfff;background:linear-gradient(120deg,#f5f9ff,#edf3ff);border-radius:10px;color:#264a9c;min-width:0;transition:transform .15s,box-shadow .15s}.quick:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2869ef0c}.quick.teal{color:#0c7975;background:#edfbfa;border-color:#bdece7}.quick.orange{color:#a8571a;background:#fff6ee;border-color:#f7d7bc}.quick .icon{width:30px;height:30px}.quick strong{display:block;font-size:18px}.quick p{font-size:12px;color:#8a9ab1;margin:2px 0 9px}.quick .open-label{background:#e1ecff;border-radius:6px;padding:3px 9px}.quick.teal .open-label{color:#008f89;background:#d9f6f3}.quick.orange .open-label{color:#bf6726;background:#ffead9}.home-grid,.split{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:16px}.job-row{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(100px,1fr) auto;gap:13px;align-items:center;padding:15px 0;border-top:1px solid #edf2fa}.job-summary{display:flex;align-items:center;gap:12px;min-width:0}.window-thumb{background:#f3f6fb;border:1px solid #e7edf5;width:47px;height:47px;display:grid;place-items:center;border-radius:7px;color:#96a8bb;flex-shrink:0}.window-thumb .icon{width:29px;height:34px}.job-summary small{display:block;font-size:11px}.tag{display:inline-flex;gap:5px;align-items:center;padding:3px 8px;font-size:11px;border-radius:5px;background:#e8f9f2;color:#2c9b77}.tag.blue{background:#eaf2ff;color:#3974cb}.tag.orange{background:#fff1e3;color:#bb793e}.tag.gray{background:#eff2f6;color:#8796aa}.open-button{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;min-height:36px;border-radius:7px;background:#eaf2ff;color:#3477e7;font-size:12px;font-weight:700;border:1px solid #dae7ff}.open-button:hover{background:#dceaff}.task{background:#fbfcff;border:1px solid #edf1f8;padding:12px;border-radius:9px;margin-top:10px}.task p{font-size:12px;color:#8a9bb1;margin:4px 0 10px}.task strong{font-size:15px}.task .open-button{font-size:11px;min-height:32px}.legend{display:flex;gap:12px;align-items:center;font-size:11px;color:#97a5b7;margin-top:18px;flex-wrap:wrap}.legend .sample{padding:3px 8px;border-radius:5px;background:#edf4ff;color:#3b78dc}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:19px}.tabs a{padding:7px 12px;background:#fff;border:1px solid var(--line);border-radius:7px;color:#8697ac;font-size:13px}.tabs a.active{color:#2e6fdf;background:#edf4ff;border-color:#ccdefc}.toolbar,.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.actions{margin-top:16px}.stack{display:grid;gap:16px}.data-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf2f8;flex-wrap:wrap}.data-row:last-child{border:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:6px;min-width:0;font-size:13px;color:#5f7390}.field.full{grid-column:1/-1}input,select,textarea{padding:10px 12px;border:1px solid #dce6f2;background:#fff;color:#2d4666;border-radius:8px;width:100%;min-width:0;font-size:16px}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--blue)}textarea{resize:vertical;min-height:86px}.empty{padding:26px 15px;text-align:center;color:#90a1b8;font-size:14px}.note{background:#f3f7ff;color:#6b83a6;border-radius:8px;padding:11px 13px;font-size:12px;margin-top:14px}.note.orange{background:#fff6ec;color:#b18151}.checks{display:grid;gap:12px}.checks label{display:flex;align-items:center;gap:9px}.stepper{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.stepper span{padding:6px 10px;background:#eaf0f8;color:#879ab4;border-radius:6px;font-size:12px}.stepper span.active{background:#e0edff;color:#256ae2}.price{background:linear-gradient(125deg,#edf5ff,#f2f7ff);padding:17px;border-radius:10px;color:#2a65c8;margin-top:12px}.price strong{font-size:29px;display:block}.window-drawing{width:min(300px,100%);margin:18px auto}.window-drawing .frame{border:7px double #60758f;background:#e3eef7;height:180px;display:flex;align-items:stretch}.window-drawing .frame span{flex:1;display:grid;place-items:center;color:#3f8bc9;font-size:25px}.window-drawing .frame span+span{border-right:4px solid #60758f}.dimension{text-align:center;font-size:12px;color:#8ba0ba;padding:4px}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lane{background:#edf2fa;border-radius:10px;padding:12px}.lane h3{margin-bottom:12px}.lane a{display:block;background:white;border:1px solid #d5e4fb;padding:13px;border-radius:9px;margin-top:9px;color:var(--ink)}.lane a small{display:block}.lane a .open-label{margin-top:10px}.rail{display:flex;gap:3px;direction:ltr;margin:12px 0;height:42px;align-items:stretch}.piece{background:#407de1;color:white;display:grid;place-items:center;font-size:11px;border-radius:3px;min-width:0;overflow:hidden}.piece.remnant{background:#d8e9e7;color:#348b80}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:right;color:#8e9fb5;font-weight:400;background:#f7faff}th,td{padding:11px;border-bottom:1px solid #edf2f9}td small{display:block}.mobile-nav{display:none}.bottom-nav{display:none}.phone{max-width:410px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.phone .avatar{margin-bottom:10px}.phone h1{font-size:23px}.phone .stats{margin-top:17px;gap:7px}.phone .stat{padding:10px}.phone .stat .value{font-size:20px}.phone .quick{margin-top:12px}.receipt{background:#fff;border:1px solid #dfe8f3;border-radius:9px;padding:24px}.receipt .total{font-size:25px;color:#2364cd}dialog{border:0;border-radius:15px;padding:0;width:min(600px,calc(100% - 28px));color:var(--ink);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 24px 80px #12233930}dialog::backdrop{background:#10223c73;backdrop-filter:blur(3px)}dialog form{padding:23px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px}.dialog-head button{font-size:23px;padding:1px 10px;border:0}.dialog-actions{display:flex;gap:9px;margin-top:20px}#fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}#form-error{color:#b75c53;font-size:13px;margin-top:13px}#toast{position:fixed;bottom:24px;left:24px;background:#172c44;color:#fff;padding:13px 19px;border-radius:10px;box-shadow:0 10px 30px #15273c30;max-width:calc(100% - 48px);z-index:20;font-size:14px}.storage-error{background:#fff1e9;border:1px solid #f3c49c;color:#a76435;padding:12px;font-size:13px}.photo{width:100%;max-height:240px;object-fit:contain;margin-top:12px}.help{border:0;background:transparent;color:#8da1bc;padding:0;font-size:12px}.finance-highlight{font-size:24px;color:#2f6dde}.subtle-label{font-size:11px;color:#9cabc0}.hide{display:none!important}.mobile-logo{display:none}
@media(max-width:1100px){.home-grid,.split{grid-template-columns:1fr}.quick strong{font-size:16px}.layout{grid-template-columns:170px minmax(0,1fr)}.main{padding:22px}.topbar{padding:15px 22px}.quick{padding:13px}.quick .icon{width:25px;height:25px}}
@media(max-width:700px){.layout{display:block}.sidebar{display:none}.topbar{height:70px;padding:12px 16px;background:#fff}.search{display:none}.identity{font-size:13px}.avatar{width:34px;height:34px}.local-badge{display:none}.mobile-logo{display:flex;font-size:23px;color:#1a2c44;gap:7px;font-weight:700}.mobile-logo .icon{color:#2887ed;width:27px;height:30px}.main{padding:20px 15px 86px}.page-head{gap:11px;margin-bottom:18px}.page-head h1{font-size:25px}.page-head p{font-size:12px}.page-head>.primary{min-height:42px;padding:8px 13px;font-size:12px}.stats{gap:7px;margin-bottom:15px}.stat{padding:11px 10px;display:block;border-radius:10px}.stat .symbol{display:none}.stat .value{font-size:23px;white-space:normal;margin-top:4px}.stat small{font-size:10px;display:block;min-height:29px}.stat .value small{display:inline;min-height:0}.stat .open-label{font-size:10px}.panel{padding:15px;border-radius:11px}.panel-title h2{font-size:18px}.quick-grid{grid-template-columns:1fr}.quick{padding:14px 16px}.quick strong{font-size:18px}.quick .icon{width:30px;height:30px}.quick p{margin-bottom:7px}.quick .open-label{padding:2px 9px}.home-grid{gap:14px}.job-row{grid-template-columns:1fr auto;gap:10px;padding:13px 0}.job-row .job-status{grid-row:2;grid-column:1;font-size:11px}.job-row>.open-button{grid-column:2;grid-row:1/3}.job-summary{gap:9px}.job-summary strong{font-size:14px}.window-thumb{width:39px;height:40px}.window-thumb .icon{width:25px;height:29px}.mobile-nav{display:block;margin-bottom:15px}.mobile-nav summary{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 13px;list-style:none;display:flex;justify-content:space-between;font-size:13px;color:#7287a3}.mobile-nav summary:after{content:'☰';color:var(--blue)}.mobile-nav nav{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#fff;border:1px solid var(--line);padding:10px}.mobile-nav a{background:#f0f6ff;padding:9px 11px;border-radius:6px;font-size:13px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffffffa;border-top:1px solid #e5ecf6;justify-content:space-around;padding:9px 3px max(9px,env(safe-area-inset-bottom));z-index:9;box-shadow:0 -3px 14px #325b8e04}.bottom-nav a{color:#869bb6;display:grid;justify-items:center;gap:2px;font-size:10px;min-width:51px;min-height:39px}.bottom-nav a.active{color:var(--blue)}.bottom-nav .icon{width:21px;height:21px}.fields,#fields{gap:12px}.field{font-size:12px}input,select,textarea{font-size:16px;padding:9px}.board{grid-template-columns:1fr}.tabs{gap:6px}.tabs a{font-size:12px;padding:7px 10px}.toolbar button,.actions button{font-size:12px}.legend{font-size:10px;gap:8px}.stepper{gap:5px}.stepper span{font-size:11px;padding:5px 8px}.data-row{font-size:13px}#toast{left:15px;right:15px;bottom:85px;max-width:none}dialog form{padding:18px}.table-wrap{max-width:100%}}
@media(max-width:359px){.fields,#fields{grid-template-columns:1fr}.field.full{grid-column:auto}.stat .value{font-size:20px}.stat{padding:10px 8px}.job-summary strong{font-size:13px}.open-button{font-size:11px;padding:7px}.window-thumb{display:none}}
@media print{body{background:#fff}.sidebar,.topbar,.mobile-nav,.bottom-nav,.tabs,.actions,.page-head,.legend,.toolbar{display:none!important}.layout{display:block}.main{padding:0}.panel,.receipt{border:0;box-shadow:none}#toast,dialog{display:none}}
