:root{--bg: #faf8f5;--surface: #ffffff;--ink: #1f2937;--ink-soft: #6b7280;--line: #e7e3dc;--brand: #b4654a;--brand-dark: #8f4b34;--accent: #1f6f5c;--warn: #d97706;--danger: #dc2626;--radius: 14px;--shadow: 0 1px 3px rgba(24, 20, 16, .08), 0 8px 24px rgba(24, 20, 16, .05)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Vazirmatn,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);direction:rtl;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-size:15px;background:var(--brand);color:#fff;transition:background .15s ease}button:hover{background:var(--brand-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button.ghost:hover{background:#f2efe9}input,select,textarea{font-family:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);width:100%}input:focus,select:focus{outline:2px solid rgba(180,101,74,.3);border-color:var(--brand)}.container{max-width:1120px;margin:0 auto;padding:0 16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.grid{display:grid;gap:16px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--ink-soft);font-size:13px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:#f2efe9;color:var(--ink-soft)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.slot{padding:10px 6px;text-align:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;font-size:14px}.slot.selected{background:var(--accent);color:#fff;border-color:var(--accent)}header.app-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.error{color:var(--danger);font-size:14px}.empty{text-align:center;padding:48px 16px;color:var(--ink-soft)}@media (max-width: 640px){.container{padding:0 12px}}
