@font-face{font-family:The Year of Handicrafts;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/TheYearofHandicrafts-Regular.otf) format("opentype")}@font-face{font-family:The Year of Handicrafts;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/TheYearofHandicrafts-Medium.otf) format("opentype")}@font-face{font-family:The Year of Handicrafts;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/TheYearofHandicrafts-SemiBold.otf) format("opentype")}@font-face{font-family:The Year of Handicrafts;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/TheYearofHandicrafts-Bold.otf) format("opentype")}@font-face{font-family:The Year of Handicrafts;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/TheYearofHandicrafts-Black.otf) format("opentype")}@font-face{font-family:The Year of Handicrafts;font-weight:900;font-style:normal;font-display:swap;src:url(/fonts/TheYearofHandicrafts-Black.otf) format("opentype")}:root{--direction-blue: #0A2A6B;--direction-green: #7FF03A;--blue-950: #050F2B;--blue-900: #0A2A6B;--blue-800: #122F75;--blue-700: #1B3F92;--blue-600: #2A52B5;--blue-500: #3A6BD8;--blue-100: #DDE5F5;--blue-50: #EDF1FA;--green-600: #5FCC1E;--green-500: #7FF03A;--green-400: #9CF566;--green-100: #E5FBD2;--white: #FFFFFF;--soft-gray: #EFEFEF;--mid-gray: #5A6470;--near-black: #000000;--gray-50: #F7F8F9;--gray-100: #EFEFEF;--gray-200: #E2E4E8;--gray-300: #C9CCD3;--gray-400: #9AA0AB;--gray-500: #5A6470;--gray-700: #2F3540;--gray-900: #15181F;--surface-brand: var(--blue-900);--surface-default: var(--white);--surface-muted: var(--soft-gray);--surface-inverse: var(--near-black);--fg-1: var(--blue-900);--fg-2: var(--mid-gray);--fg-3: var(--gray-400);--fg-on-brand: var(--white);--fg-on-brand-2: #B9C5E6;--fg-accent: var(--green-500);--border-subtle: var(--gray-200);--border-default: var(--gray-300);--border-on-brand: rgba(255,255,255,.15);--font-brand: "The Year of Handicrafts", system-ui, sans-serif;--font-ar: "The Year of Handicrafts", "IBM Plex Sans Arabic", system-ui, sans-serif;--font-en: "The Year of Handicrafts", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Menlo", monospace;--size-display: clamp(48px, 7vw, 96px);--size-h1: clamp(36px, 4.5vw, 64px);--size-h2: clamp(28px, 3.2vw, 44px);--size-h3: 22px;--size-h4: 18px;--size-body: 16px;--size-body-sm: 14px;--size-caption: 12px;--size-eyebrow: 11px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 900;--tracking-tight: -.02em;--tracking-default: 0;--tracking-wide: .04em;--tracking-eyebrow: .18em;--leading-tight: 1.05;--leading-snug: 1.2;--leading-body: 1.55;--leading-loose: 1.75;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--r-0: 0px;--r-1: 4px;--r-2: 8px;--r-3: 16px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(10, 42, 107, .06), 0 1px 1px rgba(10, 42, 107, .04);--shadow-2: 0 4px 16px rgba(10, 42, 107, .08);--shadow-3: 0 12px 40px rgba(10, 42, 107, .16);--shadow-inset-brand: inset 0 0 0 1px rgba(255, 255, 255, .08);--ease-standard: cubic-bezier(.2, .7, .2, 1);--ease-emphasis: cubic-bezier(.16, 1, .3, 1);--dur-quick: .14s;--dur-base: .22s;--dur-slow: .42s}.t-display,.t-h1,.t-h2,.t-h3,.t-h4{font-family:var(--font-en);color:var(--fg-1);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);font-weight:var(--weight-black)}.t-display{font-size:var(--size-display);font-weight:var(--weight-black)}.t-h1{font-size:var(--size-h1);font-weight:var(--weight-bold)}.t-h2{font-size:var(--size-h2);font-weight:var(--weight-bold);line-height:var(--leading-snug)}.t-h3{font-size:var(--size-h3);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:0}.t-h4{font-size:var(--size-h4);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:0}.t-body{font-family:var(--font-en);font-size:var(--size-body);line-height:var(--leading-body);color:var(--fg-1);font-weight:var(--weight-regular)}.t-body-sm{font-family:var(--font-en);font-size:var(--size-body-sm);line-height:var(--leading-body);color:var(--fg-2)}.t-caption{font-family:var(--font-en);font-size:var(--size-caption);color:var(--fg-2);letter-spacing:var(--tracking-wide)}.t-eyebrow{font-family:var(--font-en);font-size:var(--size-eyebrow);font-weight:var(--weight-bold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2)}[dir=rtl] .t-display,[dir=rtl] .t-h1,[dir=rtl] .t-h2,[dir=rtl] .t-h3,[dir=rtl] .t-h4,[dir=rtl] .t-body,[dir=rtl] .t-body-sm,[dir=rtl] .t-caption,.t-ar{font-family:var(--font-ar);letter-spacing:0;line-height:var(--leading-snug)}.t-ar.t-body{line-height:var(--leading-body)}.t-on-brand{color:var(--fg-on-brand)}.t-on-brand-2{color:var(--fg-on-brand-2)}.t-accent{color:var(--fg-accent)}.pill{display:inline-flex;align-items:center;gap:var(--s-2);padding:6px 14px;border-radius:var(--r-pill);background:var(--blue-900);color:var(--white);font-family:var(--font-en);font-size:var(--size-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.pill--light{background:var(--gray-100);color:var(--blue-900)}.pill--green{background:var(--green-500);color:var(--blue-900)}.brand-ribbon{position:absolute;inset:0 auto auto 0;width:56%;height:18%;background:var(--green-500);border-radius:0 0 100%;transform:translate(-8%,-38%);pointer-events:none}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}#root{min-height:100vh}body{font-family:var(--font-en);color:var(--fg-1);background:var(--gray-50);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{height:100%}button,input,textarea,select{font-family:inherit}::selection{background:var(--green-500);color:var(--blue-900)}:root{--st-idle-fg: var(--gray-500);--st-idle-bg: var(--gray-100);--st-active-fg: var(--blue-700);--st-active-bg: var(--blue-50);--st-review-fg: var(--blue-600);--st-review-bg: #EAF0FC;--st-done-fg: #2E7D12;--st-done-bg: var(--green-100);--st-stuck-fg: var(--white);--st-stuck-bg: var(--blue-950);--app-pad: var(--s-7)}.app-shell{display:flex;min-height:100vh}.scroll{overflow-y:auto;overflow-x:hidden}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:99px;border:3px solid transparent;background-clip:padding-box}.scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-400);background-clip:padding-box}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-5{gap:var(--s-5)}.gap-6{gap:var(--s-6)}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0;min-height:0}.center{display:flex;align-items:center;justify-content:center}.sidebar{width:248px;flex:0 0 248px;background:var(--blue-900);color:var(--fg-on-brand);display:flex;flex-direction:column;padding:var(--s-5) var(--s-4);gap:var(--s-2);position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:12px;padding:4px var(--s-2) var(--s-5)}.sidebar__brand img{height:34px}.sidebar__brand .ar{font-family:var(--font-ar);font-weight:800;font-size:16px;line-height:1}.sidebar__brand .en{font-weight:900;font-size:12px;letter-spacing:.1em;line-height:1.4}.sidebar__section{font-size:10px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-on-brand-2);padding:var(--s-4) var(--s-2) var(--s-2);font-weight:700}.navitem{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-2);color:var(--fg-on-brand);text-decoration:none;font-size:14px;font-weight:500;cursor:pointer;border:none;background:none;width:100%;text-align:start;transition:background var(--dur-quick) var(--ease-standard);position:relative}.navitem:hover{background:#ffffff12}.navitem--active{background:#ffffff1a;font-weight:600}.navitem--active:before{content:"";position:absolute;inset-inline-start:-16px;top:8px;bottom:8px;width:3px;border-radius:99px;background:var(--green-500)}.navitem svg{width:18px;height:18px;flex:0 0 18px}.navitem .badge{margin-inline-start:auto}.topbar{display:flex;align-items:center;gap:var(--s-4);padding:0 var(--app-pad);height:64px;flex:0 0 64px;background:var(--white);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:30}.iconbtn{width:38px;height:38px;border-radius:var(--r-2);border:1px solid var(--border-subtle);background:var(--white);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--fg-1);position:relative;transition:background var(--dur-quick),border-color var(--dur-quick)}.iconbtn:hover{background:var(--gray-50);border-color:var(--border-default)}.iconbtn svg{width:18px;height:18px}.iconbtn .dot{position:absolute;top:7px;inset-inline-end:8px;width:7px;height:7px;border-radius:99px;background:var(--green-500);border:1.5px solid var(--white)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:10px 18px;border-radius:var(--r-2);font-weight:700;font-size:13px;letter-spacing:.01em;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:background var(--dur-quick) var(--ease-standard),transform 80ms var(--ease-standard),border-color var(--dur-quick),color var(--dur-quick);-webkit-user-select:none;user-select:none}.btn svg{width:16px;height:16px}.btn:active{transform:scale(.98)}.btn--primary{background:var(--blue-900);color:var(--white)}.btn--primary:hover{background:var(--blue-800)}.btn--accent{background:var(--green-500);color:var(--blue-900);font-weight:800}.btn--accent:hover{background:var(--green-600)}.btn--outline{background:transparent;color:var(--blue-900);border-color:var(--blue-900)}.btn--outline:hover{background:var(--blue-50)}.btn--ghost{background:transparent;color:var(--fg-1);border-color:transparent}.btn--ghost:hover{background:var(--gray-100)}.btn--subtle{background:var(--gray-100);color:var(--fg-1)}.btn--subtle:hover{background:var(--gray-200)}.btn--sm{padding:7px 12px;font-size:12px}.btn--lg{padding:13px 24px;font-size:14px}.btn--block{width:100%}.btn--danger{background:var(--blue-950);color:var(--white)}.btn--danger:hover{background:#0b1838}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--icon{padding:9px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:var(--r-pill);font-size:12px;font-weight:600;line-height:1;white-space:nowrap}.chip .dot{width:7px;height:7px;border-radius:99px;flex:0 0 7px}.chip svg{width:13px;height:13px}.chip--idle{background:var(--st-idle-bg);color:var(--st-idle-fg)}.chip--idle .dot{background:var(--gray-400)}.chip--active{background:var(--st-active-bg);color:var(--st-active-fg)}.chip--active .dot{background:var(--blue-500)}.chip--review{background:var(--st-review-bg);color:var(--st-review-fg)}.chip--review .dot{background:transparent;box-shadow:inset 0 0 0 2px var(--blue-500)}.chip--done{background:var(--st-done-bg);color:var(--st-done-fg)}.chip--done .dot{background:var(--green-600)}.chip--stuck{background:var(--st-stuck-bg);color:var(--st-stuck-fg)}.chip--stuck .dot{background:var(--green-500)}.chip--overdue{background:var(--blue-950);color:var(--white)}.chip--ghost{background:transparent;box-shadow:inset 0 0 0 1px var(--border-default);color:var(--fg-2)}.tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-2)}.appr{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700}.appr svg{width:14px;height:14px}.appr--pending{color:var(--blue-600)}.appr--approved{color:#2e7d12}.appr--changes{color:var(--blue-950)}.card{background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--r-2)}.card--pad{padding:var(--s-5)}.card--hover{transition:box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard),border-color var(--dur-base);cursor:pointer}.card--hover:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);border-color:var(--border-default)}.panel{background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--r-2);overflow:hidden}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border-subtle)}.panel__title{font-size:14px;font-weight:700;color:var(--fg-1);display:flex;align-items:center;gap:10px}.stat{display:flex;flex-direction:column;gap:4px}.stat__num{font-weight:900;font-size:30px;line-height:1;color:var(--blue-900);letter-spacing:-.02em;font-feature-settings:"tnum"}.stat__num .unit{font-size:15px;font-weight:700;color:var(--fg-2);margin-inline-start:3px}.stat__label{font-size:11px;font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2)}.stat--accent .stat__num{color:var(--green-600)}.prog{height:8px;border-radius:99px;background:var(--gray-200);overflow:hidden;position:relative}.prog__fill{height:100%;border-radius:99px;background:var(--blue-700);transition:width var(--dur-slow) var(--ease-emphasis)}.prog__fill--green{background:var(--green-500)}.prog--lg{height:12px}.list{display:flex;flex-direction:column}.list__row{display:grid;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border-subtle);transition:background var(--dur-quick)}.list__row:last-child{border-bottom:none}.list__row--hover{cursor:pointer}.list__row--hover:hover{background:var(--gray-50)}.list__head{display:grid;gap:var(--s-4);padding:10px var(--s-5);font-size:10px;font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-3);background:var(--gray-50);border-bottom:1px solid var(--border-subtle)}.avatar{width:30px;height:30px;border-radius:99px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--white);background:var(--blue-700);border:1.5px solid var(--white)}.avatar--sm{width:24px;height:24px;font-size:10px}.avatar--lg{width:40px;height:40px;font-size:15px}.avatar--client{background:var(--green-600);color:var(--blue-900)}.avatar--green{background:var(--green-500);color:var(--blue-900)}.avatar-stack{display:inline-flex}.avatar-stack .avatar{margin-inline-start:-8px}.avatar-stack .avatar:first-child{margin-inline-start:0}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(264px,1fr);gap:var(--s-4);align-items:start}.board__col{background:var(--gray-50);border:1px solid var(--border-subtle);border-radius:var(--r-2);display:flex;flex-direction:column;min-height:120px}.board__colhead{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border-subtle);font-size:12px;font-weight:700}.board__colhead .count{margin-inline-start:auto;background:var(--white);border:1px solid var(--border-subtle);border-radius:99px;min-width:22px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--fg-2)}.board__body{padding:10px;display:flex;flex-direction:column;gap:10px}.taskcard{background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--r-2);padding:12px 14px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:box-shadow var(--dur-base),transform var(--dur-base)}.taskcard:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#050f2b80;display:flex;z-index:100;animation:fade var(--dur-base) var(--ease-standard)}@keyframes fade{0%{opacity:0}}.modal{background:var(--white);border-radius:var(--r-3);width:min(560px,92vw);margin:auto;box-shadow:var(--shadow-3);animation:pop var(--dur-base) var(--ease-emphasis);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.98)}}.modal__head{padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--border-subtle);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4)}.modal__body{padding:var(--s-5) var(--s-6);overflow-y:auto}.modal__foot{padding:var(--s-4) var(--s-6);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:var(--s-3);background:var(--gray-50)}.drawer{margin-inline-start:auto;margin-block:0;height:100%;width:min(680px,96vw);border-radius:0;max-height:100%;animation:slidein var(--dur-base) var(--ease-emphasis)}@keyframes slidein{0%{transform:translate(40px);opacity:0}}[dir=rtl] .drawer{animation-name:slidein-rtl}@keyframes slidein-rtl{0%{transform:translate(-40px);opacity:0}}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:11px;font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2)}.input,.textarea,.select{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--r-1);font-size:14px;color:var(--fg-1);background:var(--white);outline:none;transition:border-color var(--dur-quick),box-shadow var(--dur-quick)}.input:focus,.textarea:focus,.select:focus{border-color:var(--blue-900);outline:2px solid var(--green-500);outline-offset:1px}.textarea{resize:vertical;min-height:84px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--gray-400)}.divider{height:1px;background:var(--border-subtle);border:none;margin:0}.muted{color:var(--fg-2)}.tnum{font-feature-settings:"tnum"}.eyebrow{font-size:11px;font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2)}.skel{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 37%,var(--gray-100) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-1)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.link{color:var(--blue-700);font-weight:600;cursor:pointer;text-decoration:none}.link:hover{text-decoration:underline;text-underline-offset:3px}.kbd{font-family:var(--font-mono);font-size:11px;background:var(--gray-100);border:1px solid var(--border-subtle);border-bottom-width:2px;border-radius:5px;padding:1px 6px;color:var(--fg-2)}.in{animation:up var(--dur-base) var(--ease-standard) both}@keyframes up{0%{opacity:0;transform:translateY(8px)}}[dir=rtl] body{font-family:var(--font-ar)}[dir=rtl] .stat__num,[dir=rtl] .tnum{font-feature-settings:normal}.flip-rtl{transition:transform var(--dur-quick)}[dir=rtl] .flip-rtl{transform:scaleX(-1)}
