:root{--bg: #f7f8fa;--panel: #ffffff;--text: #1f2937;--muted: #6b7280;--border: #e5e7eb;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--success: #16a34a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:0 0 6px;z-index:100;text-decoration:none}.skip-link:focus{top:0;outline:3px solid #fff;outline-offset:-3px}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar a:focus-visible{outline-color:#fff}main.main:focus{outline:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:#111827;color:#f3f4f6;padding:1rem;display:flex;flex-direction:column;gap:.25rem}.sidebar h1{font-size:1.05rem;margin:0 0 1rem;color:#fff}.sidebar a{color:#d1d5db;padding:.5rem .75rem;border-radius:6px}.sidebar a:hover,.sidebar a.active{background:#1f2937;color:#fff;text-decoration:none}.sidebar .spacer{flex:1}.sidebar .who{font-size:.8rem;color:#9ca3af;padding:.5rem .75rem}.sidebar .logout{background:none;border:1px solid #374151;color:#f3f4f6;padding:.5rem;border-radius:6px}.mobile-topbar,.mobile-menu-toggle,.drawer-backdrop{display:none}.main{flex:1;padding:2rem;overflow:auto}.main h2{margin-top:0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem}.panel+.panel{margin-top:1rem}.btn{background:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--border)}input,select,textarea{font:inherit;padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:#fff;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--border)}th{font-size:.85rem;color:var(--muted);font-weight:600}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.error{color:var(--danger);font-size:.9rem}.muted{color:var(--muted);font-size:.85rem}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem}.tag.active{background:#dcfce7;color:#166534}.tag.pending{background:#fef3c7;color:#92400e}.tag.cancelled{background:#fee2e2;color:#991b1b}.login-shell{display:grid;place-items:center;min-height:100vh;background:var(--bg);padding:1rem}.login-card{width:360px;max-width:100%}.row{display:grid;gap:.4rem;margin-bottom:.75rem}.actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.tier-slider{display:flex;gap:.75rem;align-items:center}.tier-slider input[type=range]{flex:1}.tier-slider .v{width:3rem;min-width:3rem;text-align:right;font-variant-numeric:tabular-nums}.share-link{display:flex;gap:.5rem;align-items:center}.share-link input{flex:1;font-family:ui-monospace,SFMono-Regular,monospace}@media (max-width: 768px){.app-shell{flex-direction:column}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;background:#111827;color:#fff;padding:.75rem 1rem;position:sticky;top:0;z-index:30}.mobile-topbar h1{font-size:1.05rem;margin:0;color:#fff}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid #374151;color:#f3f4f6;width:44px;height:44px;border-radius:6px;font-size:1.25rem}.sidebar{position:fixed;top:0;left:0;bottom:0;width:80%;max-width:280px;transform:translate(-100%);transition:transform .2s ease-out;z-index:50}.sidebar.sidebar-open{transform:translate(0)}.sidebar h1{display:none}.sidebar a,.sidebar .logout{min-height:44px;display:flex;align-items:center}.drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40}.main{padding:1rem}.actions{flex-wrap:wrap}.actions>.btn,.actions>button,.actions>a.btn,.actions>input,.actions>select,.actions>label{width:100%}.actions>.muted{width:auto;margin-left:0!important}.btn{min-height:44px;padding:.6rem 1rem}input,select,textarea{width:100%}.share-link{flex-direction:column;align-items:stretch}.share-link input,.share-link .btn{width:100%}}
