:root{font-family:Inter,Pretendard,Noto Sans KR,Arial,sans-serif;color:#15233a;background:#eef2f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#eef2f7}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #6ca5ff;outline-offset:3px}.dq-app{min-height:100dvh;display:grid;grid-template-columns:238px minmax(0,1fr);background:#eef2f7}.dq-rail{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:24px 14px 18px;color:#bac9de;background:#102c57;background-image:linear-gradient(145deg,rgba(77,146,255,.16),transparent 42%),radial-gradient(circle at 10% 100%,rgba(23,174,169,.22),transparent 35%)}.dq-brand{display:flex;align-items:center;gap:11px;padding:0 8px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:-.02em}.dq-brand i{display:grid;width:31px;height:31px;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:9px;font-style:normal;font-size:11px;background:#1d5eb8;box-shadow:0 8px 22px #00000038}.dq-brand small{display:block;margin-top:2px;color:#82a6dc;font-size:8px;letter-spacing:.13em}.dq-rail-label{margin:58px 10px 11px;color:#7191bf;font-size:10px;font-weight:800;letter-spacing:.13em}.dq-rail nav{display:grid;gap:4px}.dq-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 10px;border:0;border-radius:9px;color:#b7c8e1;background:transparent;text-align:left;font-size:13px;transition:.18s ease}.dq-nav-item:hover{color:#fff;background:#ffffff12}.dq-nav-item.active{color:#fff;background:#82b9ff2e;box-shadow:inset 2px 0 #77b5ff}.dq-nav-item b{margin-left:auto;display:grid;min-width:21px;height:21px;place-items:center;border-radius:99px;color:#ffe0dd;background:#a63c48;font-size:10px}.dq-rail-bottom{margin-top:auto;display:grid;gap:14px;padding:16px 10px 0;border-top:1px solid rgba(255,255,255,.12);font-size:10px}.dq-rail-bottom span,.dq-rail-bottom a{display:flex;align-items:center;gap:6px;color:#9ab2d4;text-decoration:none}.dq-main{min-width:0;padding:34px 42px 20px;background-image:linear-gradient(rgba(31,72,126,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(31,72,126,.035) 1px,transparent 1px);background-size:30px 30px}.dq-topbar,.dq-command-bar,.dq-hero-grid,.dq-metrics,.dq-workspace,.dq-footer{max-width:1420px;margin-inline:auto}.dq-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:27px}.dq-kicker,.dq-section-heading>div>span,.dq-panel-heading span{display:block;color:#5980b8;font-size:10px;font-weight:800;letter-spacing:.12em}.dq-topbar h1{margin:7px 0 0;color:#112849;font-size:clamp(24px,2.5vw,36px);letter-spacing:-.055em;line-height:1.18}.dq-top-actions,.dq-command-actions{display:flex;align-items:center;gap:8px}.dq-icon-action,.dq-command-actions button{display:inline-grid;place-items:center;border:1px solid #d5deea;border-radius:8px;color:#49617f;background:#fff;transition:.17s ease}.dq-icon-action{width:37px;height:37px}.dq-command-actions button{gap:7px;padding:8px 10px;font-size:12px}.dq-icon-action:hover,.dq-command-actions button:hover{color:#165eb7;border-color:#9cc6fc;background:#f6faff}.dq-primary{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border:1px solid #145bb5;border-radius:8px;color:#fff;background:#1b64c1;box-shadow:0 8px 16px #1754a629;font-weight:750;font-size:12px;transition:transform .15s ease,background .15s ease}.dq-primary:hover{background:#124f9f}.dq-primary:active{transform:translateY(1px)}.dq-command-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border:1px solid #dce4ee;border-radius:11px;background:#ffffffe0;box-shadow:0 8px 22px #1f40670a}.dq-source,.dq-local{display:flex;align-items:center;gap:9px}.dq-source-icon{display:grid;width:31px;height:31px;place-items:center;border-radius:8px;color:#2868bf;background:#e7f0ff}.dq-source b{display:block;font-size:12px}.dq-source small{display:block;margin-top:2px;color:#7a8da8;font-size:10px}.dq-local{margin-left:6px;padding:4px 7px;border-radius:99px;color:#237355;background:#e9f7f0;font-size:10px;font-weight:800}.dq-hero-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,.95fr);gap:16px;margin-top:16px}.dq-readiness{position:relative;overflow:hidden;min-height:236px;padding:28px 28px 17px;border-radius:15px;color:#fff;background:#153c72;background-image:linear-gradient(120deg,#102f5e,#1c5fae);box-shadow:0 19px 35px #16407838}.dq-readiness:after{content:"";position:absolute;right:-5%;top:-80%;width:50%;height:180%;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 36px #ffffff09,0 0 0 72px #ffffff05;transform:rotate(24deg);pointer-events:none}.dq-readiness-copy{position:relative;z-index:1;max-width:54%}.dq-readiness-copy>span{color:#a7ccfc;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.dq-readiness h2{margin:7px 0 4px;font-size:68px;letter-spacing:-.08em;line-height:.96}.dq-readiness h2 em{margin-left:4px;color:#9ac4f5;font-size:17px;font-style:normal;letter-spacing:0}.dq-readiness-copy p{margin:12px 0;color:#c9dcf6;font-size:12px;line-height:1.55}.dq-readiness-copy p b{padding:3px 7px;border-radius:99px;font-size:10px}.dq-readiness-copy p b.ready{color:#d2f7e8;background:#30bc7c47}.dq-readiness-copy p b.review{color:#ffe9bd;background:#eda93245}.dq-readiness-copy p b.blocked{color:#ffd7d7;background:#d7454359}.dq-orbit{--score: 270deg;position:absolute;z-index:1;right:8%;top:35px;display:grid;width:125px;height:125px;place-items:center;border-radius:50%;background:conic-gradient(#88c5ff var(--score),rgba(255,255,255,.13) 0);box-shadow:0 0 0 12px #ffffff09}.dq-orbit:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:inherit;background:#16447f}.dq-orbit span{position:relative;z-index:1;color:#fff;font-size:29px;font-weight:800;letter-spacing:-.06em}.dq-orbit small{display:block;color:#a9c8ed;font-size:9px;font-weight:700;letter-spacing:.07em}.dq-stage-line{position:absolute;z-index:1;left:28px;right:28px;bottom:16px;display:flex;align-items:center;gap:7px;color:#7ea8dc;font-size:9px;line-height:1.25}.dq-stage-line span{width:54px}.dq-stage-line b{color:#abc7ee;font-size:10px}.dq-stage-line .done,.dq-stage-line .done b{color:#fff}.dq-stage-line i{flex:1;height:1px;background:#ffffff42}.dq-signal-panel,.dq-issue-panel,.dq-rule-panel{border:1px solid #dbe3ed;border-radius:15px;background:#ffffffed;box-shadow:0 9px 23px #213e6209}.dq-signal-panel{padding:24px}.dq-panel-heading,.dq-section-heading{display:flex;justify-content:space-between;gap:12px}.dq-panel-heading{color:#3473c7}.dq-panel-heading h2,.dq-section-heading h2{margin:4px 0 0;color:#18304f;font-size:18px;letter-spacing:-.04em}.dq-signal-list{display:grid;margin-top:18px}.dq-signal-list>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #edf1f6}.dq-signal-list p{flex:1;margin:0;color:#5c6f89;font-size:12px}.dq-signal-list b{color:#1a304e}.dot{width:8px;height:8px;border-radius:50%}.dot-red{background:#e65358;box-shadow:0 0 0 4px #feecee}.dot-amber{background:#e4a33d;box-shadow:0 0 0 4px #fff4db}.dot-blue{background:#4084db;box-shadow:0 0 0 4px #e8f1ff}.dq-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.dq-metric{padding:15px 17px;border-top:2px solid #dbe3ef;background:#ffffffba}.dq-metric span{display:block;color:#72849e;font-size:11px}.dq-metric strong{display:block;margin:7px 0 3px;color:#193151;font-size:27px;letter-spacing:-.06em}.dq-metric small{color:#8090a6;font-size:10px}.dq-metric-red{border-color:#eb6670}.dq-metric-red strong{color:#c2424a}.dq-metric-blue{border-color:#4c93ee}.dq-metric-blue strong{color:#216cbd}.dq-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(275px,.8fr);gap:16px;margin-top:25px}.dq-issue-panel{min-height:405px;padding:22px}.dq-rule-panel{padding:22px}.dq-filter{display:flex;align-items:center;gap:4px;color:#6680a1}.dq-filter button{padding:5px 8px;border:0;border-radius:6px;color:#7a8ba3;background:transparent;font-size:11px}.dq-filter button.selected{color:#1b5fac;background:#e7f0ff;font-weight:800}.dq-finding-list{margin-top:19px}.dq-finding{display:grid;grid-template-columns:47px 42px 1fr 24px;align-items:center;gap:11px;min-height:56px;border-top:1px solid #eaf0f5}.dq-row{color:#8a9bb1;font-size:10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.dq-pill{display:inline-flex;justify-content:center;width:35px;padding:4px;border-radius:4px;font-size:9px;font-weight:800}.dq-pill-error{color:#b43242;background:#ffe8ea}.dq-pill-warning{color:#9a6811;background:#fff3d9}.dq-finding b{color:#25405f;font-size:12px}.dq-finding p{margin:2px 0 0;color:#8190a4;font-size:11px}.dq-finding button{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:6px;color:#7f91a8;background:transparent}.dq-finding button:hover{color:#1460bb;background:#eaf2ff}.dq-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:300px;color:#2c8260;font-size:13px}.dq-mapping-list{display:grid;gap:2px;margin-top:18px}.dq-mapping-list>div{display:grid;grid-template-columns:86px 25px 86px 1fr 20px;align-items:center;gap:10px;padding:15px 9px;border-top:1px solid #eaf0f5}.dq-mapping-list code{padding:6px 7px;border-radius:5px;color:#265e9d;background:#edf5ff;font-size:11px}.dq-mapping-list span{color:#83a1c3}.dq-mapping-list p{margin:0;color:#667b97;font-size:12px}.dq-mapping-list svg{color:#29956a}.dq-rule{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #eaf0f5}.dq-rule>b{color:#8aa3c3;font:700 10px ui-monospace,SFMono-Regular,monospace}.dq-rule p{flex:1;margin:0}.dq-rule strong,.dq-rule span{display:block}.dq-rule strong{color:#29415f;font-size:12px}.dq-rule span{margin-top:3px;color:#8090a5;font-size:10px}.dq-rule svg{color:#2c966b}.dq-privacy{display:flex;gap:10px;margin-top:19px;padding:12px;border-radius:9px;color:#426481;background:#eef7fa}.dq-privacy svg{flex:0 0 auto;color:#237b84}.dq-privacy p{margin:0;font-size:10px;line-height:1.55}.dq-privacy b{display:block;color:#26737f;font-size:11px}.dq-footer{display:flex;justify-content:space-between;margin-top:26px;padding:16px 0 0;border-top:1px solid #dfe6ee;color:#76899f;font-size:10px}.dq-footer span{color:#99a8b9}.dq-toast{position:fixed;z-index:5;bottom:18px;right:18px;display:flex;align-items:center;gap:16px;max-width:min(430px,calc(100% - 32px));padding:12px 12px 12px 15px;border:1px solid #b9cfec;border-radius:9px;color:#21426d;background:#f9fcff;box-shadow:0 15px 35px #1337662e;font-size:12px}.dq-toast button{display:grid;width:22px;height:22px;place-items:center;border:0;border-radius:5px;color:#58718e;background:transparent}@media(max-width:1050px){.dq-app{grid-template-columns:190px minmax(0,1fr)}.dq-main{padding:26px 24px 18px}.dq-readiness-copy{max-width:60%}.dq-orbit{right:5%}.dq-workspace{grid-template-columns:1fr}.dq-rule-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.dq-rule-panel>.dq-section-heading,.dq-rule-panel>.dq-privacy{grid-column:1 / -1}}@media(max-width:760px){.dq-app{display:block}.dq-rail{position:relative;height:auto;min-height:76px;padding:14px 16px}.dq-brand{padding:0}.dq-rail-label,.dq-rail nav,.dq-rail-bottom{display:none}.dq-main{padding:22px 15px 16px}.dq-topbar,.dq-command-bar{align-items:flex-start;flex-direction:column}.dq-topbar h1{font-size:27px}.dq-top-actions{width:100%;justify-content:space-between}.dq-command-bar{padding:12px}.dq-command-actions{width:100%}.dq-command-actions button{flex:1;justify-content:center}.dq-hero-grid,.dq-metrics{grid-template-columns:1fr}.dq-readiness-copy{max-width:64%}.dq-readiness h2{font-size:54px}.dq-orbit{right:6%;top:42px;width:96px;height:96px}.dq-orbit span{font-size:23px}.dq-stage-line{left:20px;right:20px}.dq-workspace{margin-top:16px}.dq-issue-panel,.dq-rule-panel{padding:17px}.dq-section-heading{align-items:flex-start;flex-direction:column}.dq-filter{flex-wrap:wrap}.dq-mapping-list>div{grid-template-columns:67px 15px 67px 1fr 17px;gap:5px}.dq-mapping-list p{font-size:10px}.dq-rule-panel{display:block}.dq-footer{align-items:flex-start;flex-direction:column;gap:5px}}
