:root{--color-primary: #1e3a5f;--color-primary-light: #2d4f7c;--color-background-primary: #ffffff;--color-background-secondary: #f5f7fa;--color-text-primary: #1a1a1a;--color-text-secondary: #5a6472;--color-text-tertiary: #9aa5b1;--color-border-secondary: #e1e6ec;--color-success: #2e7d32;--color-warning: #b8860b;--color-danger: #c62828;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-background-secondary);-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:600}.container{max-width:720px;margin:0 auto;padding:0 1rem}.app-header{background:var(--color-primary);color:#fff;padding:.75rem 1rem;position:sticky;top:0;z-index:10}.app-header .header-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.app-header .brand{font-size:1rem;font-weight:700;color:#fff;white-space:nowrap}.app-header nav{display:flex;gap:.5rem;flex-wrap:wrap}.app-header nav a,.app-header nav button{color:#fff;background:#ffffff1f;border:none;border-radius:6px;padding:.4rem .7rem;font-size:.85rem;cursor:pointer}.app-header nav a.active{background:#ffffff47}.app-main{padding:1rem 0 2.5rem}.card{background:var(--color-background-primary);border:1px solid var(--color-border-secondary);border-radius:12px;padding:1rem;margin-bottom:1rem}.card h2{font-size:1.05rem;margin-bottom:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-light)}.btn-secondary{background:var(--color-background-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-secondary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-block{width:100%}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--color-border-secondary);border-radius:8px;font-size:.95rem;font-family:inherit;background:var(--color-background-primary);color:var(--color-text-primary)}.form-group textarea{resize:vertical;min-height:100px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--color-primary-light);outline-offset:1px}.error-message{background:#fdecea;color:var(--color-danger);border-radius:8px;padding:.65rem .85rem;font-size:.85rem;margin-bottom:1rem}.success-message{background:#e8f5e9;color:var(--color-success);border-radius:8px;padding:.65rem .85rem;font-size:.85rem;margin-bottom:1rem}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--color-text-secondary);font-size:.9rem}.empty-message{color:var(--color-text-tertiary);font-size:.85rem;padding:.5rem 0}.badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px}.badge-active{background:#e3f2fd;color:var(--color-primary)}.badge-closed{background:#eceff1;color:var(--color-text-secondary)}.badge-waiting{background:#fff8e1;color:var(--color-warning)}.badge-approved{background:#e8f5e9;color:var(--color-success)}.badge-rejected{background:#fdecea;color:var(--color-danger)}.tabs{display:flex;gap:.4rem;overflow-x:auto;margin-bottom:1rem;padding-bottom:.25rem}.tabs button{flex-shrink:0;border:1px solid var(--color-border-secondary);background:var(--color-background-primary);border-radius:999px;padding:.45rem .9rem;font-size:.85rem;cursor:pointer;color:var(--color-text-secondary)}.tabs button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.list-row{padding:.75rem 0;border-bottom:1px solid var(--color-border-secondary);cursor:pointer}.list-row:last-child{border-bottom:none}.list-row .row-title{font-weight:500;margin-bottom:.2rem}.list-row .row-meta{font-size:.78rem;color:var(--color-text-tertiary)}.vote-option{margin-bottom:.6rem}.vote-option-label{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.25rem}.vote-option-bar{height:8px;border-radius:999px;background:var(--color-background-secondary);overflow:hidden}.vote-option-bar-fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width .3s ease}.vote-meta{font-size:.78rem;color:var(--color-text-tertiary);margin-top:.5rem}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{background:var(--color-background-primary);border:1px solid var(--color-border-secondary);border-radius:16px;padding:2rem 1.5rem;max-width:380px;width:100%;text-align:center}.auth-card h1{font-size:1.2rem;margin-bottom:1.5rem}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid var(--color-border-secondary);border-radius:8px;padding:.7rem 1.2rem;font-size:.95rem;font-weight:500;color:var(--color-text-primary);background:#fff}@media (min-width: 768px){.container{padding:0 1.5rem}}
