:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.address-book{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.address-book-header{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.address-book-header h1{margin:0 0 20px;color:#2c3e50;font-size:2.5rem;font-weight:300}.header-controls{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}.search-controls{display:flex;gap:10px;align-items:center;flex:1;min-width:300px}.search-input{flex:1;padding:10px 15px;border:2px solid #ddd;border-radius:25px;font-size:14px;outline:none;transition:border-color .3s ease}.search-input:focus{border-color:#4caf50}.sort-select{padding:8px 12px;border:2px solid #ddd;border-radius:5px;background:#fff;font-size:14px}.sort-toggle{padding:8px 12px;border:2px solid #ddd;border-radius:5px;background:#fff;cursor:pointer;font-size:16px;font-weight:700}.sort-toggle:hover{background:#f8f9fa}.action-controls{display:flex;gap:10px;flex-wrap:wrap}.btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover{background:#45a049}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-info{background:#17a2b8;color:#fff}.btn-info:hover{background:#138496}.btn-sm{padding:5px 10px;font-size:12px}.btn-close{background:transparent;border:none;font-size:24px;cursor:pointer;padding:5px;color:#666}.btn-close:hover{color:#000}.btn-copy{background:transparent;border:1px solid #ddd;padding:2px 6px;font-size:12px;margin-left:10px;border-radius:3px}.btn-copy:hover{background:#f8f9fa}.file-input-label{cursor:pointer}.error-message{background:#f8d7da;color:#721c24;padding:15px;border-radius:5px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.error-close{background:transparent;border:none;font-size:20px;cursor:pointer;color:#721c24}.loading{text-align:center;padding:40px;font-size:18px;color:#666}.address-book-list{margin-top:20px}.address-book-list.empty{text-align:center;padding:60px 20px;color:#666;font-size:18px}.list-header h3{margin:0 0 20px;color:#2c3e50;font-size:1.5rem;font-weight:400}.list-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.contact-card{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:all .3s ease}.contact-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.contact-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.contact-name{margin:0;color:#2c3e50;font-size:1.2rem;font-weight:600}.contact-year{background:#e9ecef;color:#495057;padding:4px 8px;border-radius:15px;font-size:12px;font-weight:500}.contact-details{margin-bottom:15px}.contact-info{display:flex;margin-bottom:8px;font-size:14px}.info-label{font-weight:600;color:#495057;min-width:80px;margin-right:10px}.info-value{color:#212529;flex:1}.info-value.email,.info-value.phone{color:#007bff;text-decoration:none}.info-value.email:hover,.info-value.phone:hover{text-decoration:underline}.info-value.address{word-break:break-word}.info-value.date{color:#6c757d;font-size:12px}.contact-actions{display:flex;gap:8px;justify-content:flex-end}.address-book-form{max-width:600px;margin:0 auto;background:#fff;padding:30px;border-radius:10px;box-shadow:0 4px 6px #0000001a}.address-book-form h2{margin:0 0 30px;color:#2c3e50;font-size:2rem;font-weight:400;text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:600;color:#495057}.form-group input,.form-group textarea{width:100%;padding:12px 15px;border:2px solid #ddd;border-radius:5px;font-size:14px;font-family:inherit;outline:none;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{border-color:#4caf50}.form-group input.error,.form-group textarea.error{border-color:#dc3545}.form-group textarea{resize:vertical;min-height:80px}.error-message{color:#dc3545;font-size:12px;margin-top:5px}.form-actions{display:flex;gap:15px;justify-content:center;margin-top:30px}.contact-detail-view{max-width:700px;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.detail-header{background:#f8f9fa;padding:20px 30px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.detail-header h2{margin:0;color:#2c3e50;font-size:1.8rem;font-weight:500}.detail-content{padding:30px}.detail-section{margin-bottom:30px}.detail-section h3{margin:0 0 15px;color:#495057;font-size:1.2rem;font-weight:600;padding-bottom:8px;border-bottom:2px solid #e9ecef}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-item label{font-weight:600;color:#495057;font-size:14px}.detail-item span{color:#212529;font-size:16px;word-break:break-word}.contact-link{display:flex;align-items:center}.contact-link a{color:#007bff;text-decoration:none;flex:1}.contact-link a:hover{text-decoration:underline}.address-item{flex-direction:row;align-items:flex-start}.address-text{flex:1;line-height:1.6}.detail-actions{padding:20px 30px;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:15px;justify-content:center}.no-contact,.no-address{color:#6c757d;font-style:italic}.file-status{background:#e8f5e8;color:#2d5a2d;padding:8px 12px;border-radius:5px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:5px}@media (max-width: 768px){.address-book{padding:10px}.header-controls{flex-direction:column;align-items:stretch}.search-controls{min-width:auto}.action-controls{justify-content:center}.list-container{grid-template-columns:1fr}.contact-header{flex-direction:column;align-items:flex-start;gap:10px}.contact-actions{justify-content:center}.address-book-form,.contact-detail-view{margin:0 10px}.detail-grid{grid-template-columns:1fr}.detail-actions,.form-actions{flex-direction:column}}.nominations-page{padding:20px 0}.page-header{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #eee}.page-header h1{margin-top:0;color:#333}.actions-bar{margin-bottom:25px;padding:15px;background-color:#f8f9fa;border-radius:4px}.form-section{margin-bottom:30px;padding:20px;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 4px #0000001a}.detail-view{margin-bottom:30px}.detail-view .panel-header{display:flex;justify-content:space-between;align-items:center;padding:15px;background-color:#f5f5f5;border-bottom:1px solid #ddd}.detail-view .panel-header h3{margin:0}.detail-view .panel-body{padding:20px}.detail-view .row{margin-bottom:15px}.list-section{background-color:#fff;border:1px solid #ddd;border-radius:4px;overflow:hidden}.nomination-form{max-width:800px}.nomination-form h2{margin-top:0;margin-bottom:25px;color:#333}.nomination-form .form-group{margin-bottom:20px}.nomination-form label{display:block;margin-bottom:5px;font-weight:600;color:#555}.nomination-form input,.nomination-form textarea,.nomination-form select{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;transition:border-color .3s ease}.nomination-form input:focus,.nomination-form textarea:focus,.nomination-form select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.nomination-form input.error,.nomination-form textarea.error,.nomination-form select.error{border-color:#dc3545;box-shadow:0 0 0 2px #dc354540}.nomination-form .error-message{display:block;margin-top:5px;color:#dc3545;font-size:12px}.nomination-form .form-actions{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.nomination-form .form-actions button{margin-right:10px}.nomination-form .radio-group{display:flex;gap:25px;margin-top:8px;padding:15px;background-color:#f8f9fa;border:2px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px #0000001a}.nomination-form .radio-option{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 15px;border-radius:6px;transition:all .2s ease;border:1px solid transparent}.nomination-form .radio-option:hover,.nomination-form .radio-option.selected{background-color:#e9f4f8;border-color:#38a7bb}.nomination-form .radio-option input[type=radio]{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;width:20px!important;height:20px!important;margin:0!important;padding:0!important;cursor:pointer;border-radius:50%!important;border:3px solid #6c757d!important;background-color:#fff!important;position:relative;outline:none!important;box-shadow:none!important;flex-shrink:0;display:inline-block!important;vertical-align:middle}.nomination-form .radio-option input[type=radio]:checked{border-color:#38a7bb!important;background-color:#38a7bb!important}.nomination-form .radio-option input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background-color:#fff;display:block}.nomination-form .radio-option input[type=radio]:focus{border-color:#38a7bb!important;box-shadow:0 0 0 3px #38a7bb40!important}.nomination-form .radio-label{margin:0!important;cursor:pointer;font-weight:500;color:#495057;font-size:14px;display:inline!important}.nomination-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#555}.nomination-form .form-group .checkbox-label{display:flex!important;align-items:flex-start;gap:12px;padding:15px;background-color:#f8f9fa;border:2px solid #dee2e6;border-radius:4px;cursor:pointer;transition:all .2s ease;margin-bottom:15px;min-height:60px}.nomination-form .form-group .checkbox-label:hover{background-color:#e9f4f8;border-color:#38a7bb}.nomination-form .checkbox-label input[type=checkbox]{width:20px!important;height:20px!important;margin:0!important;flex-shrink:0;margin-top:2px;cursor:pointer;position:relative;z-index:1}.nomination-form .checkbox-text{flex:1;line-height:1.4;color:#495057;font-size:14px;cursor:pointer;font-weight:500;margin:0;display:block}.nomination-form .checkbox-label:hover .checkbox-text{color:#38a7bb}.nomination-list h3{margin-top:0;margin-bottom:20px;padding:15px 20px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;color:#495057}.nomination-list .table-responsive{border:none}.nomination-list .table{margin-bottom:0}.nomination-list .table th{background-color:#f8f9fa;border-top:none;border-bottom:2px solid #dee2e6;font-weight:600;color:#495057;padding:12px 8px}.nomination-list .table td{padding:12px 8px;vertical-align:middle;border-top:1px solid #dee2e6}.nomination-list .table tr:hover{background-color:#f8f9fa}.nomination-list .btn-group-sm .btn{padding:4px 8px;margin-right:2px}.nomination-list .no-data,.nomination-list .loading{padding:40px 20px;text-align:center;color:#6c757d}@media (max-width: 768px){.nominations-page{padding:10px 0}.actions-bar .col-md-6{margin-bottom:15px}.actions-bar .text-right{text-align:left}.nomination-list .table-responsive{font-size:14px}.nomination-list .table th,.nomination-list .table td{padding:8px 4px}.form-section,.detail-view .panel-body{padding:15px}}.status-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.status-indicator.active{background-color:#28a745}.status-indicator.inactive{background-color:#6c757d}.status-indicator.pending{background-color:#ffc107}.admin-controls{margin-bottom:25px}.admin-controls .panel{box-shadow:0 2px 8px #0000001a;border:1px solid #f0ad4e}.admin-controls .panel-header{background-color:#fcf8e3;padding:15px;border-bottom:1px solid #f0ad4e;display:flex;align-items:center;gap:10px}.admin-controls .panel-header h4{margin:0;color:#8a6d3b}.admin-controls .panel-body{padding:20px}.admin-controls .badge{font-size:12px;padding:6px 12px;border-radius:12px}.admin-controls .badge-success{background-color:#5cb85c;color:#fff}.admin-controls .badge-danger{background-color:#d9534f;color:#fff}.admin-controls .message-input-section{background-color:#f9f9f9;padding:15px;border-radius:4px}.nominations-closed{margin-bottom:25px}.nominations-closed .panel{box-shadow:0 2px 8px #0000001a;border:1px solid #5bc0de}.nominations-closed .panel-header{background-color:#d9edf7;padding:20px;border-bottom:1px solid #5bc0de}.nominations-closed .panel-body{background:linear-gradient(135deg,#f9f9f9,#fff);border-radius:0 0 4px 4px;padding:30px}.nominations-closed i.fa-exclamation-triangle{animation:pulse 2s infinite}.nominees-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;margin-bottom:30px}.nominee-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;display:flex;gap:15px;align-items:flex-start}.nominee-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.nominee-number{background:linear-gradient(135deg,#5bc0de,#31708f);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.nominee-info{flex:1;min-width:0}.nominee-name{margin:0 0 10px;color:#333;font-size:18px;font-weight:600;line-height:1.3}.nominee-website{margin:8px 0;font-size:14px}.nominee-website .website-link{color:#5bc0de;text-decoration:none;word-break:break-all}.nominee-website .website-link:hover{color:#31708f;text-decoration:underline}.nominee-mission{margin:12px 0;color:#666;font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.nominee-meta{margin:10px 0 0;padding-top:10px;border-top:1px solid #eee}.nominees-footer{text-align:center;padding-top:20px;border-top:2px solid #e0e0e0;margin-top:20px}.nominees-footer p{margin:5px 0}.no-nominees{background:#fff;border-radius:8px;border:1px solid #e0e0e0}@media (max-width: 768px){.nominees-grid{grid-template-columns:1fr;gap:15px}.nominee-card{padding:15px;gap:12px}.nominee-number{width:35px;height:35px;font-size:14px}.nominee-name{font-size:16px}.nominations-closed .panel-body{padding:20px}}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.email-options{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-top:15px;text-align:center}.email-options h3{margin-top:0;margin-bottom:10px;color:#333;font-size:18px}.email-options p{margin-bottom:20px;color:#666;font-size:14px}.email-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:15px}.email-buttons .btn{min-width:140px;padding:10px 20px}.help-text{display:block;color:#6c757d;font-size:12px;line-height:1.4;max-width:500px;margin:0 auto}.btn.btn-outline{background-color:transparent;border:1px solid #6c757d;color:#6c757d}.btn.btn-outline:hover{background-color:#6c757d;color:#fff}@media (max-width: 768px){.email-buttons{flex-direction:column;align-items:center}.email-buttons .btn{width:100%;max-width:200px}}:root{--primary-accent: #38a7bb;--navbar-border-top: #20616d;--button-border: #2a7d8c;--link-focus: #267280;--form-shadow: rgba(56, 167, 187, .6);--pagination-bg: #a7dbe5;--link-hover-bg: #2c8494;--navbar-focus: #80cbd9}.app{min-height:100vh;background:#f8f9fa}#content{padding-top:0}.top-nav{background:#fff;padding:15px 20px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:20px;border-top:4px solid var(--navbar-border-top)}.nav-home-btn{background:var(--primary-accent);color:#fff;border:1px solid var(--button-border);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease-out;text-transform:uppercase;letter-spacing:.08em}.nav-home-btn:hover{background:var(--link-hover-bg);border-color:var(--link-focus)}.top-nav h2{margin:0;color:var(--primary-accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.app-content{padding:0}.home-page{padding:40px 0}.app-header{text-align:center;margin-bottom:60px}.app-header h1{font-size:3rem;color:var(--primary-accent);margin:0 0 20px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.app-header p{font-size:1.2rem;color:#666;margin:0}.app-nav{margin-top:40px}.nav-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:30px}.nav-card{background:#fff;padding:30px;border-radius:8px;box-shadow:0 4px 6px #0000001a;cursor:pointer;transition:all .2s ease-out;border-left:4px solid var(--primary-accent);position:relative;overflow:hidden}.nav-card:not(.coming-soon):hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026;border-left-color:var(--link-hover-bg)}.nav-card.coming-soon{opacity:.6;cursor:not-allowed;border-left-color:#ccc}.nav-card.coming-soon:hover{transform:none;box-shadow:0 4px 6px #0000001a}.nav-card h3{margin:0 0 15px;color:var(--primary-accent);font-size:1.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav-card.coming-soon h3{color:#999}.nav-card p{margin:0;color:#6c757d;line-height:1.6}.coming-soon-badge{position:absolute;top:15px;right:15px;background:#ffc107;color:#212529;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600}@media (max-width: 768px){.home-page{padding:20px 15px}.app-header h1{font-size:2.2rem}.app-header p{font-size:1rem}.nav-cards{grid-template-columns:1fr;gap:20px}.nav-card{padding:20px}.top-nav{padding:10px 15px}.top-nav h2{font-size:1.2rem}}.checkbox-label{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px;cursor:pointer;padding:10px;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9;transition:all .2s ease}.checkbox-label:hover{border-color:var(--primary-accent);background-color:#f0f8fa}.checkbox-label input[type=checkbox]{margin:0!important;flex-shrink:0;margin-top:2px;width:18px;height:18px;cursor:pointer}.checkbox-text{line-height:1.4;color:#333;font-size:14px;cursor:pointer;flex:1}.checkbox-label:hover .checkbox-text{color:var(--primary-accent)}.form-group .checkbox-label{margin-bottom:10px}
