:root{--bg: #f4f6fb;--surface: #ffffff;--ink: #1c2434;--muted: #6b7488;--line: #e6e9f0;--brand: #2f6df6;--brand-dark: #1d52c9;--success: #1f9d5b;--shadow: 0 1px 3px rgba(20, 30, 60, .08), 0 8px 24px rgba(20, 30, 60, .06);--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.container{width:100%;max-width:920px;margin:0 auto;padding:0 20px}.btn{border:1px solid transparent;border-radius:10px;padding:9px 16px;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover:not(:disabled){background:#f0f2f7}.btn-block{width:100%}.icon-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:8px}.icon-btn:hover{background:#f0f2f7}.brand{display:flex;align-items:center;gap:8px;font-size:1.15rem}.brand-mark{font-size:1.4rem}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,#eaf0ff,#f4f6fb 60%)}.login-card{background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:36px 32px;width:100%;max-width:380px}.login-card h1{margin:0;font-size:1.6rem}.login-sub{color:var(--muted);margin:8px 0 24px}.login-form{display:grid;gap:14px}.demo-hint{margin-top:18px;font-size:.82rem;color:var(--muted);background:#f0f4ff;padding:10px 12px;border-radius:10px}.auth-title{margin:18px 0 4px;font-size:1.25rem}.auth-links{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:6px;font-size:.85rem;color:var(--muted)}.linkish{background:none;border:none;color:var(--brand);font:inherit;font-weight:600;cursor:pointer;padding:0}.linkish:hover:not(:disabled){text-decoration:underline}.linkish:disabled{opacity:.5;cursor:default}.alert-ok{background:#e3f6ec;color:#11633a}label{display:grid;gap:6px;font-size:.85rem;font-weight:600;color:var(--ink)}input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #2f6df626}textarea{resize:vertical}.header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.header-right{display:flex;align-items:center;gap:10px}.user-chip{font-size:.85rem;font-weight:600;background:#f0f2f7;padding:6px 12px;border-radius:999px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:6px}.badge-demo{background:#fff3cd;color:#8a6d00}.app{min-height:100vh;display:flex;flex-direction:column}main.container{flex:1;padding-top:28px;padding-bottom:40px}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.dash-head h2{margin:0 0 4px}.muted{color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:grid;gap:4px}.stat-num{font-size:1.8rem;font-weight:700}.stat-label{font-size:.82rem;color:var(--muted)}.orders{display:grid;gap:16px}.order-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.order-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.order-id{font-size:.74rem;color:var(--muted);font-weight:600;letter-spacing:.03em}.order-service{margin:2px 0 0;font-size:1.1rem}.status-pill{font-size:.78rem;font-weight:700;background:#e8f0ff;color:var(--brand-dark);padding:5px 12px;border-radius:999px;white-space:nowrap}.status-pill.is-done{background:#e3f6ec;color:var(--success)}.order-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 0}.order-meta dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.order-meta dd{margin:3px 0 0;font-size:.92rem}.order-notes{grid-column:1 / -1}.tracker{display:flex;justify-content:space-between}.tracker-step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.tracker-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:700;background:#eef0f5;color:var(--muted);border:2px solid #eef0f5;z-index:2}.tracker-label{margin-top:6px;font-size:.7rem;color:var(--muted);font-weight:600}.tracker-bar{position:absolute;top:13px;left:50%;width:100%;height:3px;background:#eef0f5;z-index:1}.tracker-step.done .tracker-dot{background:var(--success);border-color:var(--success);color:#fff}.tracker-step.done .tracker-bar{background:var(--success)}.tracker-step.done .tracker-label{color:var(--ink)}.tracker-step.current .tracker-dot{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 4px #2f6df62e}.tracker-step.current .tracker-label{color:var(--brand-dark)}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);padding:48px 20px;text-align:center;color:var(--muted);display:grid;gap:14px;justify-items:center}.alert{border-radius:10px;padding:12px 14px;font-size:.9rem;margin-bottom:16px}.alert-error{background:#fdecec;color:#b42318}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e3c73;display:grid;place-items:center;padding:20px;z-index:50}.modal{background:var(--surface);border-radius:18px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #141e3c4d}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:1.2rem}.order-form{padding:22px 24px;display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.footer{text-align:center;padding:20px;color:var(--muted);font-size:.82rem;border-top:1px solid var(--line)}@media (max-width: 600px){.stats{grid-template-columns:1fr}.order-meta{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.tracker-label{font-size:.6rem}}
