:root{--primary:#1b3a5c;--primary-light:#2e5f8a;--primary-bg:#eef2f8;--accent:#c9a84c;--accent-light:#e8c97a;--danger:#dc3545;--danger-bg:#fdecec;--success:#28a745;--success-bg:#e7f6ec;--warning:#c68a00;--warning-bg:#fff4d6;--info:#0369a1;--info-bg:#f0f4ff;--bg:#f8fafc;--white:#fff;--text:#1a1a2e;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--border:#e2e8f0;--border-light:#eff1f5;--shadow:0 2px 8px #00000014;--shadow-md:0 8px 24px #0000001f;--shadow-lg:0 24px 64px #0000002e;--radius:12px;--radius-sm:8px;--radius-xs:4px;--fs-xxs:12px;--fs-xs:13px;--fs-sm:14px;--fs-base:16px;--fs-md:17px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:28px;--lh-tight:1.3;--lh-base:1.6;--lh-loose:1.8}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--fs-base);line-height:var(--lh-base);background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}#root{max-width:480px;height:100%;margin:0 auto;position:relative}@media (width>=768px){#root{max-width:100%;margin:0}}button{cursor:pointer;border:none;font-family:inherit}input,textarea,select{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--primary,#0969da);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}a{color:inherit;text-decoration:none}.page{background:var(--bg);min-height:100vh;padding-bottom:80px}@media (width>=768px){.page{min-height:100vh;padding-bottom:0}}.page-header{background:var(--primary);color:var(--white);z-index:10;padding:16px 20px;position:sticky;top:0}.page-header h1{font-size:var(--fs-xl);font-weight:700}.page-header p{font-size:var(--fs-sm);opacity:.7;margin-top:2px}@media (width>=768px){.page-header{display:none}}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 16px 12px;padding:16px}.btn-primary{background:var(--primary);color:var(--white);border-radius:var(--radius-sm);font-size:var(--fs-lg);width:100%;padding:14px 20px;font-weight:700;transition:background .2s}.btn-primary:hover{background:var(--primary-light)}.btn-accent{background:var(--accent);color:var(--white);border-radius:var(--radius-sm);font-size:var(--fs-lg);width:100%;padding:14px 20px;font-weight:700;transition:background .2s}.btn-accent:hover{background:var(--accent-light)}.btn-outline{color:var(--primary);border:1.5px solid var(--primary);border-radius:var(--radius-sm);font-size:var(--fs-lg);background:0 0;width:100%;padding:13px 20px;font-weight:700;transition:all .2s}.btn-outline:hover{background:var(--primary);color:var(--white)}.badge{font-size:var(--fs-xs);border-radius:20px;padding:3px 10px;font-weight:600;display:inline-block}.badge-processing{color:#92400e;background:#fef3c7}.badge-completed{color:#065f46;background:#d1fae5}.badge-urgent{color:#991b1b;background:#fee2e2}.loading-spinner{justify-content:center;align-items:center;padding:40px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-group{margin-bottom:16px}.form-group label{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:6px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-base);color:var(--text);background:var(--white);padding:12px 14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.ai-notice-banner{font-size:var(--fs-sm);color:#456;background:#f4f7fb;border-left:3px solid #1b3a5c;border-radius:0 6px 6px 0;align-items:flex-start;gap:10px;margin:0 16px 12px;padding:12px 16px;line-height:1.6;display:flex}.ai-notice-banner .anb-icon{color:#fff;background:#1b3a5c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;font-style:italic;font-weight:800;display:flex}.ai-notice-banner .anb-text{flex:1}@media (width>=768px){.ai-notice-banner{font-size:var(--fs-sm);margin:0 0 14px}}.auth-page{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px 20px;display:flex}.auth-logo{text-align:center;margin-bottom:40px}.auth-logo-icon{margin-bottom:12px}.auth-logo-icon img{width:84px;height:auto;margin:0 auto;display:block}.auth-logo h1{color:var(--primary);letter-spacing:-.5px;font-size:28px;font-weight:800}.auth-logo p{color:var(--text-secondary);margin-top:4px;font-size:14px}.auth-form{background:var(--white);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow);padding:24px}.auth-error{color:var(--danger);text-align:center;margin-bottom:12px;font-size:13px}.auth-link{color:var(--text-secondary);margin-top:20px;font-size:14px}.auth-link a{color:var(--primary);font-weight:600}.sidebar{display:none}@media (width>=768px){.sidebar{background:var(--primary);z-index:100;flex-direction:column;width:240px;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar-logo{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:24px 20px;display:flex}.sidebar-logo-icon{box-sizing:border-box;background:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;padding:6px;display:flex}.sidebar-logo-icon img{object-fit:contain;width:100%;height:100%;display:block}.sidebar-logo-text{color:#fff;letter-spacing:-.3px;font-size:15px;font-weight:800}.sidebar-logo-sub{color:#ffffff80;margin-top:1px;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:16px 12px;display:flex}.sidebar-item{color:#ffffffa6;border-radius:8px;align-items:center;gap:10px;padding:11px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-item:hover{color:#ffffffe6;background:#ffffff14}.sidebar-item.active{background:var(--accent);color:#fff;font-weight:700}.sidebar-item-icon{text-align:center;width:22px;font-size:18px}.sidebar-footer{border-top:1px solid #ffffff1a;flex-direction:column;gap:8px;padding:16px;display:flex}.demo-badge{color:var(--accent-light);text-align:center;background:#c9a84c33;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.sidebar-logout{color:#ffffff80;text-align:left;cursor:pointer;background:0 0;padding:4px 0;font-size:13px;transition:color .15s}.sidebar-logout:hover{color:#ffffffd9}}.tab-bar{background:var(--white);border-top:1px solid var(--border);z-index:100;width:100%;max-width:480px;height:68px;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@media (width>=768px){.tab-bar{display:none}}.tab-item{color:var(--text-secondary);flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 0;transition:color .2s;display:flex}.tab-item.active{color:var(--primary)}.tab-icon{font-size:22px;line-height:1}.tab-label{font-size:10px;font-weight:600}.disc-overlay{z-index:9000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a142899;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.disc-modal{background:#fff;border-radius:12px;width:100%;max-width:520px;animation:.24s cubic-bezier(.34,1.26,.64,1) disc-in;overflow:hidden;box-shadow:0 24px 64px #00000038}@keyframes disc-in{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.disc-header{border-bottom:1px solid #e5eaf0;align-items:center;gap:12px;padding:22px 26px 18px;display:flex}.disc-icon{color:#fff;letter-spacing:-.5px;background:#1b3a5c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-style:italic;font-weight:800;display:flex}.disc-title{color:#1b3a5c;margin:0;font-size:17px;font-weight:700}.disc-body{padding:20px 26px 18px}.disc-intro{color:#456;margin:0 0 16px;font-size:14px;line-height:1.65}.disc-role-grid{border:1px solid #dde4ec;border-radius:8px;overflow:hidden}.disc-role-row{align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.disc-role-row.ai-row{background:#f4f7fb}.disc-role-row.human-row{background:#fdfbf5}.disc-divider{background:#dde4ec;height:1px}.disc-role-badge{letter-spacing:.02em;white-space:nowrap;border-radius:4px;flex-shrink:0;margin-top:2px;padding:3px 8px;font-size:11px;font-weight:700}.disc-role-badge.ai{color:#fff;background:#1b3a5c}.disc-role-badge.human{color:#fff;background:#c9a84c}.disc-role-desc{color:#456;margin:0;font-size:13px;line-height:1.65}.disc-check-row{cursor:pointer;background:#f8f9fc;border-top:1px solid #e5eaf0;align-items:flex-start;gap:10px;margin:0;padding:16px 26px;display:flex}.disc-checkbox{accent-color:#1b3a5c;cursor:pointer;flex-shrink:0;width:16px;height:16px;margin-top:2px}.disc-check-text{color:#345;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500;line-height:1.55}.disc-footer{padding:14px 26px 24px}.disc-btn{color:#fff;cursor:pointer;letter-spacing:.01em;background:#1b3a5c;border:none;border-radius:8px;width:100%;padding:12px 0;font-size:15px;font-weight:600;transition:background .15s,opacity .15s}.disc-btn:hover:not(:disabled){background:#254d7a}.disc-btn:disabled{cursor:not-allowed;opacity:.72;background:#b0bac8}.ftg-overlay{z-index:2000;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out ftg-fade-in;display:flex;position:fixed;inset:0}@keyframes ftg-fade-in{0%{opacity:0}to{opacity:1}}.ftg-modal{background:var(--white);border-radius:var(--radius);width:min(560px,100%);max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.24s cubic-bezier(.2,.9,.4,1) ftg-slide-up;display:flex;overflow:hidden}@keyframes ftg-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ftg-head{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ftg-dots{gap:6px;display:flex}.ftg-progress-dot{background:var(--border);cursor:pointer;border:none;border-radius:3px;width:28px;height:6px;padding:0;transition:background .2s,width .25s}.ftg-progress-dot.done{background:var(--primary-light)}.ftg-progress-dot.active{background:var(--primary);width:36px}.ftg-skip{color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:6px 10px}.ftg-skip:hover{background:var(--bg);color:var(--text)}.ftg-body{text-align:center;flex:1;padding:32px 32px 20px;overflow-y:auto}.ftg-icon{margin-bottom:12px;font-size:48px;line-height:1}.ftg-title{font-size:var(--fs-2xl);color:var(--text);font-weight:800;line-height:var(--lh-tight);margin:0 0 16px}.ftg-content{text-align:left;font-size:var(--fs-base);line-height:var(--lh-base);color:var(--text);max-width:440px;margin:0 auto}.ftg-content p{margin:0 0 12px}.ftg-hint{color:var(--text-secondary);font-size:var(--fs-sm);font-style:italic;margin-top:16px!important}.ftg-steps{counter-reset:step-counter;grid-template-columns:1fr 1fr;gap:8px 16px;margin:16px 0;padding:0;list-style:none;display:grid}.ftg-steps li{font-size:var(--fs-sm);color:var(--text);counter-increment:step-counter;padding-left:32px;line-height:1.5;position:relative}.ftg-steps li:before{content:counter(step-counter);background:var(--primary-bg);width:22px;height:22px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;left:0}.ftg-color-list{flex-direction:column;gap:14px;margin:16px 0;padding:0;list-style:none;display:flex}.ftg-color-list li{background:var(--bg);border-radius:var(--radius-sm);align-items:center;gap:14px;padding:12px 14px;display:flex}.ftg-color-list li>div{font-size:var(--fs-base);flex:1}.ftg-dot{border-radius:50%;flex-shrink:0;width:16px;height:16px;box-shadow:0 0 0 3px #0000000a}.ftg-dot-success{background:var(--success)}.ftg-dot-warning{background:var(--warning)}.ftg-dot-danger{background:var(--danger)}.ftg-source-list{grid-template-columns:1fr 1fr;gap:8px 12px;margin:12px 0 16px;padding:0;list-style:none;display:grid}.ftg-source-list li{background:var(--primary-bg);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--primary);padding:10px 12px;font-weight:500}.ftg-help-list{flex-direction:column;gap:10px;margin:16px 0;padding:0;list-style:none;display:flex}.ftg-help-list li{background:var(--bg);border-radius:var(--radius-sm);font-size:var(--fs-base);color:var(--text);padding:12px 14px}.ftg-foot{border-top:1px solid var(--border-light);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.ftg-checkbox{font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.ftg-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary)}.ftg-nav{gap:8px;display:flex}.ftg-btn{border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;border:none;padding:10px 18px;font-weight:700;transition:background .2s,transform .1s}.ftg-btn:active{transform:translateY(1px)}.ftg-btn-primary{background:var(--primary);color:var(--white)}.ftg-btn-primary:hover{background:var(--primary-light)}.ftg-btn-ghost{color:var(--text);border:1.5px solid var(--border);background:0 0}.ftg-btn-ghost:hover{background:var(--bg);border-color:var(--text-tertiary)}@media (width<=600px){.ftg-overlay{align-items:flex-end;padding:0}.ftg-modal{border-radius:16px 16px 0 0;max-height:95vh}.ftg-body{padding:24px 20px 16px}.ftg-icon{font-size:40px}.ftg-title{font-size:var(--fs-xl)}.ftg-steps,.ftg-source-list{grid-template-columns:1fr}.ftg-foot{flex-direction:column;align-items:stretch}.ftg-nav{justify-content:space-between}.ftg-btn{flex:1}}.layout{min-height:100vh}@media (width>=768px){.layout{display:flex}.layout-content{background:#f1f5f9;flex:1;min-height:100vh;margin-left:240px}}
