.layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:240px;height:100vh;background-color:var(--sidebar-bg);color:#fff;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.sidebar-header{padding:22px 20px;border-bottom:1px solid var(--sidebar-border);background:#ffffff0a}.sidebar-header h2{font-size:1.15rem;font-weight:700;letter-spacing:.5px;color:var(--primary);margin:0}.sidebar-menu{list-style:none;padding:8px 0;margin:0;flex:1;overflow-y:auto;min-height:0}.sidebar-menu::-webkit-scrollbar{width:4px}.sidebar-menu::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.sidebar-menu li{border-bottom:none}.sidebar-menu a{display:block;padding:11px 20px;color:#fffc;text-decoration:none;font-size:.95rem;font-weight:500;transition:all .2s;border-left:3px solid transparent}.sidebar-menu a:hover{background-color:var(--sidebar-hover);color:#fff;border-left-color:var(--primary)}.menu-item-active>a{background-color:var(--sidebar-active);color:var(--primary);border-left-color:var(--primary);font-weight:600}.submenu{list-style:none;padding:0;margin:0;background-color:#0000002e}.submenu li{border-bottom:none}.submenu a{padding:9px 20px 9px 36px;font-size:.88rem;color:#ffffffa6;border-left:3px solid transparent}.submenu a:hover{background-color:#ffffff0f;color:#ffffffe6;border-left-color:var(--primary)}.sidebar-menu ul{list-style:none;padding-left:0}.sidebar-menu ul li{list-style:none}.sidebar-menu ul li::marker{display:none}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--sidebar-border)}.sidebar-footer button{width:100%;padding:9px;background-color:#e74c3cd9;color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.sidebar-footer button:hover{background-color:var(--danger)}.main-content{flex:1;height:100vh;padding:28px 32px;background-color:var(--bg-main);overflow-y:auto}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#ebf6fc,#d0eafa,#b8e0f5)}.login-box{background:#fff;padding:48px 40px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px}.login-box h2{margin-bottom:8px;text-align:center;color:var(--text-primary);font-size:1.5rem;font-weight:700}.login-subtitle{text-align:center;color:var(--text-muted);font-size:.875rem;margin-bottom:32px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-group input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;transition:border-color .2s,box-shadow .2s;background:var(--gray-100)}.form-group input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #79bfe633}.error{color:var(--danger);margin-bottom:16px;text-align:center;font-size:.875rem;padding:10px;background:var(--danger-light);border-radius:var(--radius-sm)}.login-box button{width:100%;padding:12px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.login-box button:hover{background-color:var(--primary-dark)}.login-box button:active{transform:scale(.98)}.dashboard h1{margin-bottom:28px;color:var(--text-primary);font-size:1.5rem;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.stat-card{background:var(--bg-card);padding:28px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);border-top:4px solid var(--primary);transition:box-shadow .2s}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card h3{color:var(--text-muted);font-size:12px;font-weight:600;margin-bottom:12px;text-transform:uppercase;letter-spacing:.8px}.stat-number{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin:0}.users{background:var(--bg-card);padding:28px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.form-control-sm{height:32px;padding:4px 8px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text-secondary);cursor:pointer;outline:none;box-sizing:border-box;transition:border-color .2s}.form-control-sm:focus{border-color:var(--primary);box-shadow:0 0 0 2px #79bfe62e}.btn-sm{height:32px;padding:4px 12px;font-size:13px;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background-color .2s,opacity .2s}.btn-sm:disabled{opacity:.65;cursor:not-allowed}.btn-xs{padding:3px 9px;font-size:12px;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background-color .2s}.btn-table{padding:4px 12px;font-size:13px;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;min-width:60px;transition:background-color .2s}.btn-success{background-color:var(--success);color:#fff;border:none;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-success:hover:not(:disabled){background-color:#1e8449}.btn-success:disabled{opacity:.65;cursor:not-allowed}.btn-close{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--gray-500);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,color .2s;padding:0}.btn-close:hover{background-color:var(--gray-200);color:var(--text-primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:700}.btn-primary{padding:6px 14px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;height:34px;transition:background-color .2s;white-space:nowrap}.btn-secondary{height:34px;padding:6px 14px;font-size:13px;font-weight:500;background-color:var(--gray-200);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-secondary:hover:not(:disabled){background-color:var(--gray-300)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{padding:6px 14px;background-color:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-danger:hover{background-color:var(--danger-dark)}.btn-info{background-color:#2db6cc;color:#fff;border:none;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-info:hover{background-color:#1ea0b5}.btn-warning{background-color:var(--warning);color:#fff;border:none;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-warning:hover{background-color:#d68910}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:11px 13px;text-align:center;border-bottom:1px solid var(--border-light)}.users-table th{background-color:var(--bg-table-header);font-weight:600;font-size:13px;color:var(--text-secondary);letter-spacing:.3px}.users-table tbody tr:hover{background-color:var(--primary-bg)}.status{padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600;display:inline-block}.status.active{background-color:#dcf5e8;color:#1a7a40}.status.inactive{background-color:var(--danger-light);color:#8b2020}.modal-content{background:#fff;padding:32px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:90%;max-width:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:16px;border-bottom:2px solid var(--primary-light)}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.1rem;font-weight:700}.modal-close{background:none;border:none;font-size:26px;color:var(--gray-500);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:50%;transition:background-color .2s,color .2s}.modal-close:hover{background-color:var(--gray-200);color:var(--text-primary)}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:500;font-size:13px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=date],.form-group select{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;box-sizing:border-box;background:var(--gray-100);transition:border-color .2s,box-shadow .2s}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group input[type=date]:focus,.form-group select:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #79bfe62e}.form-group input[type=checkbox]{margin-right:8px;accent-color:var(--primary)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.form-actions button{padding:9px 20px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500}.form-actions button[type=button]{background-color:var(--gray-200);color:var(--text-secondary);border:1px solid var(--border)}.form-actions button[type=button]:hover{background-color:var(--gray-300)}.pagination{display:flex;align-items:center;gap:4px}.pagination-btn{padding:7px 12px;min-width:36px;border:1px solid var(--border);background-color:#fff;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;transition:all .18s ease;font-weight:400}.pagination-btn:disabled{background-color:var(--gray-100);color:var(--gray-500);cursor:not-allowed;opacity:.7}.pagination-btn.active:hover{background-color:var(--primary-dark);border-color:var(--primary-dark)}.pagination-ellipsis{padding:7px 4px;color:var(--gray-500);font-size:13px;-webkit-user-select:none;user-select:none}.member-detail{max-width:900px;max-height:90vh;overflow-y:auto}.member-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:20px}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-item label{font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.detail-item div{padding:9px 12px;background-color:var(--primary-bg);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;word-break:break-word;min-height:20px;border:1px solid var(--primary-light)}@media (max-width: 768px){.member-detail-grid{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--text-primary)}.form-input{padding:7px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;box-sizing:border-box;background:var(--gray-100);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 2px #79bfe62e}.form-input:disabled{background:var(--gray-200);color:var(--gray-500);cursor:not-allowed}.empty-state{padding:48px 20px;text-align:center;color:var(--text-muted);background:var(--gray-100);border-radius:var(--radius-md);font-size:14px;border:1px dashed var(--border)}.memo-tooltip-wrapper{position:relative;display:inline-block}.memo-tooltip-wrapper .memo-tooltip{visibility:hidden;position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);background-color:var(--sidebar-bg);color:#fff;padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;white-space:pre-wrap;max-width:280px;z-index:1000;opacity:0;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:var(--shadow-md)}.memo-tooltip-wrapper:hover .memo-tooltip{visibility:visible;opacity:1}.preview-img{height:44px;width:auto;max-width:120px;object-fit:contain;display:block;border-radius:var(--radius-sm);border:1px solid var(--border-light);cursor:pointer;transition:transform .2s,box-shadow .2s}.preview-img:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.event-date-configs{padding:4px}.event-date-configs .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.event-date-configs .header h2{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:700}.btn-primary{background-color:var(--primary);color:#fff;border:none;padding:7px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;width:auto;min-width:auto;transition:background-color .2s}.btn-primary:hover{background-color:var(--primary-dark)}.btn-small{padding:4px 0;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;margin-right:5px;width:30px;min-width:30px;max-width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:500;transition:background-color .2s}.btn-edit{background-color:var(--primary);color:#fff}.btn-edit:hover{background-color:var(--primary-dark)}.btn-delete{background-color:var(--danger);color:#fff}.btn-delete:hover{background-color:var(--danger-dark)}.btn-success{background-color:var(--success);color:#fff;padding:7px 16px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-success:hover{background-color:#1e8449}.btn-cancel{background-color:var(--gray-200);color:var(--text-secondary);border:1px solid var(--border);padding:7px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.btn-cancel:hover{background-color:var(--gray-300)}.config-table{width:100%;border-collapse:collapse;background:var(--bg-card);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-light)}.config-table th,.config-table td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.config-table th{background-color:var(--bg-table-header);font-weight:600;font-size:13px;color:var(--text-secondary);border-bottom:2px solid var(--primary-light)}.config-table tbody tr:hover{background-color:var(--primary-bg)}.error-message{background-color:var(--danger-light);color:#8b2020;padding:12px;border-radius:var(--radius-sm);margin-bottom:20px;font-size:14px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f1e2d8c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:#fff;padding:32px;border-radius:var(--radius-md);width:90%;max-width:500px;box-shadow:var(--shadow-lg)}.modal-content h3{margin-top:0;margin-bottom:22px;color:var(--text-primary);font-size:1.1rem;font-weight:700;padding-bottom:16px;border-bottom:2px solid var(--primary-light)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:13px;color:var(--text-secondary)}.form-group input[type=text],.form-group input[type=date]{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--gray-100);transition:border-color .2s,box-shadow .2s}.form-group input[type=text]:focus,.form-group input[type=date]:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #79bfe62e}.form-group input[type=checkbox]{margin-right:5px;accent-color:var(--primary)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal-actions button{padding:9px 20px}.restock-notify{padding:4px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h1{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.restock-notify-table{width:100%;border-collapse:collapse;background:var(--bg-card);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-light)}.restock-notify-table thead{background-color:var(--bg-table-header)}.restock-notify-table th{padding:11px 13px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--primary-light);font-size:13px;letter-spacing:.3px}.restock-notify-table td{padding:11px 13px;border-bottom:1px solid var(--border-light);font-size:14px;color:var(--text-primary)}.restock-notify-table tbody tr:hover{background-color:var(--primary-bg)}.restock-notify-table tbody tr:last-child td{border-bottom:none}.btn-primary{padding:7px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s;white-space:nowrap}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.btn-primary:disabled{background-color:var(--gray-400);cursor:not-allowed;opacity:.7}.pagination-btn{padding:7px 12px;min-width:36px;background-color:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;transition:all .18s;color:var(--text-secondary)}.pagination-btn:hover:not(:disabled){background-color:var(--primary-bg);border-color:var(--primary);color:var(--primary-darker)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background-color:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.products{background:var(--bg-card);padding:28px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.products .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.products .page-header h1{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:700}.products .btn-primary{padding:6px 14px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;height:34px;transition:background-color .2s}.products .btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.products .btn-primary:disabled{background-color:var(--gray-400);cursor:not-allowed;opacity:.7}.products .btn-danger{padding:5px 12px;background-color:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.products .btn-danger:hover{background-color:var(--danger-dark)}.products .btn-secondary{padding:6px 12px;background-color:var(--gray-200);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;height:34px;transition:background-color .2s}.products .btn-secondary:hover{background-color:var(--gray-300)}.products .btn-info{background-color:#2db6cc;color:#fff;border:none;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.products .btn-info:hover{background-color:#1ea0b5}.products-table{width:100%;border-collapse:collapse}.products-table th,.products-table td{padding:11px 13px;text-align:center;border-bottom:1px solid var(--border-light)}.products-table th{background-color:var(--bg-table-header);font-weight:600;font-size:13px;color:var(--text-secondary)}.products-table tbody tr:hover{background-color:var(--primary-bg)}.products .pagination{display:flex;align-items:center;gap:4px}.products .pagination-btn{padding:7px 12px;min-width:36px;border:1px solid var(--border);background-color:#fff;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;transition:all .18s ease}.products .pagination-btn:hover:not(:disabled){background-color:var(--primary-bg);border-color:var(--primary);color:var(--primary-darker)}.products .pagination-btn:disabled{background-color:var(--gray-100);color:var(--gray-500);cursor:not-allowed;opacity:.7}.products .pagination-btn.active{background-color:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.products .pagination-btn.active:hover{background-color:var(--primary-dark)}.products .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f1e2d8c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.products .modal-content{background:#fff;padding:32px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:90%;max-width:500px}.products .modal-content h2{margin:0 0 22px;color:var(--text-primary);font-size:1.1rem;font-weight:700;padding-bottom:16px;border-bottom:2px solid var(--primary-light)}.products .form-group{margin-bottom:18px}.products .form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:500;font-size:13px}.products .form-group input[type=text],.products .form-group textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;box-sizing:border-box;background:var(--gray-100);transition:border-color .2s,box-shadow .2s}.products .form-group input[type=text]:focus,.products .form-group textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #79bfe62e}.products .form-group textarea{resize:vertical;font-family:inherit}.perceived-diameter-admin{background:var(--bg-card);padding:28px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.perceived-diameter-admin .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.perceived-diameter-admin .page-header h1{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:700}.perceived-diameter-admin .btn-primary{padding:6px 14px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;height:34px;transition:background-color .2s}.perceived-diameter-admin .btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.perceived-diameter-admin .btn-secondary{padding:6px 12px;background-color:var(--gray-200);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;height:34px;transition:background-color .2s}.perceived-diameter-admin .btn-secondary:hover{background-color:var(--gray-300)}.perceived-diameter-admin .btn-info{background-color:#2db6cc;color:#fff;border:none;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.perceived-diameter-admin .btn-info:hover{background-color:#1ea0b5}.perceived-diameter-admin .btn-danger{padding:5px 12px;background-color:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.perceived-diameter-admin .btn-danger:hover{background-color:var(--danger-dark)}.pdia-admin-table{width:100%;border-collapse:collapse}.pdia-admin-table th,.pdia-admin-table td{padding:11px 13px;text-align:center;border-bottom:1px solid var(--border-light)}.pdia-admin-table th{background-color:var(--bg-table-header);font-weight:600;font-size:13px;color:var(--text-secondary)}.pdia-admin-table tbody tr:hover{background-color:var(--primary-bg)}.perceived-diameter-admin .pagination{display:flex;align-items:center;gap:4px}.perceived-diameter-admin .pagination-btn{padding:7px 12px;min-width:36px;border:1px solid var(--border);background-color:#fff;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;transition:all .18s}.perceived-diameter-admin .pagination-btn:hover:not(:disabled){background-color:var(--primary-bg);border-color:var(--primary);color:var(--primary-darker)}.perceived-diameter-admin .pagination-btn:disabled{opacity:.6;cursor:not-allowed;background-color:var(--gray-100)}.perceived-diameter-admin .pagination-btn.active{background-color:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.perceived-diameter-admin .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f1e2d8c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.perceived-diameter-admin .modal-content{background:#fff;padding:32px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:90%;max-width:500px}.perceived-diameter-admin .modal-content h2{margin:0 0 22px;color:var(--text-primary);font-size:1.1rem;font-weight:700;padding-bottom:16px;border-bottom:2px solid var(--primary-light)}.perceived-diameter-admin .form-group{margin-bottom:18px}.perceived-diameter-admin .form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:500;font-size:13px}.perceived-diameter-admin .form-group input{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;box-sizing:border-box;background:var(--gray-100);transition:border-color .2s,box-shadow .2s}.perceived-diameter-admin .form-group input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #79bfe62e}.banners{background:var(--bg-card);padding:28px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.banners .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.banners .page-header h2{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:700}.banners .btn-primary{padding:7px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;transition:background-color .2s}.banners .btn-primary:hover{background-color:var(--primary-dark)}.banners .btn-edit{padding:3px 9px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:500;margin-right:4px;transition:background-color .2s}.banners .btn-edit:hover{background-color:var(--primary-dark)}.banners .btn-delete{padding:3px 9px;background-color:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:500;transition:background-color .2s}.banners .btn-delete:hover{background-color:var(--danger-dark)}.banners .preview-img{height:44px;width:auto;max-width:120px;object-fit:contain;display:block;border-radius:var(--radius-sm);border:1px solid var(--border-light)}.banners table{width:100%;border-collapse:collapse;font-size:14px}.banners th{padding:10px 13px;text-align:left;font-weight:600;font-size:13px;border-bottom:2px solid var(--primary-light);background-color:var(--bg-table-header);white-space:nowrap;color:var(--text-secondary)}.banners td{padding:10px 13px;border-bottom:1px solid var(--border-light);vertical-align:middle;color:var(--text-primary)}.banners tbody tr:hover{background-color:var(--primary-bg)}.banners td.td-image-src{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banners td a{color:var(--primary-darker);text-decoration:none}.banners td a:hover{text-decoration:underline}.banners .status-active{color:var(--success);font-weight:600}.banners .status-inactive{color:var(--gray-500);font-weight:600}.banners .td-date-range{white-space:nowrap;color:var(--danger);font-weight:500}.banners .empty-row td{text-align:center;padding:30px;color:var(--gray-500)}.banners .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f1e2d8c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.banners .modal-content{background:#fff;padding:32px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:90%;max-width:520px;max-height:90vh;overflow-y:auto;box-sizing:border-box}.banners .modal-content h3{margin:0 0 22px;color:var(--text-primary);font-size:1.1rem;font-weight:700;padding-bottom:16px;border-bottom:2px solid var(--primary-light)}.banners .form-group{margin-bottom:16px}.banners .form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:500;font-size:13px}.banners .form-group input[type=text],.banners .form-group input[type=datetime-local],.banners .form-group select{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;box-sizing:border-box;min-width:0;background:var(--gray-100);transition:border-color .2s,box-shadow .2s}.banners .form-group input:focus,.banners .form-group select:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #79bfe62e}.banners .form-group.checkbox-group{display:flex;align-items:center;gap:8px;margin-bottom:16px}.banners .form-group.checkbox-group input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;flex-shrink:0;accent-color:var(--primary)}.banners .form-group.checkbox-group label{display:inline;margin-bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none}.banners .form-row{display:flex;gap:12px}.banners .form-row .form-group{flex:1;min-width:0}.banners .modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.banners .btn-cancel{padding:8px 16px;background-color:var(--gray-200);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.banners .btn-cancel:hover{background-color:var(--gray-300)}.banners .btn-save{padding:8px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.banners .btn-save:hover{background-color:var(--primary-dark)}.roulette-config{padding:20px}.roulette-container{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}.roulette-container.mobile{grid-template-columns:1fr}.roulette-settings,.roulette-preview{background:var(--bg-card);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.roulette-settings{max-height:90vh;overflow-y:auto}.roulette-preview{position:sticky;top:20px;height:fit-content}.roulette-display{border-radius:var(--radius-md);padding:20px;margin-top:15px;background-color:var(--bg-main);background-size:cover;background-position:center}.segments-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}.segment-item{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:10px 12px;background:var(--bg-main)}.segment-item .form-group{margin-bottom:6px}.segment-item .form-group label{font-size:11px;margin-bottom:3px}.segment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.segment-number{font-weight:600;color:var(--text-primary);font-size:13px}.color-input-wrapper{display:flex;align-items:center;gap:10px;margin-top:6px}.color-input-wrapper input[type=color]{width:50px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.color-value{font-family:monospace;font-size:12px;color:var(--text-secondary);background:var(--bg-main);padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-light)}.message{margin:15px 0;padding:12px 15px;border-radius:var(--radius-sm);font-size:13px;font-weight:500}.message.success{background:#c8e6c9;color:#2e7d32;border-left:4px solid #27ae60}.message.error{background:#ffcdd2;color:#c62828;border-left:4px solid #e74c3c}.loading{padding:40px 20px;text-align:center;color:var(--text-secondary)}@media (max-width: 1023px){.roulette-container{grid-template-columns:1fr;gap:20px}.roulette-preview{position:static}.roulette-settings{max-height:none}}@media (max-width: 640px){.roulette-config,.roulette-settings,.roulette-preview{padding:15px}.page-header{flex-direction:column;gap:10px}.page-header h1{font-size:20px}}.app{min-height:100vh;background-color:var(--bg-main)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #79BFE6;--primary-dark: #5AAED8;--primary-darker: #3A9DC8;--primary-light: #D0EAFA;--primary-bg: #EBF6FC;--sidebar-bg: #1A2E42;--sidebar-hover: #243D56;--sidebar-active: #2E4D6A;--sidebar-border: #243D56;--text-primary: #1E2D3D;--text-secondary: #4A5568;--text-muted: #718096;--border: #CBD5E0;--border-light: #E2E8F0;--bg-main: #F0F6FA;--bg-card: #FFFFFF;--bg-table-header: #EBF6FC;--success: #27AE60;--success-light: #D4EDDA;--danger: #E74C3C;--danger-dark: #C0392B;--danger-light: #F8D7DA;--warning: #F39C12;--warning-light: #FFF3CD;--info: #17A2B8;--gray-100: #F7FAFC;--gray-200: #EDF2F7;--gray-300: #E2E8F0;--gray-400: #CBD5E0;--gray-500: #A0AEC0;--gray-600: #718096;--gray-700: #4A5568;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-main)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
