:root{--green-900:#0b3d2e;--green-800:#0f4d38;--green-700:#157347;--green-600:#1c8a55;--green-500:#22a06b;--green-200:#bfe6d1;--green-100:#dcf1e4;--green-50:#f2faf5;--white:#fff;--ink:#10241c;--muted:#5c7669;--border:#d9ece1;--radius:10px;--shadow:0 1px 2px #0b3d2e0f, 0 6px 20px #0b3d2e0f}*{box-sizing:border-box}body{background:var(--green-50);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:var(--green-700);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--green-200)}#root,.page{min-height:100vh}.container{width:100%;max-width:880px;margin:0 auto;padding:0 24px 64px}.auth-page{background:radial-gradient(circle at 15% 10%, var(--green-100), transparent 45%), radial-gradient(circle at 85% 90%, var(--green-100), transparent 45%), var(--green-50);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);padding:40px 36px}.auth-mark{align-items:center;gap:10px;margin-bottom:28px;display:inline-flex}.auth-mark .dot{background:var(--green-600);border-radius:50%;width:12px;height:12px}.auth-mark span{letter-spacing:-.02em;color:var(--green-900);font-size:18px;font-weight:800}.auth-card h2{letter-spacing:-.01em;margin:0 0 6px;font-size:24px}.auth-sub{color:var(--muted);margin:0 0 26px;font-size:14.5px}.auth-switch{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:18px;font-size:14.5px;display:flex}.auth-switch button{color:var(--green-700);background:0 0;width:auto;padding:0;font-weight:700}.auth-switch button:hover{background:0 0;text-decoration:underline;transform:none}.auth-message{color:var(--green-800);background:var(--green-100);border:1px solid var(--green-200);border-radius:8px;margin:-6px 0 18px;padding:10px 14px;font-size:14px}.topbar{background:var(--green-900);color:var(--white);margin-bottom:32px;padding:18px 24px}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:880px;margin:0 auto;display:flex}.topbar-brand{align-items:center;gap:10px;display:flex}.topbar-brand .dot{background:var(--green-500);border-radius:50%;width:11px;height:11px}.topbar-brand span{letter-spacing:-.01em;font-size:17px;font-weight:800}.topbar-role{color:var(--green-100);background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;margin-left:10px;padding:3px 10px;font-size:12.5px;font-weight:600}.topbar-actions{align-items:center;gap:12px;display:flex}.btn-ghost-light{color:var(--white);background:0 0;border:1px solid #ffffff59;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.btn-ghost-light:hover{background:#ffffff1a;transform:none}h1{letter-spacing:-.01em;margin:0 0 6px;font-size:27px}h2{letter-spacing:-.01em;margin:0 0 4px;font-size:18px}.section{margin-bottom:24px}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.section-sub{color:var(--muted);margin:0;font-size:14px}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px}.card+.card{margin-top:16px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat{background:var(--green-50);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.stat-label{color:var(--muted);margin:0 0 4px;font-size:12.5px;font-weight:600}.stat-value{color:var(--green-900);margin:0;font-size:21px;font-weight:800}.item-list{flex-direction:column;gap:10px;display:flex}.item{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.item-main p{margin:0;font-size:14.5px}.item-main .item-title{color:var(--green-900);margin-bottom:2px;font-weight:700}.item-meta{color:var(--muted);font-size:13.5px}.item-side{align-items:center;gap:12px;display:flex}.empty-state{color:var(--muted);padding:10px 2px;font-size:14.5px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12.5px;font-weight:700;display:inline-flex}.badge-booked{background:var(--white);color:var(--green-700);border:1px solid var(--green-500)}.badge-accepted{background:var(--green-600);color:var(--white)}form{width:100%}label{color:var(--green-900);margin-bottom:6px;font-size:13.5px;font-weight:700;display:block}.field{margin-bottom:16px}form input,input[type=date],input[type=number]{border:1px solid var(--border);background:var(--white);width:100%;color:var(--ink);border-radius:8px;outline:none;padding:12px 14px}form input:focus,input[type=date]:focus,input[type=number]:focus{border-color:var(--green-500);box-shadow:0 0 0 3px #22a06b26}form button{width:100%;margin-top:4px}button{background:var(--green-700);color:var(--white);border:none;border-radius:8px;padding:12px 18px;font-size:14.5px;font-weight:700;transition:all .15s}button:hover{background:var(--green-800);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;background:#b9c9c0;transform:none}.btn-secondary{background:var(--white);color:var(--green-700);border:1px solid var(--green-500)}.btn-secondary:hover{background:var(--green-50)}.btn-inline{width:auto;padding:9px 16px;font-size:13.5px}.btn-row{flex-wrap:wrap;gap:10px;display:flex}#qr-reader{border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;overflow:hidden}@media (width<=640px){.container{padding:0 16px 48px}.topbar{padding:16px}h1{font-size:23px}.stat-grid{grid-template-columns:repeat(2,1fr)}.item{flex-direction:column;align-items:flex-start}.btn-row button,.btn-row .btn-inline{width:100%}}
