:root{--navy:#10243e;--navy2:#182f4b;--ink:#193451;--muted:#718398;--bg:#f3f6fb;--line:#e2e9f1;--white:#fff;--blue:#2366eb;--cyan:#13a8c4;--green:#15966d;--red:#e34f63;--radius:14px;font-family:Inter,'Pretendard','Malgun Gothic',Arial,sans-serif;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}h1,h2,p{margin-top:0}.vision-body:not(.login-body){display:flex;min-height:100vh}.sidebar{width:238px;flex:0 0 238px;background:var(--navy);color:#d0deeb;display:flex;flex-direction:column;padding:24px 13px;min-height:100vh;position:sticky;top:0;height:100vh}.side-brand{display:flex;gap:12px;align-items:center;padding:9px 10px 25px;color:#fff}.brand-mark,.login-emblem{background:linear-gradient(145deg,#2d82f6,#16a7c7);border-radius:12px;padding:12px;color:#fff;font-size:22px}.side-brand strong{display:block;font-size:19px;letter-spacing:.2px}.side-brand small{display:block;color:#8caac5;font-size:9px;letter-spacing:1.5px;margin-top:4px}.side-label{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#7892af;font-weight:800;margin:15px 12px 10px}.side-link{display:flex;align-items:center;gap:12px;min-height:45px;padding:9px 14px;border-radius:9px;color:#c0d2e5;font-size:13px;font-weight:650;margin:2px 0}.side-link span{min-width:21px;font-size:19px;color:#9ab5d2;text-align:center}.side-link:hover,.side-link.selected{background:#26486e;color:white}.side-link.selected{box-shadow:inset 3px 0 #53beea}.side-link.selected span{color:#61d4ec}.side-bottom{margin-top:auto;padding:18px 12px;border-top:1px solid #324860;display:grid;gap:11px;font-size:12px}.side-bottom small{color:#7590ad}.main-area{min-width:0;flex:1}.topbar{height:65px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 32px;gap:15px}.path{font-size:13px;color:#69829b}.path b{padding:0 12px;color:#c0c9d6}.account{display:flex;align-items:center;gap:18px;font-size:12px}.online{background:#e9f8f0;color:#139367;border-radius:99px;padding:7px 11px;font-weight:750;font-size:10px;white-space:nowrap}.account-name{font-weight:700}.logout{border:1px solid var(--line);background:#fff;color:#516d87;border-radius:8px;padding:8px 12px}.logout:hover{background:#f2f5fc}.content{max-width:1580px;margin:auto;padding:31px 34px 65px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.page-head h1{font-size:27px;letter-spacing:-1px;margin:8px 0}.page-head p{color:var(--muted);font-size:13px;margin:0;line-height:1.7}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.55px;color:#8bc4ef}.eyebrow.dark{color:#4276aa}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:21px;box-shadow:0 5px 23px rgba(22,52,92,.035);min-width:0}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.panel-title h2{font-size:16px;margin:0;letter-spacing:-.3px}.panel-title>span{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:#e9f1ff;color:#2467da;font-weight:800;font-size:11px}.panel-title small{margin-left:auto;color:var(--muted);font-size:11px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;border-radius:9px;padding:11px 17px;font-size:13px;font-weight:750;border:1px solid transparent;min-height:42px}.btn.primary{background:#2366eb;border-color:#2366eb;color:#fff;box-shadow:0 5px 12px #2366eb20}.btn.primary:hover{background:#174fc1}.btn.secondary{background:#fff;color:#23527d;border-color:#dbe5f0}.btn.secondary:hover{background:#eff5fb}.btn.subtle{background:#edf2f8;border-color:#edf2f8;color:#698099}.btn:disabled{opacity:.48;cursor:not-allowed}.btn.wide{width:100%;justify-content:space-between}.btn.big{font-size:15px;padding:15px 19px}.inspection-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.78fr);gap:18px}.preview-area{height:min(45vw,450px);min-height:320px;max-height:480px;background:#11253d;border-radius:12px;overflow:hidden;position:relative;display:grid;place-items:center}.preview-area img,.preview-area video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.preview-area [hidden]{display:none!important}#vision-placeholder{display:grid;justify-items:center;gap:13px;color:#a3bcd5}#vision-placeholder span{font-size:58px;color:#6b92b7}#vision-placeholder strong{font-size:15px}#vision-placeholder small{font-size:12px}.capture-actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.file-label{position:relative;cursor:pointer}.file-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.note{font-size:11px;color:#7d91a5;line-height:1.75;margin:9px 0 0}.inspect-form-panel label:not(.file-label),.settings-form>label{display:block;color:#425b75;font-size:12px;font-weight:750;margin:20px 0 8px}.required{color:#e34f63}.inspect-form-panel select,.inspect-form-panel textarea,.login-form input,.filter-form input,.filter-form select,.settings-form select{display:block;width:100%;background:#fff;border:1px solid #d9e3ef;border-radius:9px;padding:12px;color:#244463}.inspect-form-panel select:focus,.inspect-form-panel textarea:focus,.login-form input:focus{border-color:#3082ee}.inspect-form-panel textarea{resize:vertical}.flow-list{display:grid;gap:11px;border:1px solid #e6edf7;border-radius:10px;padding:15px;margin:25px 0;background:#f9fbfd}.flow-list>div{display:flex;align-items:center;gap:10px;color:#5b738b;font-size:12px}.step-dot{width:23px;height:23px;display:grid;place-items:center;background:#e2eeff;color:#2b6be6;border-radius:50%;font-weight:800;font-size:11px}.flow-list.horizontal{display:flex;justify-content:space-between;flex-wrap:wrap}.messages{display:grid;gap:8px;margin-bottom:15px}.alert{background:#eef6ff;border:1px solid #cbdff8;padding:12px 15px;border-radius:9px;font-size:13px;line-height:1.55}.alert.error{color:#a6384b;background:#fff0f2;border-color:#ffdae0}.alert.success{color:#147d5a;background:#eaf8f1;border-color:#cdebdc}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:17px}.stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:20px 22px;min-width:0}.stat span,.stat small{display:block;font-size:12px;color:#8295a8}.stat strong{display:block;font-size:35px;line-height:1.35;letter-spacing:-1px;margin:6px 0;color:#203f62}.stat.good strong{color:var(--green)}.stat.bad strong{color:var(--red)}.stat.accent strong{color:var(--blue)}.stat strong i{font-size:19px;font-style:normal}.filter-form{display:flex;align-items:end;gap:11px;flex-wrap:wrap}.filter-form label{font-size:11px;font-weight:750;color:#5c758e;min-width:140px}.filter-form input,.filter-form select{margin-top:8px}.filter-form .grow{flex:1}.history-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);gap:16px;margin-top:16px}.table-panel{padding:18px}.table-scroll{width:100%;overflow:auto;max-height:565px}table{width:100%;border-collapse:collapse;font-size:12px}th{color:#607b95;background:#f5f8fc;position:sticky;top:0;text-align:left;font-size:11px;white-space:nowrap;padding:12px;border-bottom:1px solid #dfebf7}td{padding:12px;border-bottom:1px solid #eef1f6;vertical-align:middle}tr.history-row{cursor:pointer}tr.history-row:hover,tr.history-row.active{background:#eef5ff}.memo-cell{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{display:inline-block;font-size:11px;font-weight:800;padding:5px 9px;border-radius:6px}.pill.ok{color:#08875d;background:#e7f7ed}.pill.ng{color:#c63e51;background:#fff0f2}.pill.hold{color:#916b19;background:#fff6de}.detail-panel{padding:18px}.image-detail{height:280px;border-radius:9px;background:#f0f4f8;display:grid;place-items:center;overflow:hidden}.image-detail img{width:100%;height:100%;object-fit:contain}.image-detail [hidden]{display:none}.image-detail>div{font-size:12px;color:#8799ab}.detail-meta{margin-top:17px}.detail-meta strong{font-size:17px}.detail-meta p{font-size:12px;line-height:1.65;overflow-wrap:anywhere;color:#688299}.photo-actions{display:flex;gap:7px;flex-wrap:wrap}.photo-actions button{border:1px solid #d7e4f2;border-radius:8px;background:#fff;color:#2863a6;padding:8px 10px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bar-chart{display:grid;gap:14px}.chart-line{display:grid;grid-template-columns:88px 1fr 35px 48px;gap:11px;align-items:center;font-size:11px;color:#6d8093}.chart-line .track{height:11px;background:#ecf1f8;border-radius:10px;overflow:hidden}.chart-line .fill{height:100%;background:linear-gradient(90deg,#2670e9,#3bc5d2);border-radius:10px}.chart-line strong{font-size:12px;color:#284a6c}.chart-line small{color:#d75569}.empty{padding:45px;text-align:center;font-size:13px;color:#91a3b7}.settings-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}.settings-form select{margin-top:8px}.settings-form .btn{margin-top:20px}.config-list{display:grid;grid-template-columns:120px 1fr;gap:14px 12px;font-size:12px}.config-list dt{font-weight:800;color:#71869d}.config-list dd{margin:0;color:#294764;overflow-wrap:anywhere}.model-card{margin-top:17px}.model-card h2{font-size:20px;margin-top:12px}.model-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.model-grid>div{background:#f7faff;padding:15px;border-radius:10px;min-width:0}.model-grid small{display:block;color:#8699ac;margin-bottom:8px}.model-grid strong{font-size:13px}.model-grid code{overflow-wrap:anywhere;font-size:11px;color:#26537c}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.guide-grid h2{font-size:16px}.guide-grid p{color:#657c93;line-height:1.8;font-size:13px;margin:0}.guide-links{display:flex;gap:11px;margin-top:23px;flex-wrap:wrap}.copyright{margin-top:29px;font-size:11px;color:#8fa1b5;text-align:center}.login-body{background:#fff}.login-grid{display:grid;grid-template-columns:1.07fr .93fr;min-height:100vh}.login-story{position:relative;padding:50px 8% 40px;color:#fff;background:radial-gradient(ellipse at 75% 72%,#185f85 0,transparent 47%),radial-gradient(ellipse at 0 12%,#1d436c 0,transparent 52%),#0b2340;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-story:after{content:'';position:absolute;right:-15vw;bottom:-22vw;width:50vw;height:50vw;border:1px solid #ffffff1b;border-radius:50%;pointer-events:none}.story-home{color:#bacfe4;font-size:13px;width:max-content}.story-text{max-width:550px;position:relative;z-index:1}.story-text h1{font-size:clamp(36px,4vw,61px);letter-spacing:-2px;line-height:1.2;margin:25px 0}.story-text h1 em{color:#84ddec;font-style:normal}.story-text>p{font-size:15px;color:#bdd0e2;line-height:1.9;max-width:450px}.story-metrics{display:flex;gap:37px;border-top:1px solid #ffffff28;margin-top:45px;padding-top:24px}.story-metrics strong{font-size:22px;display:block}.story-metrics small{display:block;margin-top:7px;color:#98b3cb;font-size:11px}.story-footer{font-size:11px;color:#7d9bb8}.login-panel{display:grid;place-items:center;padding:32px}.login-box{width:min(430px,100%)}.login-emblem{display:inline-grid;place-items:center;margin-bottom:27px;width:56px;height:56px}.login-box h2{font-size:29px;color:#122e4c;letter-spacing:-.8px;margin:12px 0}.muted{font-size:13px;color:#8797a9;line-height:1.7;margin-bottom:28px}.login-form{display:grid;gap:9px}.login-form label{font-weight:800;color:#3a5571;font-size:12px;margin-top:10px}.login-form input{height:51px;background:#f9fbff}.login-form .btn{margin-top:17px;height:53px}.login-help{font-size:11px;color:#91a0af;line-height:1.8;text-align:center;margin-top:22px}
@media(max-width:1100px){.sidebar{width:200px;flex-basis:200px}.content{padding:25px}.history-grid,.report-grid{grid-template-columns:1fr}.inspection-grid{grid-template-columns:1fr}.preview-area{height:380px}}@media(max-width:720px){.vision-body:not(.login-body){display:block}.sidebar{height:auto;min-height:0;position:static;width:100%;padding:12px;display:block}.side-brand{padding:7px}.side-label,.side-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:5px}.side-link{white-space:nowrap;font-size:12px;padding:8px 10px;min-height:35px}.topbar{padding:0 15px}.online{display:none}.content{padding:20px 12px}.page-head{align-items:start;flex-direction:column}.page-head h1{font-size:24px}.stat-grid,.stat-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:14px}.stat strong{font-size:27px}.settings-grid,.guide-grid,.model-grid{grid-template-columns:1fr}.login-grid{grid-template-columns:1fr}.login-story{min-height:300px;padding:26px}.story-text h1{font-size:34px}.story-metrics{margin-top:15px}.story-footer{display:none}.login-panel{padding:38px 23px}.capture-actions .btn{flex:1}.preview-area{min-height:250px;height:330px}}
