:root{--bg:#f5f4ed;--bg-card:#fffdf6;--text:#1e2b27;--muted:#5e6d68;--brand:#0f766e;--brand-2:#115e59;--danger:#b42318;--line:#d8d8cf}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{color:var(--text);background:radial-gradient(circle at 15% 10%,#fff 0%,#0000 45%),radial-gradient(circle at 90% 20%,#e5f3ef 0%,#0000 35%),linear-gradient(#f7f5ee 0%,#efeee4 100%);font-family:IBM Plex Sans,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.auth-page{place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.auth-card{border:1px solid var(--line);background:linear-gradient(145deg,#fffeff,#f7f5ee);border-radius:20px;width:100%;max-width:420px;padding:2rem;animation:.45s rise;box-shadow:0 20px 60px #115e591f}.auth-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:2rem}.auth-subtitle{color:var(--muted);margin:.5rem 0 1.4rem}.auth-form{gap:.9rem;display:grid}.auth-label{font-size:.9rem;font-weight:600}.auth-input{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:.75rem .8rem;font-size:.95rem}.auth-input:focus{outline-offset:1px;outline:2px solid #8dd9d4}.auth-input:disabled{color:var(--muted);cursor:not-allowed;background:#f0efe8}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-button{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.78rem 1rem;font-weight:700}.create-user-button{color:var(--brand);cursor:pointer;background:0 0;border:none;border-radius:12px;padding:.68rem 1rem;font-size:1.1rem;font-weight:700;transition:all .2s}.create-user-button:hover{background:var(--brand);color:#fff}.create-user-button:disabled{opacity:.7;cursor:not-allowed}.auth-error{color:var(--danger);margin:0;font-size:.9rem}.dashboard{min-height:100vh;padding:2rem 1rem}.dashboard-card{border:1px solid var(--line);background:var(--bg-card);border-radius:18px;width:100%;min-width:min(1100px,100%);max-width:1100px;margin:0 auto;padding:1.6rem}.dashboard-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-meta{color:var(--muted);margin:.45rem 0 0}.dashboard-error{color:var(--danger);background:#fff0ed;border:1px solid #f8d2cc;border-radius:12px;margin:1.3rem 0 0;padding:.8rem .9rem}.dashboard-search{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.2rem;display:flex}.dashboard-search-input{border:1px solid var(--line);background:#fff;border-radius:12px;flex:1;min-width:260px;padding:.7rem .85rem;font-size:.94rem}.dashboard-search-input:focus{outline-offset:1px;outline:2px solid #8dd9d4}.dashboard-table-wrapper{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;margin-top:1.4rem;overflow-x:auto}.dashboard-table{border-collapse:collapse;table-layout:fixed;width:100%}.dashboard-table th,.dashboard-table td{text-align:left;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #ecebe3;padding:.85rem .9rem;font-size:.92rem;overflow:hidden}.dashboard-table th:first-child,.dashboard-table td:first-child{width:24%}.dashboard-table th:nth-child(2),.dashboard-table td:nth-child(2){width:29%}.dashboard-table th:nth-child(3),.dashboard-table td:nth-child(3){width:18%}.dashboard-table th:nth-child(4),.dashboard-table td:nth-child(4){width:21%}.dashboard-table th:nth-child(5),.dashboard-table td:nth-child(5){text-align:center;width:8%}.dashboard-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f9f8f1;font-size:.8rem}.dashboard-table tbody tr:hover{background:#fcfbf6}.dashboard-empty-state{color:var(--muted);text-align:center}.dn-cell{color:#314640}.user-actions-cell{text-align:center;width:48px;padding:.5rem .4rem!important}.user-actions{display:inline-block;position:relative}.user-actions-trigger{cursor:pointer;letter-spacing:.08em;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:.3rem .55rem;font-size:1rem;font-weight:700;line-height:1;transition:background-color .12s,border-color .12s}.user-actions-trigger:hover,.user-actions-trigger[aria-expanded=true]{border-color:var(--line);color:var(--text);background:#f0f0e8}.user-actions-menu{z-index:1000;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:.15rem;min-width:160px;padding:.3rem;animation:.15s rise;display:flex;position:fixed;box-shadow:0 8px 24px #0f766e1f}.user-actions-item{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;border-radius:8px;padding:.55rem .8rem;font-size:.9rem;transition:background-color .1s}.user-actions-item:hover{background:#f4f6f0}.user-actions-item.action-block{color:var(--danger)}.user-actions-item.action-block:hover{background:#fff0ed}.user-actions-item.action-unblock{color:#0f6a43}.user-actions-item.action-unblock:hover{background:#eafbf1}.dashboard-blocking-overlay{z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1e2b2747;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dashboard-blocking-card{border:1px solid var(--line);color:var(--text);background:#fffdf6;border-radius:12px;align-items:center;gap:.7rem;padding:.75rem 1rem;font-weight:600;display:inline-flex;box-shadow:0 12px 28px #115e592e}.dashboard-blocking-spinner{border:2px solid #bfd8d5;border-top-color:var(--brand);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.dashboard-modal-overlay{z-index:2100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e2b2761;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dashboard-modal-card{border:1px solid var(--line);background:#fffdf6;border-radius:14px;gap:.65rem;width:min(420px,100% - 2rem);padding:1.1rem;display:grid;box-shadow:0 18px 42px #115e5938}.dashboard-modal-title{margin:0;font-size:1.1rem}.dashboard-modal-subtitle{color:var(--muted);margin:0;font-size:.9rem}.dashboard-modal-label{font-size:.9rem;font-weight:600}.dashboard-modal-input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.68rem .75rem;font-size:.95rem}.dashboard-modal-input:focus{outline-offset:1px;outline:2px solid #8dd9d4}.dashboard-modal-error{color:var(--danger);margin:0;font-size:.88rem}.dashboard-modal-actions{justify-content:flex-end;gap:.55rem;display:flex}.dashboard-feedback{z-index:2200;border:1px solid #0000;border-radius:10px;width:max-content;max-width:calc(100vw - 2rem);padding:.65rem .9rem;font-size:.9rem;font-weight:600;animation:.14s rise;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #115e592e}.dashboard-feedback--success{color:#0f6a43;background:#e8f8ef;border-color:#a9dfbf}.dashboard-feedback--error{color:var(--danger);background:#fff0ed;border-color:#f5c9c2}.status-pill{border-radius:999px;align-items:center;padding:.22rem .58rem;font-size:.78rem;font-weight:700;display:inline-flex}.status-pill.enabled{color:#0f6a43;background:#ddf3e8}.status-pill.disabled{color:#9c2c22;background:#f8dfdd}.dashboard-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-top:1rem;display:flex}.pagination-link{border:1px solid #c7ccc7;border-radius:10px;padding:.5rem .8rem;font-weight:600;transition:background-color .14s}.pagination-link:hover{background:#f4f6f4}.pagination-link.disabled{opacity:.5;pointer-events:none}.pagination-info{color:var(--muted);font-size:.9rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#e8e7df 25%,#f2f1e9 50%,#e8e7df 75%) 0 0/600px 100%;border-radius:8px;animation:1.4s linear infinite shimmer}.skeleton-header-text{flex-direction:column;gap:.5rem;display:flex}.skeleton-title{width:180px;height:2rem}.skeleton-subtitle{width:260px;height:1rem}.skeleton-meta{width:200px;height:.85rem}.skeleton-button{border-radius:12px;width:72px;height:2.6rem}.skeleton-search{border-radius:12px;height:2.6rem;margin-top:1.2rem}.skeleton-cell{height:1rem}.skeleton-cell--long{width:100%;max-width:200px}.skeleton-cell--medium{width:100%;max-width:130px}.skeleton-cell--short{border-radius:999px;width:60px}.skeleton-cell--icon{border-radius:8px;width:28px;height:28px;margin:0 auto}@media (max-width:640px){.auth-card{padding:1.4rem}.auth-title{font-size:1.7rem}.dashboard-card{padding:1rem}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-header>div{flex:1;min-width:0}.dashboard-header form{flex-shrink:0}.dashboard-header form button{padding:.65rem .8rem;font-size:.9rem}.dashboard-table-wrapper{-webkit-overflow-scrolling:touch;min-width:100%;overflow-x:auto}.dashboard-table{min-width:560px}.dashboard-table th,.dashboard-table td{padding:.7rem .6rem;font-size:.85rem}.dashboard-table th:first-child,.dashboard-table td:first-child{width:20%;min-width:70px}.dashboard-table th:nth-child(2),.dashboard-table td:nth-child(2){width:26%;min-width:80px}.dashboard-table th:nth-child(3),.dashboard-table td:nth-child(3){width:16%;min-width:60px}.dashboard-table th:nth-child(4),.dashboard-table td:nth-child(4){width:14%;min-width:50px}.dashboard-table th:nth-child(5),.dashboard-table td:nth-child(5){width:24%;min-width:60px;padding:.6rem .4rem!important}.user-actions-cell{width:auto;padding:.6rem .4rem!important}.user-actions-trigger{padding:.25rem .5rem;font-size:.9rem}}
