:root{--primary-h: 140;--primary-s: 35%;--primary-l: 38%;--primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary-light: hsl(var(--primary-h), 40%, 94%);--primary-lighter: hsl(var(--primary-h), 45%, 97%);--primary-dark: hsl(var(--primary-h), var(--primary-s), 28%);--primary-hover: hsl(var(--primary-h), var(--primary-s), 32%);--neutral-h: 150;--neutral-s: 6%;--bg-page: hsl(var(--neutral-h), 8%, 96%);--bg-card: hsl(0, 0%, 100%);--bg-elevated: hsl(var(--neutral-h), 8%, 98%);--bg-active: hsl(var(--neutral-h), 10%, 93%);--bg-input: hsl(var(--neutral-h), 6%, 98%);--border: hsl(var(--neutral-h), 6%, 88%);--border-hover: hsl(var(--neutral-h), 8%, 78%);--text-primary: hsl(var(--neutral-h), 20%, 12%);--text-secondary: hsl(var(--neutral-h), 8%, 42%);--text-muted: hsl(var(--neutral-h), 4%, 58%);--success: hsl(152, 55%, 38%);--success-light: hsl(152, 50%, 94%);--success-dark: hsl(152, 55%, 28%);--danger: hsl(4, 72%, 52%);--danger-light: hsl(4, 80%, 96%);--danger-dark: hsl(4, 72%, 42%);--warning: hsl(38, 92%, 50%);--warning-light: hsl(38, 90%, 94%);--info: hsl(205, 65%, 48%);--info-light: hsl(205, 70%, 94%);--shadow-xs: 0 1px 2px hsl(var(--neutral-h), 10%, 50%, .08);--shadow-sm: 0 1px 2px hsl(var(--neutral-h), 10%, 50%, .06), 0 2px 4px hsl(var(--neutral-h), 10%, 50%, .06), 0 4px 8px hsl(var(--neutral-h), 10%, 50%, .06);--shadow-md: 0 2px 4px hsl(var(--neutral-h), 10%, 50%, .04), 0 4px 8px hsl(var(--neutral-h), 10%, 50%, .04), 0 8px 16px hsl(var(--neutral-h), 10%, 50%, .04), 0 16px 32px hsl(var(--neutral-h), 10%, 50%, .04);--shadow-lg: 0 2px 4px hsl(var(--neutral-h), 10%, 50%, .03), 0 4px 8px hsl(var(--neutral-h), 10%, 50%, .03), 0 8px 16px hsl(var(--neutral-h), 10%, 50%, .03), 0 16px 32px hsl(var(--neutral-h), 10%, 50%, .03), 0 32px 64px hsl(var(--neutral-h), 10%, 50%, .03);--shadow-xl: 0 4px 8px hsl(var(--neutral-h), 10%, 40%, .04), 0 8px 16px hsl(var(--neutral-h), 10%, 40%, .04), 0 16px 32px hsl(var(--neutral-h), 10%, 40%, .04), 0 32px 64px hsl(var(--neutral-h), 10%, 40%, .06), 0 64px 128px hsl(var(--neutral-h), 10%, 40%, .08);--shadow-btn: 0 1px 2px hsl(var(--neutral-h), 10%, 50%, .1), 0 2px 4px hsl(var(--neutral-h), 10%, 50%, .1), 0 4px 8px hsl(var(--neutral-h), 10%, 50%, .08);--shadow-btn-hover: 0 2px 4px hsl(var(--neutral-h), 10%, 50%, .1), 0 4px 8px hsl(var(--neutral-h), 10%, 50%, .1), 0 8px 16px hsl(var(--neutral-h), 10%, 50%, .1), 0 16px 32px hsl(var(--neutral-h), 10%, 50%, .08);--shadow-primary: 0 2px 4px hsl(var(--primary-h), 40%, 40%, .15), 0 4px 8px hsl(var(--primary-h), 40%, 40%, .15), 0 8px 16px hsl(var(--primary-h), 40%, 40%, .1);--shadow-primary-hover: 0 4px 8px hsl(var(--primary-h), 40%, 40%, .15), 0 8px 16px hsl(var(--primary-h), 40%, 40%, .15), 0 16px 32px hsl(var(--primary-h), 40%, 40%, .12), 0 32px 48px hsl(var(--primary-h), 40%, 40%, .08);--shadow-danger: 0 2px 4px hsl(4, 70%, 50%, .15), 0 4px 8px hsl(4, 70%, 50%, .15), 0 8px 16px hsl(4, 70%, 50%, .1);--shadow-danger-hover: 0 4px 8px hsl(4, 70%, 50%, .15), 0 8px 16px hsl(4, 70%, 50%, .15), 0 16px 32px hsl(4, 70%, 50%, .12), 0 32px 48px hsl(4, 70%, 50%, .08);--shadow-success: 0 2px 4px hsl(152, 55%, 35%, .15), 0 4px 8px hsl(152, 55%, 35%, .15), 0 8px 16px hsl(152, 55%, 35%, .1);--shadow-success-hover: 0 4px 8px hsl(152, 55%, 35%, .15), 0 8px 16px hsl(152, 55%, 35%, .15), 0 16px 32px hsl(152, 55%, 35%, .12), 0 32px 48px hsl(152, 55%, 35%, .08)}*{margin:0;padding:0;box-sizing:border-box}html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;background:var(--bg-page);min-height:100%;display:flex;flex-direction:column;color:var(--text-primary);line-height:1.6}.site-header{background-color:var(--bg-card);margin:1rem;margin-bottom:0;border-radius:16px;padding:.875rem 1.5rem;position:sticky;top:1rem;z-index:100;box-shadow:var(--shadow-lg);border:1px solid hsl(var(--neutral-h),6%,94%);transition:box-shadow .2s ease}.site-header:hover{box-shadow:var(--shadow-xl)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.25rem;font-weight:700;color:var(--primary-dark);letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem;text-decoration:none}.logo-mark{width:18px;height:18px;border-radius:4px;display:block}.site-nav{display:flex;gap:.25rem;align-items:center}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:10px;transition:all .15s ease;font-weight:500;font-size:.9rem;position:relative}.nav-link:hover{color:var(--text-primary);background-color:var(--bg-active)}.nav-link.active{color:var(--primary-dark);background-color:var(--primary-light)}.nav-link.active:after{content:"";position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--primary);border-radius:50%}.nav-desktop{display:flex;gap:.25rem}.nav-dropdown{position:relative}.nav-dropdown-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);transition:all .2s ease;box-shadow:var(--shadow-xs)}.nav-dropdown-toggle:hover{background-color:var(--bg-active);border-color:var(--border-hover);color:var(--text-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.nav-dropdown-toggle svg{width:18px;height:18px}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--bg-card);border:1px solid hsl(var(--neutral-h),6%,92%);border-radius:14px;box-shadow:var(--shadow-xl);min-width:180px;display:none;z-index:200;padding:.5rem}.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block;padding:.625rem .875rem;color:var(--text-secondary);text-decoration:none;transition:all .15s ease;border-radius:8px;font-size:.9rem}.nav-dropdown-menu a:hover{background-color:var(--bg-active);color:var(--text-primary)}.nav-dropdown-divider{height:1px;background-color:var(--border);margin:.375rem .5rem}@media(max-width:640px){.site-header{margin:.75rem;top:.75rem}.nav-desktop{display:none}.mobile-nav-item{display:block}}@media(min-width:641px){.mobile-nav-item{display:none}}.main-content{flex:1;padding:2rem}.footer{text-align:center;padding:30px 20px;color:var(--text-muted);font-size:.85em;margin-top:auto}.card{background-color:var(--bg-card);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md);border:1px solid hsl(var(--neutral-h),6%,94%);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-lg)}.btn{padding:.7rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;letter-spacing:-.01em;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary-hover)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-primary)}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border:1.5px solid var(--border);box-shadow:var(--shadow-btn)}.btn-secondary:hover{background-color:var(--bg-active);border-color:var(--border-hover);box-shadow:var(--shadow-btn-hover);transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0);box-shadow:var(--shadow-btn)}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-dark) 100%);color:#fff;box-shadow:var(--shadow-danger)}.btn-danger:hover{transform:translateY(-2px);box-shadow:var(--shadow-danger-hover)}.btn-danger:active{transform:translateY(0);box-shadow:var(--shadow-danger)}.btn-success{background:linear-gradient(135deg,var(--success) 0%,var(--success-dark) 100%);color:#fff;box-shadow:var(--shadow-success)}.btn-success:hover{transform:translateY(-2px);box-shadow:var(--shadow-success-hover)}.btn-success:active{transform:translateY(0);box-shadow:var(--shadow-success)}.pagination-controls{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pagination-nav{display:flex;align-items:center;gap:12px}.pagination-btn{min-width:98px;justify-content:center}.pagination-btn.disabled,.pagination-btn:disabled{opacity:.5;pointer-events:none}.pagination-info{color:var(--text-secondary);font-size:.9em}.page-size-selector{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9em}.page-size-selector select{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);padding:6px 8px;font-size:.9em}.form-group{margin-bottom:1.25rem}.form-label{display:block;color:var(--text-secondary);margin-bottom:.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.form-input,input[type=text],input[type=url],input[type=email],input[type=password],textarea{width:100%;padding:.875rem 1rem;background-color:var(--bg-input);border:2px solid transparent;border-radius:12px;color:var(--text-primary);font-size:.95rem;transition:all .15s ease;font-family:inherit}.form-input:hover,input[type=text]:hover,input[type=url]:hover,input[type=email]:hover,input[type=password]:hover,textarea:hover{background-color:var(--bg-elevated)}.form-input:focus,input[type=text]:focus,input[type=url]:focus,input[type=email]:focus,input[type=password]:focus,textarea:focus{outline:none;border-color:var(--primary);background-color:var(--bg-card);box-shadow:0 0 0 4px var(--primary-light)}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:var(--text-muted)}.flash{padding:14px 18px;margin-bottom:20px;border-radius:12px;font-weight:500;font-size:.95em}.flash.success{background:var(--success-light);color:var(--success-dark);border:1px solid var(--success)}.flash.error{background:var(--danger-light);color:var(--danger-dark);border:1px solid var(--danger)}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:20px;font-size:.75rem;font-weight:600}.badge:before{content:"";width:6px;height:6px;border-radius:50%}.badge-success{background-color:var(--success-light);color:var(--success-dark)}.badge-success:before{background-color:var(--success)}.badge-danger{background-color:var(--danger-light);color:var(--danger-dark)}.badge-danger:before{background-color:var(--danger)}.badge-warning{background-color:var(--warning-light);color:#825b17}.badge-warning:before{background-color:var(--warning)}.badge-info{background-color:var(--info-light);color:#225477}.badge-info:before{background-color:var(--info)}.role-limit-banner{background:var(--warning-light);border-top:1px solid var(--warning);padding:1rem 2rem}.role-limit-content{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;gap:.75rem}.role-limit-icon{width:20px;height:20px;color:#986a1b;flex-shrink:0;margin-top:2px}.role-limit-text{color:#6c4c13;font-size:.9rem}.role-limit-text strong{display:block;margin-bottom:.25rem}.role-limit-text p{margin:0;line-height:1.5}.toast-container{position:fixed;bottom:20px;right:20px;z-index:1000}.toast{background:hsl(var(--neutral-h),15%,20%);color:#fff;padding:14px 20px;border-radius:12px;margin-top:10px;max-width:350px;box-shadow:var(--shadow-xl);animation:slideIn .3s ease-out}.toast.hiding{animation:fadeOut .3s ease-out forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}
