@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color-scheme:light;font-family:Space Grotesk,system-ui,sans-serif;background-color:#f4f0e6;color:#18130f;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#f9efe0,#f4f0e6 45%,#ede8df);overflow:hidden}#root{min-height:100vh;height:100vh}button,input,select,textarea{font-family:inherit}.app{min-height:100vh;height:100vh;padding:32px 40px 64px;display:flex;flex-direction:column;gap:32px;overflow:hidden}.auth-screen{background:url(/PDC2.webp) center/cover no-repeat;position:relative;align-items:center;justify-content:center}.auth-card{width:min(420px,90vw);background:#fff6ea;border:1px solid #e7d8c4;border-radius:24px;padding:32px;box-shadow:0 20px 60px #3020161f;display:flex;flex-direction:column;gap:18px}.auth-card h1{font-family:Fraunces,serif;font-size:32px;margin:0}.auth-form{display:grid;gap:16px}.auth-form label,.detail-grid label,.user-form label{display:grid;gap:6px;font-weight:500}.auth-form input,.detail-grid input,.detail-grid textarea,.user-form input,.user-form select{border-radius:12px;border:1px solid #ccbba4;padding:10px 12px;background:#fffdf9}.auth-form button,.detail-actions button,.user-form button,.top-actions button{border:none;border-radius:12px;padding:10px 16px;background:#2c1f16;color:#fef6ea;font-weight:600;cursor:pointer}.top-actions button.ghost{background:transparent;border:1px solid #c9b49a;color:#2c1f16}.auth-footer{font-size:12px;color:#6f5e4c}.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:transparent;color:#2c1f16;font-weight:600;letter-spacing:.02em}.badge-lg{font-size:22px;padding:10px 18px}.top-bar{display:flex;justify-content:space-between;align-items:center;gap:24px}.top-bar p{margin:0}.top-actions{display:flex;align-items:center;gap:12px}.year-select{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#6f5e4c}.year-select select{border-radius:10px;border:1px solid #ccbba4;padding:6px 10px;background:#fffdf9;color:#2c1f16}.tabs{display:inline-flex;gap:8px;background:#f2e2cd;border-radius:999px;padding:6px;width:fit-content}.tabs button{border:none;background:transparent;padding:8px 18px;border-radius:999px;font-weight:600;cursor:pointer;color:#4c3828}.tabs button.active{background:#2c1f16;color:#fef6ea}.role-chip{padding:6px 14px;border-radius:16px;background:#2c1f16;color:#fef6ea;font-weight:600}.dashboard{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr);gap:24px;min-width:0;flex:1;min-height:0}.dashboard.single{grid-template-columns:1fr}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-actions{display:flex;align-items:center;gap:12px}.panel-actions .primary,.primary{border:none;border-radius:12px;padding:10px 16px;background:#2c1f16;color:#fef6ea;font-weight:600;cursor:pointer}.overlay{position:fixed;inset:0;background:#2c1f1659;display:grid;place-items:center;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay-card{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#fffdf9;border-radius:18px;border:1px solid #e7d8c4;box-shadow:0 18px 50px #2c1f1633}.spinner{width:22px;height:22px;border:3px solid #e3d3bf;border-top-color:#2c1f16;border-radius:50%;animation:spin 1s linear infinite}.table-panel{display:flex;flex-direction:column;min-height:0;min-width:0}.table-panel.full{min-height:0;height:100%}.table-wrapper{flex:1;overflow:auto}@keyframes spin{to{transform:rotate(360deg)}}.table-panel,.detail-panel,.users-panel{background:#fff6ea;border:1px solid #e7d8c4;border-radius:24px;padding:20px;box-shadow:0 16px 40px #30201614}.table-wrapper{overflow:auto;max-height:520px;width:100%;max-width:100%;min-width:0;border-radius:16px;border:1px solid #e3d3bf;background:#fffdf9}.table-wrapper table{border-collapse:collapse;width:max-content;min-width:100%;font-size:13px}.table-wrapper th,.table-wrapper td{padding:10px 12px;border-bottom:1px solid #efe0cd;text-align:left;vertical-align:top}.table-wrapper th{position:sticky;top:0;background:#f7e9d6;font-weight:600;z-index:1}.table-wrapper tr:hover{background:#f4e4d0}.table-wrapper tr.active{background:#f0d7b8}.detail-body{display:grid;gap:18px}.detail-group{background:#fffdf9;border-radius:18px;border:1px solid #e7d8c4;padding:16px}.detail-group h4{margin:0 0 10px;font-family:Fraunces,serif}.detail-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-grid.detail-two-col{grid-template-columns:1fr 1fr}.field-row.disabled{opacity:.6}.detail-actions{display:flex;align-items:center;gap:12px}.field-list{display:grid;gap:12px}.field-row{display:grid;grid-template-columns:minmax(180px,220px) 1fr;gap:16px;padding:6px 0;border-bottom:1px solid #e7d8c4;align-items:start}.field-label{font-size:13px;color:#6f5e4c;font-weight:600}.field-value{color:#2c1f16;font-size:14px}.field-control input,.field-control textarea{width:100%}.detail-note{margin-top:12px;display:grid;gap:8px}.table-footer{margin-top:12px;padding:8px 12px;border-radius:12px;background:#fffdf9;border:1px solid #e7d8c4;display:flex;justify-content:space-between;gap:12px}.detail-actions .ghost{border:1px solid #c9b49a;background:transparent;color:#2c1f16}.modal-backdrop{position:fixed;inset:0;background:#2c1f1666;display:grid;place-items:center;z-index:1000;padding:24px}.modal-card{width:min(1100px,94vw);max-height:90vh;overflow:auto;background:#fff6ea;border:1px solid #e7d8c4;border-radius:24px;padding:20px;box-shadow:0 22px 60px #2c1f1640}.status{background:#e9f0e4;color:#2b5a35;border-radius:12px;padding:8px 12px;margin-bottom:10px}.error{background:#f7d7c7;color:#7a2c12;border-radius:12px;padding:8px 12px;margin-bottom:10px}.muted{color:#6f5e4c;font-size:13px}.empty-state{padding:24px;border-radius:16px;background:#fffdf9;border:1px dashed #d7c6af;color:#6f5e4c}.users-panel{display:grid;gap:16px;max-height:calc(100vh - 260px)}.users-table{display:grid;gap:12px;background:#fffdf9;border:1px solid #e7d8c4;border-radius:18px;padding:16px;max-height:calc(100vh - 300px);overflow:auto}.users-header,.user-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(160px,1fr) 140px minmax(220px,1fr);gap:12px;align-items:center}.users-header{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6f5e4c}.user-row input,.user-row select{border-radius:12px;border:1px solid #ccbba4;padding:8px 10px;background:#fffdf9}.user-actions{display:flex;gap:8px;flex-wrap:wrap}.user-actions .primary{border:none;border-radius:12px;padding:8px 14px;background:#2c1f16;color:#fef6ea;font-weight:600;cursor:pointer}.user-actions .ghost{border:1px solid #c9b49a;background:transparent;color:#2c1f16;border-radius:12px;padding:8px 14px}.user-actions .danger{border:1px solid #d6a08f;background:#f7d7c7;color:#7a2c12;border-radius:12px;padding:8px 14px}.user-form{background:#fffdf9;border:1px solid #e7d8c4;border-radius:16px;padding:14px;display:grid;gap:12px}@media(max-width:960px){.app{padding:24px}.dashboard{grid-template-columns:1fr}.top-bar{flex-direction:column;align-items:flex-start}.users-header,.user-row{grid-template-columns:1fr}.user-actions{flex-direction:column}}.auth-brand{display:inline-flex;align-items:center;gap:12px}.auth-brand img{width:40px;height:40px;object-fit:contain}.brand-row{display:inline-flex;align-items:center;gap:12px}.brand-logo{width:88px;height:88px;object-fit:contain}.field-control select{width:100%}
