:root{--hdr-1:#6cb0e6;--hdr-2:#4a93d6;--blue:#2d8fd0;--blue-dk:#2575b8;--ink:#2b3a4f;--navy:#34435a;--bg:#e7ecf2;--soft:#f5f8fc;--surface:#fff;--text:#2b3a4f;--mute:#8595a8;--border:#d9e2ec;--amber-bg:#fffbeb;--amber-bd:#fde68a;--amber-tx:#92400e;--appbar-h:56px}*,:after,:before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{height:100%}body{background:var(--bg);color:var(--text);font-size:14px;font-family:Malgun Gothic,Apple SD Gothic Neo,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.brandbar{height:var(--appbar-h);padding:0 16px;gap:8px;border-bottom:1px solid #eef2f7}.brandbar,.brandbar .back{display:flex;align-items:center}.brandbar .back{width:32px;height:32px;margin-left:-6px;justify-content:center;color:var(--blue-dk);font-size:24px;background:none;border:none}.logo{font-size:21px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:baseline;gap:4px}.logo .a{color:var(--navy)}.logo .ten{color:var(--blue)}.brandbar .sess{margin-left:auto;font-size:11px;padding:4px 9px;border-radius:999px;background:#eef4fb;color:var(--blue-dk);border:1px solid #d6e6f6;white-space:nowrap}.brandbar .sess.ok{background:#e6f7ef;color:#0a8f5b;border-color:#bce9d4}.page{max-width:480px;margin:0 auto;background:#fff;min-height:100dvh;padding-bottom:28px;box-shadow:0 0 24px rgba(40,60,90,.08)}.titlebar{margin:12px 14px 0;height:42px;border-radius:10px;background:linear-gradient(180deg,var(--hdr-1),var(--hdr-2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;box-shadow:0 2px 8px rgba(74,147,214,.3);position:relative}.btn-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;padding:22px 16px}.bigbtn{aspect-ratio:1/.92;border:none;border-radius:16px;background:linear-gradient(180deg,var(--hdr-1),var(--hdr-2));color:#fff;font-size:15px;font-weight:700;line-height:1.35;box-shadow:0 3px 10px rgba(74,147,214,.32);display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;transition:transform .08s,box-shadow .08s}.bigbtn:active{transform:translateY(1px) scale(.98);box-shadow:0 1px 5px rgba(74,147,214,.3)}.bigbtn.off{background:linear-gradient(180deg,#cfd8e3,#b9c4d2);box-shadow:none;color:#fff}.filter{padding:14px 16px 6px}.fld{display:flex;align-items:center;gap:8px;margin-bottom:10px}.fld>label{width:60px;font-size:13px;font-weight:800;color:var(--navy);flex-shrink:0}.ctl{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;background:#fff;height:40px;padding:0 6px 0 11px}.ctl,.ctl input{flex:1 1;min-width:0}.ctl input{border:none;outline:none;font-size:14px;font-family:inherit;background:transparent;color:var(--text)}.ctl .ic{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#9bb0c6;font-size:16px;background:none;border:none}.ctl .tilde{color:var(--mute);padding:0 2px}.ctl input[type=date]{text-align:center}.ctl select{flex:1 1;border:none;outline:none;background:transparent;font-size:14px;font-family:inherit;color:var(--text);height:100%;min-width:0}.ctl input[readonly]{cursor:pointer}.ctl .ic.clr{color:#c2ccd8;font-size:18px}.ch-mask{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:1000;display:flex;align-items:flex-end;justify-content:center}.ch-sheet{background:#fff;width:100%;max-width:480px;border-radius:16px 16px 0 0;max-height:82dvh;display:flex;flex-direction:column}.ch-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.ch-h b{font-size:15px;color:var(--navy)}.ch-h button{background:none;border:none;font-size:22px;color:#9ca3af;line-height:1}.ch-search{display:flex;gap:8px;padding:12px 14px}.ch-search input{flex:1 1;height:42px;border:1px solid var(--border);border-radius:9px;padding:0 12px;font-size:15px;font-family:inherit;min-width:0}.ch-search button{padding:0 18px;border:none;border-radius:9px;background:var(--blue);color:#fff;font-weight:700;font-size:14px}.ch-list{overflow:auto;padding:0 8px 16px;flex:1 1}.ch-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:#fff;border:none;border-bottom:1px solid #f0f3f7;padding:12px 10px}.ch-item:active{background:var(--soft)}.ch-item b{font-size:14px;color:var(--blue-dk)}.ch-item span{font-size:13px;color:var(--text)}.ch-empty{padding:34px;text-align:center;color:var(--mute);font-size:13px}.collegend{margin:6px 16px 0;border-radius:10px 10px 0 0;border:1px solid var(--border);border-bottom:none;background:var(--soft);display:grid;grid-template-columns:repeat(3,1fr);padding:10px 12px;grid-gap:6px 8px;gap:6px 8px;font-size:12.5px;font-weight:700;color:var(--navy)}.result{margin:0 16px;border:1px solid var(--border);border-radius:0 0 10px 10px;min-height:120px}.rec{border-top:1px solid #e3ebf3;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px 8px;gap:4px 8px;padding:11px 12px;background:#ffffff}.rec.alt{background:#eef4fb}.rec:first-child{border-top:none}.rec .c{font-size:13px;min-width:0}.rec .c small{display:block;font-size:10.5px;color:var(--mute)}.rec .c b{font-weight:600;word-break:break-all}.rec .c.num b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-meta{font-size:12px;color:var(--mute);padding:8px 16px 2px}.totalbar{background:#eaf2fb;border-bottom:1px solid var(--border);padding:11px 14px;display:flex;flex-direction:column;gap:8px}.totalbar .tlabel{font-size:12px;font-weight:800;color:var(--blue-dk)}.totalbar .titems{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:6px 14px;gap:6px 14px}.totalbar .titem{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;border-bottom:1px dashed #cfe0f3;padding-bottom:3px}.totalbar .titem small{color:var(--mute)}.totalbar .titem b{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notice{margin:16px;background:var(--amber-bg);border:1px solid var(--amber-bd);border-radius:12px;padding:16px;color:var(--amber-tx);font-size:13px;line-height:1.6}.notice b{display:block;margin-bottom:4px;font-size:14px}.empty{text-align:center;color:var(--mute);padding:40px 16px;font-size:13px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:54px 16px}.load-ring{width:42px;height:42px;border:4px solid #d8e7f7;border-top-color:#2d8fd0;border-radius:50%;animation:spin .8s linear infinite}.load-tx{font-size:12.5px;color:var(--mute);letter-spacing:.02em}@keyframes spin{to{transform:rotate(1turn)}}.unauth{margin:16px;border:1px dashed #c7d6e6;border-radius:12px;background:var(--soft);padding:26px 18px;text-align:center}.unauth .big{font-size:15px;font-weight:700;color:var(--navy)}.unauth .sub{color:var(--mute);font-size:13px;line-height:1.6;margin-top:6px}.scr{position:relative;min-height:100dvh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;background:linear-gradient(165deg,#7cb0e0,#4d8bc9 44%,#2d5c97);color:#fff;overflow:hidden;box-shadow:0 0 24px rgba(40,60,90,.12)}.scr:before{content:"";position:absolute;inset:0;background:radial-gradient(130% 60% at 82% -5%,rgba(255,255,255,.22),transparent 60%),radial-gradient(120% 55% at 0 105%,rgba(8,28,60,.35),transparent 60%);pointer-events:none}.scr-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:12px 14px 0;min-height:44px}.scr-back,.scr-power{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);color:#fff;font-size:18px}.scr-back{font-size:24px}.scr-hero{position:relative;z-index:1;padding:16px 30px 8px}.scr-brand{font-size:14px;font-weight:700;opacity:.95}.scr-big{font-size:28px;font-weight:800;line-height:1.15;letter-spacing:-.5px;margin-top:8px}.scr-title{font-size:19px;font-weight:300;margin-top:2px}.scr-sub{margin-top:12px;font-size:12.5px;line-height:1.7;opacity:.85}.scr-profile{position:relative;z-index:1;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:6px 18px 0}.scr-prof-tx{text-align:right}.scr-prof-tx b{display:block;font-size:13px;font-weight:700}.scr-prof-tx small{font-size:11.5px;opacity:.85}.scr-avatar{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.scr-panel{position:relative;z-index:1;margin:54px 12px 0;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);border-radius:24px;box-shadow:0 10px 30px rgba(15,35,70,.22);padding:20px 16px 22px}.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px 12px;gap:14px 12px}.tile{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 6px 12px;display:flex;flex-direction:column;align-items:center;gap:9px;box-shadow:0 2px 8px rgba(40,70,120,.07);color:var(--navy)}.tile:active{transform:translateY(1px) scale(.98)}.tile.off{opacity:.42}.tile.ph{border:1.5px dashed #cdd9e6;background:#f6fafd;box-shadow:none;align-items:center;justify-content:center;min-height:98px}.tile.ph .ph-plus{color:#c3d2e2;font-size:26px;font-weight:300}.tile-ico{width:48px;height:48px;border-radius:14px;background:#e9f1fb;display:flex;align-items:center;justify-content:center;font-size:25px}.tile-label{line-height:1.2;font-size:13px;font-weight:700;text-align:center}.lg2,.tile-label{display:flex;flex-direction:column}.lg2{position:relative;min-height:100dvh;max-width:480px;margin:0 auto;background:linear-gradient(165deg,#7cb0e0,#4d8bc9 44%,#2d5c97);color:#fff;overflow:hidden;box-shadow:0 0 24px rgba(40,60,90,.12)}.lg2:before{content:"";position:absolute;inset:0;background:radial-gradient(130% 60% at 82% -5%,rgba(255,255,255,.22),transparent 60%),radial-gradient(120% 55% at 0 105%,rgba(8,28,60,.35),transparent 60%);pointer-events:none}.lg2-hero{position:relative;z-index:1;padding:60px 30px 0;flex:1 1}.lg2-brand{font-size:15px;font-weight:700;letter-spacing:.4px;opacity:.95}.lg2-title{font-size:30px;font-weight:300;line-height:1.12;margin-top:16px}.lg2-title2{font-size:30px;font-weight:800;line-height:1.15;letter-spacing:-.5px}.lg2-sub{margin-top:16px;font-size:12.5px;line-height:1.7;opacity:.85}.lg2-card{position:relative;z-index:1;margin:22px 14px 18px;background:rgba(255,255,255,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.55);border-radius:22px;box-shadow:0 12px 34px rgba(15,35,70,.3);padding:20px 18px 22px;display:flex;flex-direction:column;gap:12px}.lg2-cardttl{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:2px}.login{min-height:100dvh;display:flex;flex-direction:column}.login-hero{background:linear-gradient(160deg,var(--hdr-1),var(--blue-dk));color:#fff;padding:60px 24px 44px;text-align:center}.login-hero .logo{font-size:30px;justify-content:center}.login-hero .logo .a{color:#fff}.login-hero .logo .ten{color:#cfe6fb}.login-sub{margin-top:10px;font-size:14px;opacity:.92}.login-card{margin:-24px 18px 0;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 6px 24px rgba(40,60,90,.12);padding:22px 18px;gap:13px}.lf,.login-card{display:flex;flex-direction:column}.lf{gap:5px}.lf span{font-size:12px;font-weight:700;color:var(--navy)}.lf input{height:46px;border:1px solid var(--border);border-radius:10px;padding:0 13px;font-size:15px;font-family:inherit;background:#fcfdff}.lf input:focus{outline:none;border-color:var(--blue)}.login-btn{height:50px;margin-top:6px;border:none;border-radius:12px;background:linear-gradient(180deg,var(--hdr-1),var(--hdr-2));color:#fff;font-size:16px;font-weight:700;box-shadow:0 3px 10px rgba(74,147,214,.32)}.login-btn:active{transform:translateY(1px)}.login-btn:disabled{opacity:.6}.login-err{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:9px;padding:9px 12px;font-size:12.5px}.login-skip{height:44px;margin-top:2px;border:1px solid var(--blue);border-radius:11px;background:#fff;color:var(--blue-dk);font-size:14px;font-weight:700}.login-skip:active{background:var(--soft)}.login-note{text-align:center;color:var(--mute);font-size:11.5px;margin-top:18px;padding:0 24px;line-height:1.6}.tb-sub{position:absolute;right:12px;bottom:4px;font-size:10.5px;font-weight:600;opacity:.85}.acc{padding:12px 12px 28px;display:flex;flex-direction:column;gap:8px}.acc-sec{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(52,67,90,.05)}.acc-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;background:none;border:none;cursor:pointer;font-size:14.5px;font-weight:700;color:var(--navy);text-align:left}.acc-sec.open .acc-head{background:var(--soft);border-bottom:1px solid var(--border)}.acc-tt{flex:1 1}.acc-meta{display:flex;align-items:center;gap:8px}.acc-badge{background:var(--blue);color:#fff;font-size:10.5px;font-style:normal;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.acc-count{font-size:11px;color:var(--mute);font-weight:600}.acc-chev{font-style:normal;font-size:17px;color:var(--mute);width:14px;text-align:center}.acc-body{display:flex;flex-direction:column}.acc-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:none;border:none;border-top:1px solid #eef3f8;cursor:pointer;font-size:13.5px;color:var(--navy);text-align:left}.acc-item:first-child{border-top:none}.acc-item.dim{color:var(--mute);cursor:default}.acc-dot{width:6px;height:6px;border-radius:50%;background:#cfd9e6;flex-shrink:0}.acc-dot.on{background:var(--blue)}.acc-name{flex:1 1}.acc-go{color:var(--blue);font-size:17px;font-weight:700}.acc-soon{font-size:10.5px;color:var(--mute);background:var(--soft);border:1px solid var(--border);border-radius:6px;padding:2px 7px}.pivot-wrap{margin:8px 12px 24px;overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:#fff;-webkit-overflow-scrolling:touch}.pivot{border-collapse:collapse;font-size:12px;white-space:nowrap;min-width:100%}.pivot td,.pivot th{border:1px solid #e7edf4;padding:7px 9px}.pivot thead th{background:var(--soft);color:var(--navy);font-weight:700;position:-webkit-sticky;position:sticky;top:0;text-align:center}.pivot td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pivot td.left{text-align:left}.pivot .sticky-l{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 0 #e7edf4}.pivot thead .sticky-l{background:var(--soft);z-index:3}.pivot tr.sumrow td{background:#fff8e1;font-weight:700}.pivot tr.sumrow .sticky-l{background:#fff8e1}.srch-wrap{position:relative;z-index:10;padding:12px 16px 0}.srch-box{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.38);border-radius:12px;padding:0 12px;height:44px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .15s,border-color .15s}.srch-box:focus-within{background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.6)}.srch-ico{font-size:15px;opacity:.85;flex-shrink:0}.srch-inp{flex:1 1;background:transparent;border:none;outline:none;color:#fff;font-size:14px;font-family:inherit}.srch-inp::placeholder{color:rgba(255,255,255,.62)}.srch-inp::-webkit-search-cancel-button,.srch-inp::-webkit-search-decoration{display:none}.srch-clr{background:transparent;border:none;color:rgba(255,255,255,.72);font-size:12px;padding:4px 6px;cursor:pointer;flex-shrink:0;line-height:1}.srch-drop{position:absolute;top:calc(100% - 4px);left:16px;right:16px;background:#fff;border-radius:0 0 12px 12px;box-shadow:0 8px 24px rgba(0,0,0,.18);list-style:none;overflow:hidden;max-height:292px;overflow-y:auto;z-index:200}.srch-drop li{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #f0f4f8;font-size:13.5px}.srch-drop li:last-child{border-bottom:none}.srch-drop li:active,.srch-drop li:hover{background:#f0f7ff}.srch-cat{font-size:11px;background:#e8f4ff;color:#2d8fd0;border-radius:4px;padding:2px 6px;white-space:nowrap;font-weight:700;flex-shrink:0}.srch-nm{color:#2b3a4f;font-weight:500;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srch-empty{position:absolute;top:calc(100% - 4px);left:16px;right:16px;background:#fff;border-radius:0 0 12px 12px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:14px;text-align:center;font-size:13px;color:#8595a8;z-index:200}.form-wrap{padding:16px;max-width:600px;margin:0 auto}.form-row{display:flex;flex-direction:column;margin-bottom:16px}.form-row label{font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px}.form-row input,.form-row select{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:var(--surface)}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(45,143,208,.1)}.code-inp{display:flex;gap:8px}.code-inp input{flex:1 1}.code-inp button{padding:10px 16px;background:var(--blue);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.code-inp button:active{background:var(--blue-dk)}.btn-bar{display:flex;gap:12px;padding:16px;justify-content:center}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dk)}.btn-primary:disabled{background:var(--mute);cursor:not-allowed}.btn-secondary{background:var(--soft);color:var(--navy);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.msg-err,.msg-ok{margin:16px;padding:12px;border-radius:6px;text-align:center;font-size:14px;font-weight:600}.msg-ok{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.msg-err{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.so-date-row{display:flex;align-items:center;gap:6px;padding:8px 14px 0}.so-date-row input[type=date]{flex:1 1;height:38px;border:1px solid var(--border);border-radius:8px;padding:0 8px;font-size:13px;font-family:inherit;min-width:0;background:var(--soft);color:var(--navy)}.so-date-row span{color:var(--mute);font-size:13px}.so-date-row button{padding:0 14px;height:38px;border:none;border-radius:8px;background:var(--blue);color:#fff;font-weight:700;font-size:13px;white-space:nowrap;cursor:pointer}.so-date-row button:disabled{background:var(--mute);cursor:not-allowed}