:root{--gold: #c9a227;--gold-light: #e5c768;--navy: #0f1a2e;--green: #102f21;--green-dark: #0b2418;--off-white: #f8f5ef;--cream: #f0ebe0;--text: #1a2420;--muted: #6b756b;--border: #e8dfc8;--radius: 20px;--radius-sm: 12px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--cream);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Playfair Display,serif}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:15px;width:100%;padding:13px 16px;border-radius:14px;border:1.5px solid var(--border);background:#fff;color:var(--text);outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;font-weight:700;font-size:14px;background:var(--green);color:#fff;transition:transform .12s,opacity .12s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-light{background:#fff;color:var(--green);border:1.5px solid var(--border)}.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--navy)}.btn-block{width:100%}.card{background:#fff;border-radius:var(--radius);padding:22px;border:1px solid var(--border)}.kicker{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;background:var(--cream);display:flex;flex-direction:column;position:relative}.app-content{flex:1;padding:20px 18px 100px;overflow-y:auto}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#fffffff7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:8px 4px calc(env(safe-area-inset-bottom) + 8px);z-index:50}.nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 8px;border-radius:12px;color:var(--muted);font-size:10px;font-weight:700;flex:1;transition:color .15s}.nav-item.active{color:var(--green)}.nav-item svg{width:22px;height:22px}.top-header{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 8px}.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-dark));color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}.list-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:800}.badge-green{background:#e3f3e8;color:#1d7a42}.badge-gold{background:#fbf2d9;color:#93730e}.badge-red{background:#fce5e5;color:#b3261e}.badge-gray{background:#eee;color:#666}.fab{position:fixed;bottom:90px;right:50%;transform:translate(220px);width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #102f2159;font-size:26px;z-index:40}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1a128c;display:flex;align-items:flex-end;justify-content:center;z-index:100}.modal-sheet{background:#fff;border-radius:28px 28px 0 0;padding:26px 22px calc(env(safe-area-inset-bottom) + 26px);width:100%;max-width:480px;max-height:85vh;overflow-y:auto;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#fce5e5;color:#b3261e;padding:12px 16px;border-radius:14px;font-size:13px;font-weight:600}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:700;color:var(--text)}
