:root{--cream:#faf5ef;--terracotta:#c76d4a;--ink:#292522;--icon:#000;--card:#fff;--peach:#f2d2be;--beige:#e8dfd0;--error:#b42318;--terracotta-press:#b35e3d;--ink-soft:#5e5650;--focus:#292522;--radius:16px;--radius-sm:10px;--space:16px;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-arabic:"Vazirmatn", "Noto Sans Arabic", Tahoma, sans-serif;--nav-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.5}[dir=rtl] body,[dir=rtl] button,[dir=rtl] input,[dir=rtl] textarea{font-family:var(--font-arabic)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{font-family:var(--font-arabic);letter-spacing:0}h1{font-size:1.75rem}h2{font-size:1.15rem}p{margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.app{min-height:100%;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.topbar{z-index:10;padding:12px var(--space);background:color-mix(in srgb, var(--cream) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--beige);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.wordmark .dot{color:var(--terracotta)}.main{width:100%;max-width:720px;padding:20px var(--space) calc(var(--nav-h) + 28px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:16px;margin:0 auto;display:flex}.bottomnav{inset-inline:0;z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--beige);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0}.navlink{color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;font-size:.72rem;font-weight:500;text-decoration:none;display:flex}.navlink svg{width:24px;height:24px}.navlink.active{color:var(--ink)}.navlink.active .navicon{background:var(--peach)}.navicon{border-radius:999px;place-items:center;width:52px;height:30px;transition:background .15s;display:grid}@media (width>=900px){.app{padding-inline-start:96px}.bottomnav{top:0;bottom:0;border-top:0;border-inline-end:1px solid var(--beige);grid-template-columns:1fr;grid-auto-rows:76px;align-content:center;width:96px;height:auto;inset-inline:0 auto}.main{padding-bottom:40px}}.card{background:var(--card);border:1px solid var(--beige);border-radius:var(--radius);padding:18px}.card-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.card-title h2{font-size:1rem;font-family:var(--font-body);font-weight:600}[dir=rtl] .card-title h2{font-family:var(--font-arabic)}.hero{background:var(--terracotta);color:var(--cream);border:0}.hero .label{opacity:.9;font-size:.85rem;font-weight:500}.hero .big{font-family:var(--font-display);margin-top:4px;font-size:1.6rem;font-weight:600}[dir=rtl] .hero .big{font-family:var(--font-arabic)}.hero .sub{margin-top:6px}.btn{min-height:48px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:600;transition:background .15s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--terracotta);color:#fff}.btn-primary:hover:not(:disabled){background:var(--terracotta-press)}.btn-ghost{color:var(--ink);border-color:var(--beige);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--peach)}.btn-block{width:100%}.iconbtn{width:44px;height:44px;color:var(--icon);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:grid;position:relative}.iconbtn:hover{background:var(--peach)}.iconbtn svg{width:24px;height:24px}.badge{top:6px;background:var(--terracotta);color:#fff;border:2px solid var(--cream);border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:600;display:grid;position:absolute;inset-inline-end:6px}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:.9rem;font-weight:500}.input{border:1px solid var(--beige);background:var(--card);width:100%;min-height:48px;font:inherit;color:var(--ink);border-radius:12px;padding:0 14px}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--peach);outline:none}.input[aria-invalid=true]{border-color:var(--error)}.input-wrap{position:relative}.input-wrap .input{padding-inline-end:52px}.input-wrap .iconbtn{top:2px;position:absolute;inset-inline-end:2px}.hint{color:var(--ink-soft);font-size:.85rem}.error{color:var(--error);align-items:flex-start;gap:8px;font-size:.9rem;font-weight:500;display:flex}.alert{border-radius:12px;padding:12px 14px;font-size:.92rem}.alert-error{color:var(--error);background:#fdecea;border:1px solid #f5c2bd}.alert-info{background:var(--peach);color:var(--ink)}.alert-success{color:#1e5631;background:#e9f3ec;border:1px solid #c5e0cd}.segmented{background:var(--card);border:1px solid var(--beige);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.segmented button{min-height:40px;font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 14px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--peach);color:var(--ink)}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--beige);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.list li:last-child{border-bottom:0}.muted{color:var(--ink-soft)}.small{font-size:.85rem}.chip{background:var(--peach);border-radius:999px;align-items:center;height:26px;padding:0 10px;font-size:.78rem;font-weight:600;display:inline-flex}.empty{text-align:center;color:var(--ink-soft);padding:28px 12px}.empty svg{width:36px;height:36px;color:var(--icon);opacity:.8;margin-bottom:8px}.banner{background:var(--ink);color:var(--cream);text-align:center;padding:6px 12px;font-size:.8rem}.spinner{border:3px solid var(--beige);border-top-color:var(--terracotta);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center{place-items:center;min-height:100%;padding:24px;display:grid}.auth{min-height:100%;padding:calc(32px + env(safe-area-inset-top)) var(--space) calc(32px + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-card{flex-direction:column;gap:18px;width:100%;max-width:400px;display:flex}.auth-brand{text-align:center;margin-bottom:8px}.auth-brand .mark{background:var(--terracotta);width:64px;height:64px;color:var(--cream);font-family:var(--font-display);border-radius:18px;place-items:center;margin:0 auto 14px;font-size:1.5rem;font-weight:600;display:grid}.auth-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.version{color:var(--ink-soft);font-size:.8rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}[dir=rtl] .flip{transform:scaleX(-1)}.list svg,.error svg{flex:none;width:22px;height:22px}.navlink span:last-child{white-space:nowrap}.card>.segmented,section>.segmented{align-self:flex-start}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background:#93190f}.btn-sm{min-height:40px;padding:0 14px;font-size:.9rem}.dialog{border-radius:var(--radius);background:var(--card);width:min(440px,100vw - 32px);color:var(--ink);border:0;padding:22px;box-shadow:0 20px 60px #29252240}.dialog::backdrop{background:#29252273}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.member-row{border-bottom:1px solid var(--beige);color:inherit;align-items:center;gap:12px;min-height:56px;padding:12px 0;text-decoration:none;display:flex}.member-row:last-child{border-bottom:0}.member-row:hover .member-name{text-decoration:underline}.avatar{background:var(--peach);width:42px;height:42px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.avatar.inactive{background:var(--beige);color:var(--ink-soft)}.member-main{flex:1;min-width:0}.member-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip.dark{background:var(--ink);color:var(--cream)}.chip.plain{background:var(--beige);color:var(--ink-soft)}.actions{flex-direction:column;gap:10px;display:flex}.kv{grid-template-columns:auto 1fr;gap:8px 16px;margin:0;display:grid}.kv dt{color:var(--ink-soft)}.kv dd{margin:0;font-weight:500}.creds{background:var(--card);color:var(--ink);border-radius:10px;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;padding:12px;display:grid}.creds dd{margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.05rem;font-weight:600}.page-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.backlink{color:var(--ink-soft);align-items:center;gap:4px;min-height:44px;font-weight:500;text-decoration:none;display:inline-flex}.backlink svg{width:20px;height:20px;transform:scaleX(-1)}[dir=rtl] .backlink svg{transform:none}.member-row>svg{width:20px;height:20px;color:var(--ink-soft);flex:none}.member-name{display:block}a.btn{text-decoration:none}.btn-sm{white-space:nowrap}.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}.field>.segmented{align-self:flex-start}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-repeat:no-repeat;background-size:5px 5px;padding-inline-end:36px}[dir=rtl] select.input{background-position:20px 21px,15px 21px}.radio{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.radio input{width:20px;height:20px;accent-color:var(--terracotta)}.change{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.arrow{color:var(--terracotta);font-weight:600}[dir=rtl] .arrow{display:inline-block;transform:scaleX(-1)}.cal{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%}.cal th{color:var(--ink-soft);padding:4px 0;font-size:.72rem;font-weight:600}.cal td{vertical-align:top;height:52px;color:var(--ink-soft);border-radius:10px;padding:4px;font-size:.8rem}.cal td.fri{background:var(--cream);border:1px solid var(--beige);color:var(--ink);cursor:pointer}.cal td.fri.mine{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.cal td.fri.done{opacity:.6}.cal td.today{outline:2px solid var(--ink);outline-offset:-2px}.cal .who{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.72rem;font-weight:600;line-height:1.15;display:block;overflow:hidden}.cal a{color:inherit;height:100%;text-decoration:none;display:block}.monthnav{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.monthnav h2{font-size:1rem;font-family:var(--font-body)}[dir=rtl] .monthnav h2{font-family:var(--font-arabic)}.monthnav .iconbtn:first-child svg{transform:scaleX(-1)}[dir=rtl] .monthnav .iconbtn:first-child svg{transform:none}.friday-row{border-bottom:1px solid var(--beige);color:inherit;align-items:center;gap:12px;min-height:56px;padding:12px 0;text-decoration:none;display:flex}.friday-row:last-child{border-bottom:0}.friday-row .date{flex:1}.friday-row.mine .who{background:var(--terracotta);color:#fff}.friday-row .who{background:var(--peach);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:600}.friday-row.done{opacity:.65}.req{border-bottom:1px solid var(--beige);flex-direction:column;gap:8px;padding:12px 0;display:flex}.req:last-child{border-bottom:0}.req-actions{flex-wrap:wrap;gap:8px;display:flex}.order-list{margin:0;padding:0;list-style:none}.order-list li{border-bottom:1px solid var(--beige);align-items:center;gap:8px;padding:8px 0;display:flex}.order-list .pos{background:var(--peach);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:600;display:grid}.order-list .nm{flex:1;min-width:0;font-weight:500}.order-list .iconbtn{width:40px;height:40px}.order-list .iconbtn:disabled{opacity:.3}.tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{background:var(--card);border:1px solid var(--beige);color:var(--ink);border-radius:14px;flex-direction:column;justify-content:center;gap:4px;min-height:64px;padding:14px;font-size:.92rem;font-weight:600;text-decoration:none;display:flex}.tile:hover{background:var(--peach)}h3.subhead{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.8rem;font-family:var(--font-body);margin:12px 0 0}[dir=rtl] h3.subhead{letter-spacing:0;font-family:var(--font-arabic)}.updatebar{z-index:30;inset-inline:12px;bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));background:var(--ink);max-width:480px;color:var(--cream);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:10px 10px 10px 16px;display:flex;position:fixed;box-shadow:0 10px 30px #2925224d}[dir=rtl] .updatebar{padding:10px 16px 10px 10px}@media (width>=900px){.updatebar{bottom:20px;inset-inline-start:116px}}.notif{text-align:start;border:0;border-bottom:1px solid var(--beige);width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;gap:12px;padding:14px 4px;display:flex}.notif:last-child{border-bottom:0}.notif:hover{background:var(--cream)}.notif-dot{background:0 0;border-radius:50%;flex:none;width:10px;height:10px;margin-top:7px}.notif.unread .notif-dot{background:var(--terracotta)}.notif-main{flex-direction:column;gap:3px;min-width:0;display:flex}.notif-title{font-weight:600}.notif.unread .notif-title,.notif-body{color:var(--ink)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.radio input[type=checkbox]{width:20px;height:20px;accent-color:var(--terracotta)}
