@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(inter-latin-300-normal.15fb600d42056579.woff2) format("woff2"),url(inter-latin-300-normal.6f95f590150c4b6c.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(inter-latin-400-normal.ef6d3f52c547a6e3.woff2) format("woff2"),url(inter-latin-400-normal.2c7a775c1cfc0bf6.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(inter-latin-500-normal.b7b43acee81d05a8.woff2) format("woff2"),url(inter-latin-500-normal.cb4c8ceb0127a511.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(inter-latin-600-normal.8fb1a96451cec840.woff2) format("woff2"),url(inter-latin-600-normal.ce0f5f4333584aab.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(inter-latin-700-normal.953b7aa585d36a2b.woff2) format("woff2"),url(inter-latin-700-normal.9c21d4dcc3745e44.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(inter-latin-800-normal.95045d685be8648f.woff2) format("woff2"),url(inter-latin-800-normal.cbc721b6129a70f6.woff) format("woff")}:root{--color-primary: #1E3A5F;--color-primary-hover: #2A4D7A;--color-primary-50: #EDF2F7;--color-primary-100: #D4DEE9;--color-accent: #D97706;--color-accent-light: #FEF3C7;--color-bg: #F4F6F9;--color-surface: #FFFFFF;--color-text: #0F172A;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-border: #E2E8F0;--color-border-hover: #CBD5E1;--color-success: #059669;--color-success-light: #ECFDF5;--color-success-border: #A7F3D0;--color-error: #DC2626;--color-error-light: #FEF2F2;--color-error-border: #FECACA;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.app-header{position:sticky;top:0;z-index:100;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);height:56px}.app-header .header-inner{max-width:1320px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.app-header .brand{display:flex;align-items:center;gap:8px;font-size:1.25rem;font-weight:800;color:var(--color-primary)}.app-header .brand span.accent{color:var(--color-accent)}.app-header .main-nav{display:flex;align-items:center;gap:4px}.app-header .main-nav a{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-weight:500;font-size:.85rem;transition:all .2s ease}.app-header .main-nav a:hover{color:var(--color-primary);background:var(--color-primary-50);text-decoration:none}.app-header .main-nav a.active{color:var(--color-primary);background:var(--color-primary-50);font-weight:600}.app-header .user-area{display:flex;align-items:center;gap:12px}.app-main{flex:1;padding:28px 24px;max-width:1280px;margin:0 auto}.page-header{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.page-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.page-header p{font-size:.85rem;color:var(--color-text-muted)}.panel{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden;margin-bottom:24px}.panel .panel-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.panel .panel-header h3{font-size:.95rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:8px}.panel .panel-body{padding:20px}.stat-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:16px;transition:transform .15s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card .stat-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:4px;display:flex;align-items:center;gap:6px}.stat-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 12px #1e3a5f40;transform:translateY(-1px)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover:not(:disabled){background:#b45309;box-shadow:0 4px 12px #d9770640}.btn-secondary{background:#FFFFFF;border-color:var(--color-border);color:var(--color-text-secondary)}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-hover);background:#FAFAFA}.btn-danger{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error-border)}.btn-danger:hover:not(:disabled){background:var(--color-error);color:#fff}.btn-icon{width:32px;height:32px;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted)}.btn-icon:hover{background:var(--color-primary-50);color:var(--color-primary)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.82rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);transition:border-color .2s,box-shadow .2s}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e3a5f0f}.form-group input[type=text]::placeholder,.form-group input[type=email]::placeholder,.form-group input[type=password]::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.poll-options-group{margin-top:16px;margin-bottom:16px}.poll-options-group .poll-options-label{display:block;font-size:.82rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:10px;letter-spacing:.01em}.option-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;position:relative;transition:all .2s ease}.option-row .option-badge{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border-radius:var(--radius-sm);background:var(--color-primary-50);color:var(--color-primary);font-weight:700;font-size:.82rem;border:1px solid var(--color-primary-100);-webkit-user-select:none;user-select:none;transition:all .2s ease}.option-row .poll-option-input{flex:1;width:100%;padding:9px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:.88rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.option-row .poll-option-input:hover{border-color:var(--color-border-hover)}.option-row .poll-option-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e3a5f14;background:var(--color-surface)}.option-row .poll-option-input::placeholder{color:var(--color-text-muted)}.option-row .btn-remove-option{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.option-row .btn-remove-option:hover:not(:disabled){background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error-border)}.option-row .btn-remove-option:disabled{opacity:.3;cursor:not-allowed}.add-option-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:8px 14px;font-size:.82rem;font-weight:600;border-radius:var(--radius-sm);background:var(--color-surface);border:1px dashed var(--color-primary-100);color:var(--color-primary);cursor:pointer;transition:all .2s ease}.add-option-btn:hover{background:var(--color-primary-50);border-color:var(--color-primary);color:var(--color-primary-hover);box-shadow:var(--shadow-xs)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--color-bg);color:var(--color-text-muted)}.badge-primary{background:var(--color-primary-50);color:var(--color-primary)}.badge-accent{background:var(--color-accent-light);color:var(--color-accent)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-error{background:var(--color-error-light);color:var(--color-error)}.data-table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:10px 14px;border-bottom:1px solid var(--color-border);background:var(--color-bg);text-align:left}.data-table td{font-size:.85rem;padding:12px 14px;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:var(--color-primary-50)}.toast-msg{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;margin-bottom:16px;animation:slideUp .3s ease}.toast-msg.success{background:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success-border)}.toast-msg.error{background:var(--color-error-light);color:var(--color-error);border:1px solid var(--color-error-border)}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--color-bg) 25%,#e8ecf1 50%,var(--color-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.modal-card{background:var(--color-surface);width:100%;max-width:440px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:24px;overflow:hidden;animation:scaleUp .25s cubic-bezier(.16,1,.3,1);position:relative}.modal-card .confirm-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-error-light);border:1px solid var(--color-error-border);color:var(--color-error);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.modal-card .modal-title{font-size:1.15rem;font-weight:700;color:var(--color-text);margin-bottom:6px;letter-spacing:-.01em}.modal-card .modal-description{font-size:.88rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:18px}.modal-card .confirm-target-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-card .confirm-target-card .target-title{font-weight:600;font-size:.9rem;color:var(--color-text);margin-bottom:4px;word-break:break-word}.modal-card .confirm-target-card .target-meta{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--color-text-muted)}.modal-card .modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.spinner-sm{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
