:root{--bg: #f0fdfa;--surface: #ffffff;--primary: #0d9488;--primary-dark: #0f766e;--accent: #f59e0b;--text: #134e4a;--muted: #5eead4;--border: #99f6e4;--danger: #dc2626;--shadow: 0 4px 24px rgba(13, 148, 136, .12);font-family:Noto Sans SC,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100dvh;-webkit-font-smoothing:antialiased}#root{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;background:none}.app-header{background:linear-gradient(135deg,var(--primary) 0%,#14b8a6 100%);color:#fff;padding:1rem 1.25rem 1.5rem;border-radius:0 0 1.5rem 1.5rem;box-shadow:var(--shadow)}.app-header h1{font-size:1.35rem;font-weight:700;letter-spacing:.02em}.app-header .sub{font-size:.8rem;opacity:.9;margin-top:.25rem}.app-header .badge{display:inline-block;margin-top:.5rem;background:#fff3;padding:.2rem .6rem;border-radius:999px;font-size:.75rem}.app-main{flex:1;padding:1rem 1rem 5rem;overflow-y:auto}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:var(--surface);border-top:1px solid var(--border);padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #0000000f;z-index:50}.tab-bar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem;color:#94a3b8;font-size:.7rem;border-radius:.75rem;transition:color .15s,background .15s}.tab-bar button.active{color:var(--primary);background:#ccfbf1;font-weight:600}.tab-bar .icon{font-size:1.25rem}.card{background:var(--surface);border-radius:1rem;padding:1rem;margin-bottom:.75rem;border:1px solid var(--border);box-shadow:var(--shadow)}.card h3{font-size:1rem;margin-bottom:.35rem}.tag{display:inline-block;font-size:.7rem;padding:.15rem .5rem;border-radius:999px;background:#ccfbf1;color:var(--primary-dark);margin-right:.35rem}.tag.pending{background:#fef3c7;color:#b45309}.tag.done{background:#e2e8f0;color:#475569}.price{color:var(--accent);font-weight:700;font-size:1.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.2rem;border-radius:.75rem;font-weight:600;font-size:.9rem;transition:transform .1s,opacity .15s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{border:1.5px solid var(--primary);color:var(--primary);background:transparent}.btn-sm{padding:.4rem .8rem;font-size:.8rem}.btn-danger{background:#fee2e2;color:var(--danger)}.field{margin-bottom:.85rem}.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.35rem;color:var(--primary-dark)}.field input,.field select,.field textarea{width:100%;padding:.65rem .75rem;border:1.5px solid var(--border);border-radius:.65rem;background:#fff;color:var(--text)}.field textarea{min-height:4.5rem;resize:vertical}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.service-grid button{padding:.75rem;border:2px solid var(--border);border-radius:.75rem;text-align:left;background:#fff;transition:border-color .15s,background .15s}.service-grid button.selected{border-color:var(--primary);background:#ccfbf1}.service-grid .si{font-size:1.4rem}.service-grid .hint{font-size:.65rem;color:#64748b;margin-top:.2rem}.empty{text-align:center;padding:2.5rem 1rem;color:#64748b}.empty .emoji{font-size:2.5rem;margin-bottom:.5rem}.error-banner,.toast{padding:.65rem .85rem;border-radius:.65rem;font-size:.85rem;margin-bottom:.75rem}.error-banner{background:#fee2e2;color:var(--danger)}.toast{background:#ccfbf1;color:var(--primary-dark)}.setup-screen{padding:1.5rem 0}.setup-screen h2{font-size:1.1rem;margin-bottom:1rem}.filter-row{display:flex;gap:.4rem;margin-bottom:.85rem;overflow-x:auto;padding-bottom:.25rem}.filter-row button{flex-shrink:0;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;border:1.5px solid var(--border);color:#64748b}.filter-row button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.order-actions{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.order-meta{font-size:.78rem;color:#64748b;margin-top:.35rem}.loading{text-align:center;padding:2rem;color:#64748b}
