:root{--primary: #c41e3a;--primary-dark: #a01830;--primary-light: rgba(196, 30, 58, .15);--secondary: #888888;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--info: #06b6d4;--bg: #0a0a0a;--bg-card: #141414;--bg-elevated: #1a1a1a;--bg-input: #1e1e1e;--text: #ffffff;--text-secondary: #888888;--text-muted: #555555;--border: #2a2a2a;--border-light: #333333;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 2px 8px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px 0 rgba(0, 0, 0, .5);--radius: 6px;--radius-lg: 10px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-content{flex:1;padding:32px;max-width:1200px;margin:0 auto;width:100%}.gnb{background:var(--bg);border-bottom:1px solid var(--border);padding:0 32px;height:72px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.gnb-logo{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.5px}.gnb-logo-img{height:28px;width:auto}.gnb-nav{display:flex;gap:40px}.gnb-link{font-size:15px;font-weight:500;color:var(--text-secondary);transition:color .2s;position:relative}.gnb-link:hover,.gnb-link.active{color:var(--text)}.gnb-link.active:after{content:"";position:absolute;bottom:-24px;left:0;right:0;height:2px;background:var(--primary)}.gnb-user{display:flex;align-items:center;gap:20px}.gnb-user-name{font-size:14px;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;border-radius:var(--radius);border:none;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--text-secondary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:16px 32px;font-size:16px}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:28px}.card-title{font-size:18px;font-weight:600;margin-bottom:20px;color:var(--text)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:24px;transition:transform .2s,border-color .2s}.stat-card:hover{transform:translateY(-2px);border-color:var(--border-light)}.stat-label{font-size:13px;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:32px;font-weight:700;color:var(--text)}.stat-card.start{border-left:3px solid var(--secondary)}.stat-card.checked{border-left:3px solid var(--info)}.stat-card.in-progress{border-left:3px solid var(--warning)}.stat-card.done{border-left:3px solid var(--primary)}.form-group{margin-bottom:24px}.form-label{display:block;font-size:13px;font-weight:500;margin-bottom:8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-label.required:after{content:"*";color:var(--primary);margin-left:4px}.form-input,.form-textarea,.form-select{width:100%;padding:14px 16px;font-size:15px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input);color:var(--text);transition:border-color .2s,box-shadow .2s}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-textarea{resize:vertical;min-height:120px}.form-hint{font-size:12px;color:var(--text-muted);margin-top:6px}.char-counter{font-size:12px;color:var(--text-muted);text-align:right;margin-top:6px}.radio-group{display:flex;gap:24px}.radio-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;color:var(--text-secondary)}.radio-label input[type=radio],.radio-label input[type=checkbox]{accent-color:var(--primary)}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--border)}.table th{background:var(--bg-elevated);font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.table td{font-size:14px;color:var(--text)}.table tr:hover td{background:var(--bg-elevated)}.table-link{color:var(--primary);cursor:pointer;transition:color .2s}.table-link:hover{color:var(--text);text-decoration:underline}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.status-badge.start{background:#8883;color:#aaa}.status-badge.checked{background:#06b6d433;color:#22d3ee}.status-badge.in-progress{background:#f59e0b33;color:#fbbf24}.status-badge.done{background:#c41e3a33;color:var(--primary)}.status-select{padding:8px 12px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input);color:var(--text);cursor:pointer}.status-select:focus{outline:none;border-color:var(--primary)}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:32px}.pagination-btn{padding:10px 18px;font-size:14px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:var(--radius);cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:14px;color:var(--text-secondary)}.search-bar{display:flex;gap:16px;margin-bottom:24px}.search-bar .form-input{flex:1;max-width:320px}.file-upload{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:40px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-card)}.file-upload:hover,.file-upload.dragover{border-color:var(--primary);background:var(--primary-light)}.file-upload-text{font-size:14px;color:var(--text-secondary)}.file-upload-hint{font-size:12px;color:var(--text-muted);margin-top:8px}.file-list{margin-top:16px}.file-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-elevated);border-radius:var(--radius);margin-bottom:8px;border:1px solid var(--border)}.file-name{font-size:14px;color:var(--text)}.file-remove{font-size:18px;color:var(--danger);cursor:pointer;background:none;border:none;transition:transform .2s}.file-remove:hover{transform:scale(1.1)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.login-card{width:100%;max-width:420px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:48px 40px}.login-logo{text-align:center;margin-bottom:24px}.login-logo img{height:48px;width:auto}.login-title{font-size:20px;font-weight:700;text-align:center;margin-bottom:40px;color:var(--text)}.login-title span{color:var(--primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-title{font-size:28px;font-weight:700;color:var(--text)}.form-section{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--border)}.form-section:last-child{border-bottom:none}.form-section-title{font-size:14px;font-weight:600;margin-bottom:20px;color:var(--text);text-transform:uppercase;letter-spacing:1px}.action-buttons{display:flex;justify-content:center;gap:16px;margin-top:40px}.detail-grid{display:grid;grid-template-columns:160px 1fr;gap:20px;margin-bottom:28px}.detail-label{font-size:13px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:15px;color:var(--text)}.loading{display:flex;align-items:center;justify-content:center;padding:64px;font-size:16px;color:var(--text-secondary)}.empty-state{text-align:center;padding:64px;color:var(--text-secondary)}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.gnb{padding:0 20px}.gnb-nav{gap:20px}.layout-content{padding:20px}.search-bar{flex-wrap:wrap}.search-bar .form-input{max-width:none}.login-card{padding:32px 24px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.gnb-user-name{display:none}}.ai-container{overflow:hidden;position:relative}.ai-controls{animation:fadeIn .5s ease-out}.ai-preview{position:relative;min-height:300px;background:radial-gradient(circle at center,rgba(196,30,58,.05) 0%,transparent 70%)}.ai-preview img{transition:transform .3s ease}.ai-preview img:hover{transform:scale(1.02)}.badge{padding:4px 8px;font-size:10px;font-weight:700;border-radius:4px;text-transform:uppercase;margin-left:8px}.badge-primary{background:var(--primary);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-preview-empty{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff05;border:1px dashed var(--border);border-radius:12px;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.help-icon{width:18px;height:18px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.help-icon:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.help-popup{position:absolute;top:30px;left:0;z-index:100;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:12px;box-shadow:0 4px 16px #0000004d;display:flex;gap:12px;min-width:320px}.help-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.help-item img{width:100%;height:80px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.help-item span{font-size:11px;color:var(--text-secondary)}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out;padding:20px}.modal-content{background-color:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;animation:slideUp .3s ease-out;overflow:hidden;max-width:95%;max-height:90vh}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#ffffff05}.modal-title{margin:0;font-size:18px;font-weight:600;color:var(--text)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:28px;line-height:1;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:var(--primary)}.modal-body{padding:0;overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column}.modal-image-wrapper{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;width:100%;padding:20px}.modal-image-wrapper img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--radius);box-shadow:var(--shadow-md)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
