/* TRAXEVORA visual system */
:root{font-family:'DM Sans','Noto Sans KR',sans-serif;color:#23354b;background:#f3f6fa;--blue:#147d78;--green:#12806b;--red:#c1455d;--line:#e1e8ef;font-synthesis:none}
body{background:radial-gradient(ellipse at 90% 0%,#deefed80,transparent 45%),#f3f6fa;color:#23354b;font-size:14px;line-height:1.6}button,input,select,textarea{font-family:inherit}button{min-height:44px;border-radius:12px;font-size:13px;transition:background .18s,box-shadow .18s,transform .18s}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #35bcb0;outline-offset:3px}button:disabled{opacity:.48}
.sidebar,.shell>aside{width:244px;padding:34px 22px;background:radial-gradient(ellipse at 0% 0%,#224251,transparent 65%),#101f30;border-right:1px solid #ffffff09}.workspace,.shell>main{margin-left:244px}.brand{font-size:19px;letter-spacing:2px;gap:13px}.brand>b{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#89f0d1,#37baa6);color:#10352f;font-size:26px;box-shadow:0 5px 22px #44c9af20}.brand small{font-size:8px;letter-spacing:2px;color:#9ab4c2;margin-top:4px}.caption,.nav-caption{font-size:10px;letter-spacing:2.5px;color:#7894a8;margin:45px 12px 15px}.nav,nav button{font-size:13px;padding:14px 16px;border-radius:12px;color:#aabfce;margin:3px 0}.nav.active,nav button.active{background:linear-gradient(100deg,#2b5b6080,#244054);box-shadow:inset 3px 0 #78e1c6;color:#ebfff8}.nav:hover,nav button:hover:not(:disabled){background:#263c50;color:white}.sidebar-foot,.sidebar-footer{color:#91aabb;font-size:11px}.sidebar-foot small,.sidebar-footer small{color:#91aabb}.account-menu button{border-radius:10px}
header{height:78px;background:#ffffffbd;backdrop-filter:blur(16px);border-color:#dfe7ef;padding:0 40px;font-size:12px}main,.content{max-width:1560px}.workspace main,.content{padding:36px 40px 48px}.heading,.page-title{padding:26px 28px;margin-bottom:28px;border:1px solid #dae7e9;border-radius:20px;background:linear-gradient(110deg,#fff,#edf6f4);position:relative;overflow:hidden}.heading:before,.page-title:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#49b49b}.eyebrow{font-size:10px;color:#508780;letter-spacing:2.2px;font-weight:700}h1{font-size:clamp(26px,2.5vw,36px);letter-spacing:-1.2px;line-height:1.35}h2{font-size:18px;letter-spacing:-.5px}h3{font-size:15px}p{font-size:13px;color:#5c7087;line-height:1.85}small,label small{color:#70829a}label{font-size:12px;color:#4f637b;line-height:1.6}
.card,.stats article{border:1px solid #e0e7ef;border-radius:18px;padding:26px;box-shadow:0 5px 22px #142d4505;background:#fff}.card-head{border-bottom:1px solid #edf0f4;padding-bottom:17px}.card-head span{color:#71859b;font-size:10px}.primary{background:linear-gradient(135deg,#198b81,#126b68);border:1px solid #13756e;color:white;border-radius:12px;font-size:13px;padding:12px 20px;box-shadow:0 4px 12px #147d7820}.primary:hover:not(:disabled){background:#10665f;border-color:#10665f;color:white;box-shadow:0 6px 18px #147d7830}.secondary{background:#fff;border:1px solid #d5dfe9;color:#425d77;border-radius:12px;font-size:13px;padding:12px 18px}.secondary:hover:not(:disabled){background:#eef6f5;border-color:#a6cac2}.danger-button{background:#b94459;border:1px solid #b94459;border-radius:12px;font-size:13px;padding:12px 18px}.danger-button:hover:not(:disabled){background:#9f3349;color:white}
input,select{min-height:46px;height:auto;padding:12px 13px;border:1px solid #d8e2ec;background:#f8fafc;color:#273f56;border-radius:10px;font-size:13px}input:focus,select:focus{background:white;outline:2px solid #c4e7de;border-color:#3eaa95}.operand input,.operand select{height:auto;min-height:42px;font-size:12px}.check input,input[type=checkbox]{min-height:0;height:18px;width:18px;accent-color:#168775}.node,.rule-group{background:#f7fafb;border-color:#dfE8ee;border-radius:13px}.node-head select{min-height:36px}.node-head b,.group-controls span,.rule-heading span{color:#71869a}.hint,.explanation,.strategy-explanation,.flow-check{background:#f1f7f6;border:1px solid #dcebe7;border-radius:12px;color:#486961;line-height:1.85}.badge,.tag,.phase{border-radius:100px;padding:7px 12px;font-size:11px}.connection{background:#edf6f4;border-color:#d0e7e1;border-left-color:#36a38d;border-radius:14px}.kpis strong,.stats strong{font-size:30px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.kpis span,.stats span{font-size:11px;color:#677e94}.kpis small,.stats small{color:#70839b}.kpis .card,.stats article{border-top:3px solid #8fcebc}.empty{border:1px dashed #cedbe4;border-radius:14px;background:#f8fafc;padding:48px 24px}.empty strong{color:#526f84}.table-wrap,.table-scroll{border:1px solid #e2e9ef;border-radius:12px;max-width:100%;overflow:auto}table{font-size:12px}th{background:#f2f6f9;color:#526f87;font-weight:600}td{padding:15px 12px}tbody tr:hover{background:#f1f8f6}.bar{background:linear-gradient(0deg,#209780,#a3e4cb);border-radius:7px 7px 0 0}.bar.negative{background:linear-gradient(0deg,#c56378,#efbcc5)}.segmented{border-radius:12px;padding:4px;background:#e7eef2}.segmented button{border-radius:9px}.steps button{min-height:40px;padding:8px 10px;background:#fff;border:1px solid #dce6eb;border-radius:10px}.steps{max-width:720px;gap:12px;margin-bottom:24px}dialog{border-radius:20px;padding:30px}footer{font-size:11px;line-height:1.8;color:#73859b}.presets article{border-radius:14px;background:#f8fbfc;padding:22px}.steps h3{color:#29435a}.steps b{color:#299b88}.ad-slot{border-radius:14px}
#authScreen{background:radial-gradient(ellipse at 15% 15%,#d9eeea,transparent 50%),#f1f5f9;padding:40px 24px}.auth-layout{max-width:1120px;border-radius:28px;overflow:hidden;box-shadow:0 24px 80px #152c4314;border:1px solid #dce6eb}.auth-intro{background:radial-gradient(ellipse at 10% 20%,#2c5662,transparent 70%),#101f30;position:relative;padding:54px 46px}.auth-intro:after{content:'';position:absolute;right:-90px;bottom:-110px;width:330px;height:330px;border:1px solid #6bc9b52a;border-radius:50%;box-shadow:0 0 0 45px #6bc9b509,0 0 0 90px #6bc9b507;pointer-events:none}.auth-intro h1{font-size:clamp(28px,3vw,40px);line-height:1.5;color:#f3fffa;letter-spacing:-1.5px}.auth-intro .eyebrow{color:#91dcc8}.auth-intro p,.auth-intro>small{color:#b3c8d4}.auth-panel{background:#fff;padding:52px 44px}.auth-panel h2{font-size:25px}.auth-tabs{padding:5px;background:#eef3f6;border-radius:12px}.auth-tabs button{border-radius:9px;color:#677e91}.auth-tabs button.active{background:#fff;color:#187d71;box-shadow:0 2px 8px #16344c0c}.auth-panel input:not([type=checkbox]){height:48px;border-radius:11px;background:#f8fafc}.auth-facts span{border-color:#79cbb230;color:#cfede2;background:#ffffff08;border-radius:100px}.auth-passwords{min-width:0}
@media(min-width:1700px){.workspace main,.content{padding-top:44px}.layout{gap:28px}}
@media(max-width:1100px) and (min-width:761px){.sidebar,.shell>aside{width:208px;padding:28px 16px}.workspace,.shell>main{margin-left:208px}.workspace main,.content{padding:28px 24px}.brand{font-size:16px}.layout{grid-template-columns:1fr}.sticky{position:static}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.shell{display:block}.sidebar,.shell>aside{position:relative;inset:auto;width:100%;height:auto;padding:20px 16px;display:flex;flex-wrap:wrap;gap:8px;flex-direction:row}.brand{width:100%;font-size:18px;margin-bottom:10px}.brand small{display:block!important}.caption,.nav-caption,.sidebar-foot,.sidebar-footer{display:none}.nav{flex:1;min-width:95px;text-align:center;padding:12px 8px;font-size:12px}.shell nav{display:flex;overflow:auto;width:100%;gap:7px}.shell nav button{white-space:nowrap;padding:12px 16px;font-size:12px}.shell nav button span{display:none}.workspace,.shell>main{margin-left:0}.workspace main,.content{padding:22px 16px 32px}header{height:auto;min-height:60px;padding:14px 18px;gap:12px;flex-wrap:wrap;font-size:11px}.heading,.page-title{padding:22px 20px;border-radius:16px;display:block}.heading>button,.page-title>.phase{margin-top:15px}.layout{grid-template-columns:minmax(0,1fr);gap:14px}.sticky{position:static}.card,.stats article{padding:20px;border-radius:15px}.fields,.fields.three,.form-grid{grid-template-columns:1fr}.condition-body,.operands{grid-template-columns:minmax(0,1fr)}.kpis,.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpis .card,.stats article{padding:18px 14px}.kpis strong,.stats strong{font-size:26px}.steps{gap:7px;flex-wrap:wrap}.steps button{font-size:11px}.steps i{min-width:8px}.actions{gap:8px}.actions button{flex:1 1 140px}.steps:not(:has(button)),.presets{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr}.auth-intro{padding:30px 26px}.auth-intro h1{font-size:29px}.auth-panel{padding:30px 24px}#authScreen{padding:16px 12px}.auth-passwords{grid-template-columns:1fr}.login{display:block}.login button{width:100%;margin-top:14px}.connection{display:block}.connection>span{display:block;margin-top:12px}.account-menu{width:100%;flex-direction:row;align-items:center;margin:4px 0 0;padding-top:6px}.section-heading{display:block}.section-heading button{margin-top:12px;width:100%}.params{grid-template-columns:1fr}.rule-heading{display:block}.group-controls{display:block}.empty{padding:32px 18px}footer{padding:16px;font-size:10px}.phase{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Consistent controls, including dynamically rendered actions. */
button{padding:10px 16px;background:#fff;border:1px solid #d7e2eb;color:#425d75;font-weight:600}button:hover:not(:disabled){border-color:#9bbfb6;background:#f0f7f5}.primary,.primary:hover:not(:disabled){color:white}.danger-button,.danger-button:hover:not(:disabled){color:white}.nav,nav button{border:0;background:transparent;color:#aabfce}.nav.active,nav button.active{color:white;background:linear-gradient(100deg,#2b5b6080,#244054)}.account-menu button{background:#ffffff0d;border-color:#ffffff20;color:#d4e0ef}.delete,.remove{min-height:32px;padding:5px 8px}.shell nav{scrollbar-width:none}.shell nav::-webkit-scrollbar{display:none}input[type=file]{white-space:normal;max-width:100%;font-size:12px}input::file-selector-button{border:0;border-radius:7px;background:#e0efea;color:#28665b;padding:8px 12px;font:inherit;margin-right:12px}.auth-tabs button{border:0;background:transparent}.segmented button{border:0;background:transparent}.segmented button.active{background:white}.steps button{color:#52748b}input[type=checkbox]{padding:0}#secondResearchYears label{min-height:44px}
