:root{--color-primary: #1f4b99;--color-primary-light: #3c6fd9;--color-primary-dark: #132c5b;--color-brand: #003361;--color-brand-accent: #c93232;--color-brand-muted: #3b4c64;--color-brand-border: #d6deea;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-text: #1b1d1f;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-bg: #f7f8fa;--flag-blue-text: #1d4ed8;--flag-blue-bg: #e0ebff;--flag-blue-border: #bfdbfe;--flag-green-text: #15803d;--flag-green-bg: #dcfce7;--flag-green-border: #86efac;--flag-orange-text: #c2410c;--flag-orange-bg: #ffedd5;--flag-orange-border: #fdba74;--flag-red-text: #b91c1c;--flag-red-bg: #fee2e2;--flag-red-border: #fca5a5;--flag-yellow-text: #a16207;--flag-yellow-bg: #fef9c3;--flag-yellow-border: #fde047;--flag-white-text: #475569;--flag-white-bg: #f8fafc;--flag-white-border: #cbd5e1;--flag-bronze-text: #92400e;--flag-bronze-bg: #ffedd5;--flag-bronze-border: #fdba74;--flag-silver-text: #334155;--flag-silver-bg: #e2e8f0;--flag-silver-border: #cbd5e1;--flag-gold-text: #854d0e;--flag-gold-bg: #fef3c7;--flag-gold-border: #fcd34d;--flag-neutral-text: #4b5563;--flag-neutral-bg: #f3f4f6;--flag-neutral-border: #d1d5db;--radius-sm: 8px;--radius-md: 12px;--shadow-sm: 0 2px 8px rgba(18, 22, 28, .08);--shadow-md: 0 4px 16px rgba(18, 22, 28, .12)}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;font-family:Balto,sans-serif;color:var(--color-text);background:var(--color-bg)}input,select,textarea,button{font-family:inherit}body.calendar-modal-open{overflow:hidden;position:fixed;width:100%}.app-shell{min-height:80vh;display:flex;justify-content:center;padding:24px 16px}.page{width:100%;max-width:720px}.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .3s ease}@media (min-width: 640px){.card{padding:32px}}.title{font-size:24px;font-weight:600;margin:0 0 8px;color:var(--color-text);letter-spacing:-.3px}.subtitle{font-size:14px;color:var(--color-text-muted);margin:0 0 20px;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.input{height:44px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px}.button{height:48px;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:15px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.button-primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #1f4b9933}.button-primary:hover:not(:disabled){background:var(--color-primary-light);box-shadow:0 4px 12px #1f4b994d;transform:translateY(-1px)}.button-primary:active:not(:disabled){transform:translateY(0)}.button-secondary{background:#fff;border:2px solid var(--color-primary);color:var(--color-primary)}.button-secondary:hover{background:var(--color-primary);color:#fff}.list{display:flex;flex-direction:column}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{background:#1f4b991a;color:var(--color-primary);padding:4px 8px;border-radius:999px;font-size:12px;font-weight:600}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000080;-webkit-tap-highlight-color:transparent}.modal-dialog{width:100%;max-width:360px;padding:24px;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.modal-title{font-size:20px;font-weight:700;color:var(--color-text);margin:0 0 12px;line-height:1.3}.modal-text{font-size:15px;color:var(--color-text-muted);margin:0 0 24px;line-height:1.45}.modal-actions{display:flex;flex-direction:column;gap:12px}.modal-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:var(--radius-sm);font-weight:600;font-size:16px;font-family:inherit;cursor:pointer;transition:all .2s ease;border:none;width:100%}.button-modal-cancel{background:#e5e7eb;color:var(--color-text)}.button-modal-cancel:hover{background:#d1d5db}.button-modal-confirm{background:var(--color-danger);color:#fff}.button-modal-confirm:hover{background:#dc2626;filter:brightness(1.05)}@media (min-width: 480px){.modal-dialog{padding:28px}.modal-actions{flex-direction:row;justify-content:flex-end}.modal-actions .button{width:auto;min-width:140px}}
