*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#333;background:#f8f9fa}h2,h3{color:#434343}.btn{display:inline-block;padding:9px 22px;font-size:.9rem;font-weight:600;border:none;border-radius:24px;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-action{color:#485465;background:#fafaff;border:1px solid #485465}.btn-action:hover:not(:disabled){background:#e8edfd;color:#000;border:1px solid #485465}.btn-sm{padding:6px 16px;font-size:.85rem}.dialog-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{background:#fff;border-radius:8px;width:480px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.dialog .dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #e0e0e0}.dialog .dialog-header h3{margin:0;font-size:1.1rem}.dialog .dialog-header .dialog-close{background:none;border:none;font-size:1.4rem;color:#666;cursor:pointer;padding:0 4px}.dialog .dialog-header .dialog-close:hover{color:#333}.dialog .dialog-body{padding:20px}.dialog .dialog-body .form-group{display:flex;align-items:center;margin-bottom:14px}.dialog .dialog-body .form-group label{width:140px;font-size:.9rem;font-weight:500;color:#333;flex-shrink:0}.dialog .dialog-body .form-group input[type=text],.dialog .dialog-body .form-group input[type=password],.dialog .dialog-body .form-group select,.dialog .dialog-body .form-group textarea{flex:1;padding:8px 10px;font-size:.9rem;border:1px solid #ccc;border-radius:4px}.dialog .dialog-body .form-group textarea{font-family:monospace;resize:vertical;min-height:120px}.dialog .dialog-body .error{color:#c00;font-size:.85rem;margin-top:8px;text-align:center}.dialog .dialog-body .success{color:#2e7d32;font-size:.95rem;text-align:center}.dialog .dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid #e0e0e0}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ddd}.data-table th,.data-table td{padding:12px 16px;text-align:left;font-size:.9rem;border-bottom:1px solid #e0e0e0;white-space:nowrap}.data-table thead th{background:#f0f0f5;color:#333;font-weight:700;white-space:nowrap}.data-table tbody tr:hover{background:#fafafe}.data-table tbody tr:last-child td{border-bottom:none}.data-table .actions{white-space:nowrap;text-align:right}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:2px 6px;border-radius:4px}.btn-icon:hover{background:#eee}.btn-icon-danger:hover{background:#fdd}.page-container{width:fit-content;margin:40px auto;padding:0 16px}.page-container .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-container .page-header h2{margin:0}.page-container .error{color:#c00;font-size:.9rem;margin-bottom:12px;text-align:center}.page-container .loading,.page-container .empty{text-align:center;color:#666;padding:24px}
