:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:#1a1a1a;background:#f4f5f7}body{margin:0}.app-shell{max-width:1100px;margin:0 auto;padding:1.5rem}.app-shell header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid #d6d8de;margin-bottom:1.5rem}.app-shell header h1{font-size:1.1rem;margin:0}.app-shell header nav{display:flex;gap:.5rem}.app-shell header nav button{background:#e5e7eb;color:#1a1a1a;border:1px solid transparent;padding:.35rem .75rem}.app-shell header nav button.nav-active{background:#2563eb;color:#fff;border-color:#2563eb}.page h1{margin-top:0}.create-level-form{background:#fff;padding:1rem 1.25rem;border-radius:8px;box-shadow:0 1px 2px #0000000a;margin-bottom:1.5rem}.create-level-form h2{margin-top:0;font-size:1rem}.form-row{display:flex;gap:1rem;align-items:flex-end}.form-row label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.form-row input{padding:.4rem .5rem;border:1px solid #c8cad0;border-radius:4px;font-size:.95rem}button{padding:.45rem .9rem;border:1px solid #2563eb;background:#2563eb;color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem}button:disabled{opacity:.55;cursor:not-allowed}button[type=button]{border-color:#d6d8de;background:#fff;color:#1a1a1a}.levels-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.levels-table th,.levels-table td{text-align:left;padding:.6rem .9rem;border-bottom:1px solid #ececec}.levels-table thead{background:#f4f5f7}.error{color:#b91c1c;background:#fee2e2;padding:.45rem .7rem;border-radius:4px;margin-top:.75rem}.form-row+.form-row{margin-top:.75rem}.form-actions{margin-top:.75rem;display:flex;gap:.5rem}.checkbox-label{flex-direction:row;align-items:center;gap:.4rem}.aliases-label{flex:1}.aliases-label textarea{padding:.4rem .5rem;border:1px solid #c8cad0;border-radius:4px;font-size:.95rem;font-family:inherit;resize:vertical}.hint{font-size:.75rem;color:#555}.filters{display:flex;gap:1rem;margin-bottom:.75rem}.filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.filters select,.form-row select{padding:.4rem .5rem;border:1px solid #c8cad0;border-radius:4px;font-size:.95rem}.row-inactive{color:#999}.row-actions{display:flex;gap:.4rem}.upload-block{background:#fff;padding:1rem 1.25rem;border-radius:8px;display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.schedule-section{background:#fff;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 1px 2px #0000000a}.schedule-section header h2{margin:0;font-size:1rem}.schedule-section header small{color:#777}.warn{color:#92400e;background:#fef3c7;padding:.4rem .7rem;border-radius:4px}.commit-bar{position:sticky;bottom:0;background:#f4f5f7;padding:.75rem 0;display:flex;justify-content:flex-end}.commit-result{background:#ecfdf5;border:1px solid #6ee7b7;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.commit-result h2{margin-top:0;font-size:1rem;color:#047857}.round-section{margin-top:1.5rem}.round-section-title{margin:0 0 .5rem;font-size:1.05rem;color:#1f2937}.nominations-table td.nom-cell{padding:.25rem .5rem}.nominations-table td.nom-cell .nom-cell-inner{display:flex;align-items:center;gap:.3rem}.nominations-table td.nom-cell select{flex:1;width:100%;padding:.3rem .4rem;border:1px solid #c8cad0;border-radius:4px;font-size:.85rem;background:#fff}.nominations-table td.nom-violation{background:#fee2e2}.nominations-table td.nom-violation select{border-color:#b91c1c}.nominations-table td.nom-locked{background:#fef3c7}.nominations-table td.nom-locked select{border-color:#b45309;background:#fffbeb}.nominations-table .nom-lock-btn{background:transparent;border:1px solid #c8cad0;color:#555;padding:.2rem .4rem;font-size:.9rem;line-height:1;border-radius:4px;cursor:pointer}.nominations-table .nom-lock-btn:disabled{opacity:.4;cursor:not-allowed}.nominations-table .nom-lock-btn.nom-lock-on{background:#fde68a;border-color:#b45309;color:#78350f}.coi-fieldset{margin-top:1rem;border:1px solid #d6d8de;border-radius:6px;padding:.75rem 1rem}.coi-fieldset legend{font-size:.85rem;color:#444;padding:0 .4rem}.coi-panel{display:flex;flex-direction:column;gap:.5rem}.coi-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}.coi-list li{display:flex;align-items:center;gap:.4rem;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:.2rem .6rem;font-size:.85rem}.coi-list li button{background:transparent;color:#92400e;border:none;padding:0 .25rem;cursor:pointer;font-size:.85rem}.blocked-dates-page .commit-result{font-size:.85rem}.analytics-page .report{display:flex;flex-direction:column;gap:1.25rem}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.kpi{background:#fff;border-radius:8px;padding:.75rem 1rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:.25rem}.kpi-label{font-size:.8rem;color:#555}.kpi-value{font-size:1.2rem;font-weight:600}.count-table h3,.analytics-page h3{margin:0 0 .5rem;font-size:.95rem}.count-table .levels-table th:last-child,.count-table .levels-table td:last-child{text-align:right;width:4rem}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#6b7280}.login-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem}.login-card{width:100%;max-width:340px;background:#fff;border:1px solid #d6d8de;border-radius:8px;padding:1.75rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:0 1px 3px #00000014}.login-card h1{font-size:1rem;margin:0;color:#6b7280;font-weight:500}.login-card h2{font-size:1.35rem;margin:0 0 .5rem}.login-card label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.login-card input{padding:.5rem .6rem;border:1px solid #cbd0d8;border-radius:5px;font-size:.95rem}.login-card button{margin-top:.5rem;background:#2563eb;color:#fff;border:none;padding:.55rem;border-radius:5px;font-size:.95rem;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:default}.login-error{margin:0;color:#b91c1c;font-size:.85rem}.app-shell header nav button.nav-logout{margin-left:.75rem;background:transparent;border-color:#d6d8de;color:#6b7280}
