:host{--bg:#f5f8fd;--ink:#202e4c;--muted:#7b879e;--blue:#4879db;--soft:#eaf0fc;--line:#e3eaf4}

.home-welcome{margin-top:26px}
.service strong{word-break:keep-all;overflow-wrap:break-word}
.brand img{height:auto!important;max-height:46px;object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:host{display:block;color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif;letter-spacing:-.025em;text-align:left;background:var(--bg);min-height:100dvh;color-scheme:light;--bottom-space:calc(88px + env(safe-area-inset-bottom,0px))}
*{box-sizing:border-box}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #7a9cf9;outline-offset:3px}input,textarea{border:1px solid #dfe6f2;border-radius:17px;min-height:54px;width:100%;padding:13px 16px;color:var(--ink);background:#fff}textarea{min-height:110px;resize:vertical}input[type=checkbox]{min-height:0;width:20px;height:20px;accent-color:var(--blue)}input[type=range]{padding:0;border:0;accent-color:var(--blue)}input[type=number]{max-width:130px}img{display:block;max-width:100%}a{color:var(--blue);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,4vw,42px);line-height:1.27;letter-spacing:-.05em}h2{font-size:23px;line-height:1.4;letter-spacing:-.04em}h3{font-size:18px;line-height:1.4}small,.muted{color:var(--muted)}small{font-size:12px}svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.app{max-width:1140px;margin:auto;padding:0 28px calc(var(--bottom-space) + 30px)}.top{height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{width:198px;padding:6px 0}.brand img{width:100%}.top-tools,.row{display:flex;align-items:center;gap:12px}.row.between{justify-content:space-between}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.8)}.language-button{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;border-radius:30px;padding:10px 14px;background:#fff}.glass{position:relative;border:0;border-right:1px solid #fff;border-bottom:1px solid #fff;border-radius:26px;background:linear-gradient(135deg,#ffffffeb,#ffffff99 56%,#eaf0ff73);box-shadow:8px 12px 34px #d8e1f64d,inset -1px -1px 0 #cfdcf366;backdrop-filter:blur(22px)}.glass:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 20%,#ffffff55 21%,transparent 43%)}.page-head{padding:12px 0 25px}.page-head p{margin-top:8px;color:var(--muted)}.audiences{display:inline-flex;padding:5px;border-radius:30px;background:#e7ecf6;gap:3px;margin-bottom:25px}.audiences button{padding:10px 26px;border-radius:25px;font-weight:700;color:var(--muted)}.audiences .active{color:var(--blue);background:white;box-shadow:0 3px 12px #1d377511}.hero{padding:38px 38px 32px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;min-height:242px;background:linear-gradient(115deg,#e7edff,#f5f5ff 60%,#e4f7f4);margin-bottom:28px}.hero-copy{z-index:1;max-width:620px}.eyebrow{color:var(--blue);font-size:12px;font-weight:750;letter-spacing:.08em;margin-bottom:13px}.hero p{color:#65708b;margin-top:14px}.hero-art{width:195px;height:195px;object-fit:contain;filter:drop-shadow(8px 15px 12px #748bc331);transform:rotate(-7deg);margin-right:10px}.hero .arrow-link{margin-top:19px}.arrow-link{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:750}.arrow-link svg{width:18px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:32px 0 18px}.section-head h2{font-size:21px}.section-head button{font-size:13px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:146px;padding:18px 10px 17px;transition:transform .18s,box-shadow .18s}.service:hover{transform:translateY(-3px);box-shadow:9px 15px 30px #a9bed438}.service img{width:82px;height:82px;object-fit:contain;margin-bottom:8px;position:relative}.service strong{font-size:15px;text-align:center;line-height:1.35;position:relative}.service small{font-size:11px;margin-top:5px}.shortcut-strip{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.shortcut{display:flex;align-items:center;gap:14px;border-radius:20px;background:white;padding:19px 22px;border:1px solid #edf0f6;text-align:left}.shortcut svg{color:var(--blue)}.shortcut strong{font-size:14px;display:block}.shortcut small{font-size:12px}.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.job{padding:23px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-height:270px}.job-top{width:100%;display:flex;justify-content:space-between;align-items:center}.job-top img{width:62px;height:62px;object-fit:contain}.badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:650;border-radius:8px;padding:5px 9px;background:#edf1f9;color:#65738d}.badge.green{background:#e5f4ed;color:#317459}.badge.blue{background:#e8efff;color:#3b66bf}.badge.orange{background:#fff1db;color:#98711d}.job h3{font-size:19px;line-height:1.5}.job p{font-size:13px;color:var(--muted)}.job-pay{font-weight:700;color:#4b6687;font-size:14px}.job-foot{border-top:1px solid #e1e8f2;width:100%;padding-top:12px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--blue)}.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(680px,100%);display:flex;align-items:stretch;justify-content:space-around;padding:11px 6px calc(11px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;border:1px solid #fff;background:rgba(255,255,255,.95);backdrop-filter:blur(22px);box-shadow:0 -5px 32px #324e8c12}.bottom-nav button{width:20%;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;font-weight:600;min-height:53px;color:#8a91a4}.bottom-nav svg{width:25px;height:25px}.bottom-nav .active{color:var(--blue)}.bottom-nav .nav-home svg{background:var(--blue);color:white;border-radius:17px;width:44px;height:39px;padding:8px;margin-top:-9px;box-shadow:0 5px 12px #527fe94d}.bottom-nav .active.nav-home{font-weight:800}.notice{border-radius:18px;padding:16px 20px;background:#edf2fc;color:#566685;font-size:13px}.notice p+p{margin-top:8px}.notice.warm{background:#fff5e1;color:#896b2f}.notice.demo{margin:0 0 18px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#f0eefa;color:#796197;font-size:12px}.notice.demo button{color:#675089;font-weight:700;text-decoration:underline}.empty{padding:55px 20px;text-align:center;border:1px dashed #d5ddeb;border-radius:24px;color:var(--muted)}.empty svg{margin:0 auto 12px;width:36px;height:36px;display:block}.primary,.secondary,.danger{border-radius:16px;min-height:50px;padding:13px 22px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--blue);color:white;box-shadow:0 5px 14px #426fe722}.secondary{background:#edf2fb;color:#526381}.danger{background:#fff0ee;color:#b04e45}.full{width:100%}.stack{display:flex;flex-direction:column;gap:18px}.panel{padding:26px;border-radius:24px;background:rgba(255,255,255,.91);border:1px solid #edf1f8}.panel h3{margin-bottom:14px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;text-align:left}.field>span{font-size:14px;font-weight:650}.field small{font-weight:400}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice{padding:16px;border:1px solid #e0e6f0;border-radius:18px;background:white;min-height:54px;text-align:left}.choice.active{border-color:#6c92ef;background:#edf3ff;color:var(--blue);box-shadow:0 0 0 2px #e1eaff}.choice small{display:block;font-size:12px}.error{border:1px solid #f0bdb4;border-radius:14px;background:#fff4f1;color:#a24a3b;padding:14px 18px;white-space:pre-wrap;font-size:14px}.filter{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.filter button{border:1px solid #e2e8f2;padding:9px 16px;border-radius:25px;font-size:13px;background:#fff;color:var(--muted)}.filter .active{background:#213966;border-color:#213966;color:white}.search{display:flex;align-items:center;gap:10px;border-radius:19px;background:white;padding:0 17px;border:1px solid #e2e8f2;margin-bottom:20px}.search input{border:0;background:none;padding-left:2px}.search svg{color:#8c99b1}.all-layout{display:grid;grid-template-columns:160px 1fr;gap:28px}.category-nav{display:flex;flex-direction:column;gap:8px}.category-nav button{text-align:left;border-radius:16px;padding:17px 14px;color:var(--muted);font-weight:650}.category-nav .active{background:white;color:var(--blue);box-shadow:0 4px 18px #2b45750b}.all-content .services{grid-template-columns:repeat(3,minmax(0,1fr))}.all-content .service{background:white;box-shadow:none}.all-content h2{margin:12px 0 20px}.flow{position:fixed;inset:0;z-index:70;overflow-y:auto;background:#f7f9fe;padding:0 20px calc(110px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain}.flow-inner{max-width:700px;margin:auto}.flow-top{display:flex;align-items:center;justify-content:space-between;height:78px;gap:15px;position:sticky;top:0;background:#f7f9fef2;backdrop-filter:blur(15px);z-index:2}.flow-top strong{font-size:15px}.progress{height:5px;background:#e6ebf4;border-radius:6px;margin:6px 0 30px;overflow:hidden}.progress span{height:100%;display:block;background:var(--blue);border-radius:6px;transition:width .2s}.flow-title{margin-bottom:28px}.flow-title p{margin-top:9px;color:var(--muted);font-size:14px}.flow-footer{position:fixed;bottom:0;left:0;right:0;z-index:75;background:#fffffff0;backdrop-filter:blur(12px);padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #e5ebf5}.flow-footer>div{display:flex;gap:12px;max-width:700px;margin:auto}.flow-footer .primary{flex:1}.person{border:1px solid #e7ecf5;background:white;border-radius:23px;padding:24px}.person-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.person-title .number{width:29px;height:29px;display:grid;place-items:center;background:#eaf0ff;color:var(--blue);border-radius:10px;font-size:13px;font-weight:750}.consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;cursor:pointer}.receipt{max-width:620px;margin:auto;text-align:center;padding:30px 0}.success-mark{width:74px;height:74px;margin:10px auto 25px;display:grid;place-items:center;border-radius:27px;color:var(--blue);background:#e5edff}.success-mark svg{width:38px;height:38px}.receipt h1{font-size:29px}.receipt>p{margin:12px 0 28px;color:var(--muted)}.receipt-card{text-align:left;border-radius:28px;padding:30px;background:linear-gradient(140deg,#edf2ff,#fff);border:1px solid white;box-shadow:12px 20px 45px #788fbd20;margin-bottom:24px}.receipt-card h2{margin-bottom:20px}.receipt-card dl{margin:0;display:grid;grid-template-columns:100px 1fr;gap:12px}.receipt-card dt{color:var(--muted);font-size:13px}.receipt-card dd{margin:0;word-break:break-all;font-weight:650}.receipt-card .secret{font-size:27px;letter-spacing:.13em;color:var(--blue)}.receipt-id{font-size:11px;color:#8e99ae;word-break:break-all;margin-top:25px}.dialog-backdrop{position:fixed;inset:0;z-index:1000;background:#1b2b4b44;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:24px}.dialog{background:white;border-radius:28px;max-width:550px;width:100%;padding:29px;max-height:86dvh;overflow:auto;box-shadow:0 18px 80px #1b2d4a33}.dialog h2{margin-bottom:15px}.dialog p{color:var(--muted);margin-bottom:20px}.dialog .actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.language-grid button{min-height:49px;border:1px solid #e3e8f3;border-radius:15px;background:#f9fbff;padding:10px;text-align:left}.language-grid .active{color:var(--blue);border-color:var(--blue)}.busy{text-align:center}.spinner{display:block;width:42px;height:42px;border-radius:50%;border:4px solid #e5ecfb;border-top-color:var(--blue);animation:spin .8s linear infinite;margin:10px auto 25px}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;bottom:calc(var(--bottom-space) + 20px);transform:translateX(-50%);padding:12px 20px;border-radius:14px;background:#213759;color:white;z-index:1100;max-width:90%;font-size:14px}.detail-hero{padding:30px}.detail-hero img{width:100px;height:auto;object-fit:contain;float:right}.detail-hero h1{font-size:28px;margin:18px 0 12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-line{padding:17px 0;border-bottom:1px solid #e9eef6}.detail-line small{display:block;margin-bottom:4px}.prose{white-space:pre-wrap;line-height:1.9}.effort{display:flex;align-items:center;gap:12px;font-size:13px;margin-top:10px}.dots{display:flex;gap:4px}.dot{width:12px;height:12px;border-radius:5px;background:#e2e7ef}.dot.on{background:#a18fda}.effort.physical .dot.on{background:#76baa8}.timeline{padding-left:18px;border-left:2px solid #dee6f3}.timeline article{position:relative;padding:0 0 24px 8px}.timeline article:before{content:'';position:absolute;left:-24px;top:7px;width:9px;height:9px;background:#668bdb;border:3px solid #eef3ff;border-radius:50%}.timeline p{margin:5px 0;font-size:14px;white-space:pre-wrap}.timeline small{font-size:11px}.request-row{width:100%;display:flex;gap:16px;align-items:center;padding:20px;border:1px solid #e7ecf6;border-radius:20px;background:white;text-align:left}.request-row img{width:53px;height:53px}.request-row .row-main{flex:1}.request-row strong{display:block;font-size:15px}.request-row small{font-size:12px}.request-row+.request-row{margin-top:12px}.status-top{margin-bottom:25px;display:flex;justify-content:space-between;gap:15px}.admin-shell{display:grid;grid-template-columns:190px 1fr;gap:25px;margin-top:15px}.admin-nav{display:flex;flex-direction:column;gap:6px;align-self:start;position:sticky;top:20px}.admin-nav button{text-align:left;padding:13px 17px;border-radius:13px;color:var(--muted);font-weight:600;font-size:14px}.admin-nav button.active{background:#263e69;color:white}.admin-main{min-width:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.metric{padding:18px;border-radius:20px;background:white;border:1px solid #edf0f7;text-align:left}.metric b{display:block;font-size:31px;margin:6px 0}.metric small{font-size:12px}.metric.alert b{color:#b37b34}.table-wrap{overflow-x:auto;border:1px solid #e5ebf4;border-radius:20px;background:white}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:13px}th{background:#f7f9fd;padding:13px 17px;color:#71819b;font-size:12px;font-weight:600}td{padding:16px 17px;border-top:1px solid #edf1f7}tr[data-action]{cursor:pointer}tr[data-action]:hover{background:#f7faff}td strong{display:block}td small{font-size:11px}.role-card{padding:20px;background:white;border:1px solid #e2e9f4;border-radius:21px}.role-card label{font-size:13px}.grant{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid #e9edf6}.grant-options{display:flex;gap:10px;flex-wrap:wrap}.grant-options label{display:flex;align-items:center;gap:6px;font-size:12px}.pill-link{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border-radius:12px;background:#edf2fc;color:#5174b6;font-size:13px}.loading-skeleton{height:180px;background:linear-gradient(110deg,#eef2f9 30%,#fff 48%,#eef2f9 70%);background-size:200% 100%;animation:sheen 1.5s infinite;border-radius:25px}@keyframes sheen{to{background-position:-200% 0}}.footnote{margin-top:30px;font-size:11px;line-height:1.8;color:#929eb2;text-align:center}.text-button{font-size:13px;color:var(--blue);font-weight:600;padding:8px}.inline-icon{display:inline-flex;align-items:center;gap:7px}.check-row{display:flex;gap:10px;align-items:center}.step-review dl{display:grid;grid-template-columns:120px 1fr;gap:15px;font-size:14px}.step-review dt{color:var(--muted)}.step-review dd{margin:0;word-break:break-word}.trip-card{border:1px solid #e0e7f4;border-radius:20px;background:white;text-align:left;padding:22px;width:100%}.trip-card.active{border-color:var(--blue);box-shadow:0 0 0 2px #dfe9ff}.trip-card p{font-size:13px;margin-top:5px;color:var(--muted)}.trip-card .seats{font-size:15px;color:#4c749f;font-weight:700}.life-card{padding:24px;text-align:left;min-height:155px;background:white;border-radius:22px;border:1px solid #e7edf8}.life-card svg{margin-bottom:15px;color:#698bc3}.life-card p{margin-top:8px;color:var(--muted);font-size:13px}.receipt-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(min-width:900px){.home-sections{display:grid;grid-template-columns:1fr 290px;gap:27px}.home-aside{padding-top:27px}.home-aside .shortcut{margin-bottom:13px}.home-aside .panel{background:#eff4fc}.job-grid{margin-bottom:12px}}
@media(max-width:760px){.app{padding-left:20px;padding-right:20px}.top{height:77px}.brand{width:165px}.top-tools{gap:4px}.language-button{padding:9px 11px;font-size:12px}.language-button svg{width:17px}.hero{padding:26px 24px;min-height:205px;margin-bottom:23px;border-radius:25px}.hero h1{font-size:29px}.hero-art{width:110px;height:130px;margin-right:-18px;margin-left:-15px;align-self:flex-end}.hero-copy{max-width:75%}.hero p{font-size:12px;max-width:240px;margin-top:12px}.eyebrow{font-size:10px}.hero .arrow-link{font-size:12px}.services{gap:10px}.service{min-height:119px;padding:14px 6px;border-radius:22px}.service img{width:65px;height:65px;margin-bottom:8px}.service strong{font-size:12px}.service small{display:none}.job-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;gap:12px;padding-bottom:8px}.job{min-width:268px;max-width:280px;scroll-snap-align:start}.job h3{font-size:18px}.two-col{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.section-head{margin:27px 0 15px}.section-head h2{font-size:20px}.shortcut-strip{gap:10px}.shortcut{padding:17px 14px;gap:10px}.shortcut small{font-size:10px}.shortcut strong{font-size:12px}.audiences{display:flex;margin-bottom:18px;width:100%}.audiences button{width:50%;padding:9px 14px;font-size:13px}.all-layout{grid-template-columns:94px 1fr;gap:14px;margin-left:-12px;margin-right:-10px}.category-nav button{padding:15px 12px;font-size:13px}.all-content .services{grid-template-columns:repeat(2,minmax(0,1fr))}.all-content .service img{width:60px;height:60px}.all-content h2{font-size:18px}.flow-top{height:65px}.flow-title h1{font-size:27px}.person{padding:20px}.panel{padding:22px}.admin-shell{display:block}.admin-nav{position:static;flex-direction:row;overflow:auto;margin:0 -20px 20px;padding:0 20px;white-space:nowrap}.admin-nav button{font-size:12px;padding:10px 15px}.metrics{grid-template-columns:repeat(2,1fr)}.metric b{font-size:28px}.grant{grid-template-columns:1fr}.dialog{padding:25px}.receipt-card{padding:26px 22px}.choice{padding:13px;font-size:13px}.notice.demo{font-size:10px;padding:11px 14px}.request-row{padding:15px}.request-row img{width:42px}.request-row strong{font-size:13px}.step-review dl{grid-template-columns:90px 1fr}.detail-hero h1{font-size:24px}.flow-footer .secondary{padding:13px 18px}}
@media(max-width:360px){.app{padding-left:15px;padding-right:15px}.service img{width:53px;height:53px}.service strong{font-size:11px}.hero{padding:24px 19px}.hero h1{font-size:26px}.language-button span{display:none}.hero-art{width:90px}.bottom-nav button{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.service-symbol{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 14px;border-radius:24px;background:#e5eef9;color:#326299}.service-symbol svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.symbol-school{background:#e9e5fb;color:#6954ad}.symbol-dormitory{background:#e0f1e8;color:#377c61}.symbol-sim{background:#fcf0d9;color:#a57829}.symbol-legal{background:#f2e7e0;color:#8a6249}.symbol-jobs{background:#e0ecf5;color:#3b6c91}.symbol-life{background:#e2f0ef;color:#377c77}@media(max-width:760px){.service-symbol{width:60px;height:60px;margin-bottom:8px;border-radius:19px}.service-symbol svg{width:34px;height:34px}}

.service img.service-art{width:90px;height:90px;object-fit:contain;margin:0 auto 12px}.life-card img.life-art{width:90px;height:90px;object-fit:contain;margin-bottom:14px}@media(max-width:760px){.service img.service-art{width:64px;height:64px;margin-bottom:8px}}

:host([data-dark]){--ink:#eef3ff;--muted:#bbc8df;--blue:#a8c4ff;background:#111827;color:var(--ink);display:block;min-height:100vh}:host([data-dark]) .app,:host([data-dark]) .flow{background:#111827}:host([data-dark]) .panel,:host([data-dark]) .glass,:host([data-dark]) .bottom-nav,:host([data-dark]) .dialog,:host([data-dark]) .life-card,:host([data-dark]) .flow-footer{background:#1e293b;color:var(--ink)}:host([data-dark]) input,:host([data-dark]) textarea,:host([data-dark]) select,:host([data-dark]) .notice,:host([data-dark]) .secondary,:host([data-dark]) .language-button,:host([data-dark]) .icon-button{background:#28364e;color:#eef3ff}:host([data-dark]) .audiences{background:#28364e}:host([data-dark]) .audiences .active{background:#415575;color:white}

.study-intro{display:flex;gap:24px;align-items:center;margin-bottom:20px}.study-intro h2{margin:12px 0}.study-art{width:80px;height:80px;object-fit:contain;flex:none}.study-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.study-path{display:flex;flex-direction:column;gap:16px}.study-path-top{display:flex;align-items:center;gap:16px}.study-codes{font-size:21px;font-weight:800;color:var(--blue)}.study-codes span{padding:0 6px}.study-kind{font-size:13px;font-weight:700;color:var(--blue)}.study-path h2{font-size:21px}.study-path p{line-height:1.7}.study-path details{border-top:1px solid #dce3ef;padding-top:14px}.study-path summary{cursor:pointer;font-weight:650}.study-path>.primary{margin-top:auto}.document-list{list-style:none;padding:0;margin:12px 0}.document-list li{padding:10px 0;border-bottom:1px solid #dce3ef}.document-list label{display:flex;gap:12px;align-items:flex-start;line-height:1.6;cursor:pointer}.document-list input{flex:none;margin-top:3px}.study-sources{display:flex;flex-wrap:wrap;gap:16px}.study-path-grid~.panel{margin-top:20px}@media(max-width:680px){.study-path-grid{grid-template-columns:1fr}.study-intro{align-items:flex-start;gap:14px}.study-intro .study-art{width:56px;height:56px}.study-codes{font-size:19px}}

/* Member profiles, community and operations */
.office-search{margin:0 0 22px}.office-search summary{cursor:pointer;font-weight:700;padding:8px 0}.office-search label,.office-search small{display:block;margin:12px 0}.office-search input{width:100%}.profile-photo{width:100px;height:100px;border-radius:50%;object-fit:cover}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.photo-grid img{width:100%;height:180px;object-fit:cover;border-radius:14px}.prose{white-space:pre-wrap;overflow-wrap:anywhere}

.bottom-nav .nav-art{width:32px;height:32px;object-fit:contain;flex-shrink:0}.bottom-nav .nav-home .nav-art{width:36px;height:36px}.bottom-nav button{min-width:0}.bottom-nav span{white-space:nowrap}

.sns-strip{margin:24px 0 8px;display:flex;flex-direction:column;align-items:center;gap:8px}.sns-strip>span{font-size:12px;color:var(--muted)}.sns-logos{display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%}.sns-logos a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px}.sns-logos a:hover{background:#edf2fc}.sns-logos a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.sns-logos .sns-logo{width:30px;height:30px;object-fit:contain}
.profile-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:22px;background:linear-gradient(145deg,#e8f5ff,#f4f8ff);padding:20px;border-radius:36px}.profile-nav{display:flex;flex-direction:column;gap:12px;padding-top:54px}.profile-nav-item{display:flex;align-items:center;gap:12px;text-align:left;padding:14px 8px;border-radius:18px;color:#657691;font-weight:650}.profile-nav-item:hover{background:#ffffffb0;color:#1454d8}.profile-surface{background:#ffffffec;padding:32px;border-radius:30px;min-width:0;box-shadow:0 14px 40px #76a1d412}.profile-heading h1{font-size:30px;margin:8px 0}.profile-heading p{color:var(--muted);margin-bottom:24px}.profile-identity{display:flex;align-items:center;gap:20px;padding:22px;border-radius:24px;background:linear-gradient(115deg,#f0f7ff,#eaf2ff80)}.profile-identity h2{font-size:23px;margin:0 0 8px}.profile-identity p{font-size:13px;color:var(--muted);overflow-wrap:anywhere;margin-bottom:10px}.profile-identity>div{min-width:0}.avatar-upload{position:relative;display:block;flex-shrink:0;cursor:pointer}.profile-avatar{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid white;box-shadow:0 5px 18px #3875d724}.avatar-placeholder{font-size:32px;font-weight:750;color:#195fc7;background:linear-gradient(145deg,#d9efff,#adcfff)}.avatar-camera{position:absolute;right:0;bottom:0;background:#2d74ef;color:#fff;border:2px solid #fff;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.avatar-camera svg{width:16px;height:16px}.avatar-upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.avatar-upload:focus-within{outline:2px solid #2875ef;border-radius:50%}.profile-photo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-photo-actions small{font-size:11px;color:var(--muted)}.settings-card{border:0;border-radius:22px;background:linear-gradient(115deg,#f2f7ff,#edf4fc80);overflow:hidden}.settings-card summary,.settings-link,.settings-row{display:flex;align-items:center;gap:14px;padding:16px;text-align:left;width:100%;box-sizing:border-box}.settings-card summary{cursor:pointer;list-style:none}.settings-card summary::-webkit-details-marker{display:none}.settings-art{width:48px;height:48px;object-fit:contain;flex-shrink:0}.profile-nav .settings-art{width:32px;height:32px}.settings-card strong{display:block;font-size:17px;color:var(--ink)}.settings-card small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}.settings-card span:not(.settings-arrow){min-width:0}.settings-arrow{margin-left:auto;font-size:27px;color:#8196b4}.settings-fields{padding:4px 20px 22px;display:grid;gap:14px}.profile-preferences{margin-top:14px}.theme-options{display:flex;margin:0 16px 16px;padding:4px;border-radius:30px;background:#dfe9fa;gap:4px}.theme-options button{flex:1;padding:12px 4px;color:#637896;border-radius:26px;font-weight:650;font-size:13px}.theme-options .selected{background:#fff;box-shadow:0 3px 10px #5391e92b;color:#1466dc}.profile-save{margin-top:6px}:host([data-dark]) .profile-layout{background:#142239}:host([data-dark]) .profile-surface{background:#1e293b}:host([data-dark]) .profile-identity,:host([data-dark]) .settings-card{background:#283950}:host([data-dark]) .theme-options{background:#142239}:host([data-dark]) .theme-options .selected{background:#405774;color:#fff}@media(max-width:700px){.profile-layout{display:block;padding:8px;border-radius:25px}.profile-nav{display:none}.profile-surface{padding:18px 12px;border-radius:22px}.profile-heading h1{font-size:25px}.profile-heading p{font-size:13px}.profile-identity{padding:16px;gap:12px}.profile-avatar{width:70px;height:70px}.profile-identity h2{font-size:20px}.settings-card strong{font-size:15px}.settings-art{width:40px;height:40px}.settings-card summary,.settings-link,.settings-row{padding:14px 12px;gap:10px}.settings-card small{font-size:11px}.settings-fields{padding:4px 14px 18px}.profile-identity p{font-size:11px}} 

.work-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.work-options label{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #dce6f5;border-radius:12px;font-size:14px}.work-options input{width:18px;height:18px;flex-shrink:0}.work-options label:has(input:checked){background:#e4efff;border-color:#4585e8;color:#194b97}
/* Shared compact service and account surfaces */
.phone-parts{display:grid;grid-template-columns:minmax(100px, .65fr) minmax(0,1fr);gap:10px}.phone-parts label{min-width:0}.phone-parts small{display:block;margin-bottom:6px}.phone-parts input{width:100%;min-width:0}.ref-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.ref-calendar>b{text-align:center;font-size:12px}.ref-calendar>div{min-height:72px;padding:6px 3px;background:var(--soft,#edf5ff);border-radius:8px;overflow-wrap:anywhere}.ref-calendar small{display:block;font-size:10px;line-height:1.45}.ref-calendar strong{font-size:12px}.manager-recruit{margin-top:22px}.comment-panel{margin:16px 0;padding-top:14px;border-top:1px solid #dbe6f5}.comment-panel .notice{margin:10px 0}.portal-layout{display:grid;grid-template-columns:145px minmax(0,1fr);gap:20px}.portal-nav{display:flex;flex-direction:column;gap:12px;align-self:start;position:sticky;top:16px}.portal-content{min-width:0;padding:20px;border-radius:30px;background:var(--panel,rgba(255,255,255,.7))}.portal-section{scroll-margin-top:20px;margin-bottom:28px}.portal-section+.portal-section{border-top:1px solid #deebf7;padding-top:20px}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-tile{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;padding:16px 10px;background:var(--soft,#eef6ff);border-radius:23px;color:inherit;text-decoration:none;text-align:center;min-width:0;overflow-wrap:anywhere}.portal-art{width:85px;height:85px;object-fit:contain}.portal-grid .service{min-width:0}.shortcuts-grid,.recent-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.life-shortcuts,.recent-services{margin:22px 0}.shortcuts-grid .portal-art,.recent-grid .portal-art{width:55px;height:55px}.shortcuts-grid strong,.recent-grid strong{font-size:13px}.ref-calendar+div{margin-top:16px}.portal-grid img{max-width:100%}
@media(max-width:600px){.portal-layout{grid-template-columns:minmax(0,1fr);gap:12px}.portal-nav{position:static;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px}.portal-nav button{white-space:nowrap;font-size:12px;padding:10px 12px}.portal-content{padding:15px 10px;border-radius:24px}.portal-grid{gap:8px}.portal-tile{padding:14px 6px;border-radius:19px;font-size:12px}.portal-art{width:65px;height:65px}.portal-section h2{font-size:21px}.shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shortcuts-grid .portal-tile{flex-direction:row;text-align:left;justify-content:flex-start}.recent-grid .portal-art{width:44px;height:44px}.recent-grid strong{font-size:11px}.recent-grid .portal-tile{padding:9px 3px}.phone-parts{grid-template-columns:110px minmax(0,1fr)}.phone-parts small{font-size:11px}.ref-calendar>div{min-height:62px}.portal-grid .service{padding:12px 5px}.portal-grid .service strong{font-size:12px}}
.app-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-download-card{padding:24px;border:1px solid #dce8f7;border-radius:26px;background:var(--panel,#fff);min-width:0}.app-download-heading{display:flex;align-items:center;gap:18px;margin-bottom:24px}.app-download-heading img{flex-shrink:0;border-radius:20px;box-shadow:0 5px 20px #143d7512;object-fit:contain}.app-download-heading h2{margin:5px 0;font-size:23px}.app-download-heading p{margin:5px 0;color:var(--muted,#64748b)}.store-downloads{display:grid;grid-template-columns:1fr 1fr;gap:10px}.store-downloads a{display:flex;align-items:center;gap:10px;padding:13px 12px;border-radius:14px;background:#142343;color:white;text-decoration:none}.store-downloads a:last-child{background:#173c36}.store-downloads svg{width:24px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}.store-downloads small{display:block;font-size:11px;opacity:.8}.store-downloads strong{display:block;font-size:12px;margin-top:4px}.manager-story{margin:26px 0;border-radius:28px;overflow:hidden;background:linear-gradient(130deg,#e7f4ff,#edf9f4);border:1px solid #d7e9f8;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;color:#153359}.manager-story-art{width:100%;height:100%;min-height:320px;object-fit:cover}.manager-story-copy{padding:28px}.manager-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;color:#2967ac}.manager-story h2{font-size:26px;line-height:1.4;margin:12px 0}.manager-story p{font-size:14px;line-height:1.8;color:#4d657f}.manager-topics{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0}.manager-topics span{font-size:12px;padding:7px 10px;background:#ffffffa8;border-radius:30px}.manager-join{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px}.manager-join svg{width:25px;height:25px;flex-shrink:0}.manager-story-copy>small{display:block;margin-top:12px;line-height:1.6;font-size:11px;color:#56718e}@media(max-width:650px){.app-download-grid{grid-template-columns:1fr}.app-download-card{padding:20px 16px}.app-download-heading{gap:14px}.app-download-heading img{width:66px;height:66px}.store-downloads a{padding:12px 9px;gap:7px}.store-downloads strong{font-size:11px}.manager-story{grid-template-columns:1fr}.manager-story-art{height:auto;min-height:0;aspect-ratio:3/2;object-fit:contain}.manager-story-copy{padding:22px}.manager-story h2{font-size:23px}.manager-join{width:100%}}
/* Mobile is the base layout; larger screens expand it. */
:host{--bottom-space:calc(84px + env(safe-area-inset-bottom,0px));font-size:16px;line-height:1.55}
.app{max-width:560px;padding:0 16px calc(var(--bottom-space) + 28px)}.top{height:70px;gap:12px}.brand{width:165px}.top-tools{gap:5px}.language-button{min-height:44px;padding:9px 10px}.icon-button{width:44px;height:44px}.mobile-welcome{padding:12px 0 18px}.mobile-welcome h1{font-size:25px;line-height:1.35;word-break:keep-all}.mobile-welcome p{font-size:14px;margin-top:6px;color:var(--muted)}.audiences{display:flex;width:100%;margin-bottom:14px;padding:4px}.audiences button{width:50%;min-height:44px;padding:10px 12px;font-size:14px}.home-services .services{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-services .service{min-height:118px;padding:12px 5px;border-radius:21px}.home-services .service img.service-art{width:61px;height:61px;margin-bottom:8px}.home-services .service strong{font-size:13px;line-height:1.4}.home-services .service small{display:none}.home-staff-link{margin:14px 0}.home-staff-link button{font-size:14px;min-height:46px}.section-head{margin:22px 0 12px}.section-head h2{font-size:20px}.life-shortcuts{margin:22px 0}.shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shortcuts-grid .portal-tile{flex-direction:row;text-align:left;justify-content:flex-start;min-height:78px;padding:12px 10px;gap:8px}.shortcuts-grid .portal-art{width:42px;height:42px}.shortcuts-grid strong{font-size:13px;line-height:1.5}.manager-story{grid-template-columns:1fr;margin:24px 0;border-radius:24px}.manager-story-art{height:auto;min-height:0;aspect-ratio:3/2;object-fit:contain}.manager-story-copy{padding:20px}.manager-kicker{font-size:12px;letter-spacing:.02em}.manager-story h2{font-size:23px;line-height:1.4;margin:10px 0}.manager-story p{font-size:15px;line-height:1.65}.manager-topics{gap:6px;margin:14px 0}.manager-topics span{font-size:12px;padding:7px 9px}.manager-join{width:100%;min-height:54px;font-size:16px}.manager-story-copy>small{font-size:12px;margin-top:12px}.app-download-grid{grid-template-columns:1fr;gap:14px}.app-download-card{padding:20px 16px;border-radius:23px}.app-download-heading{gap:14px;margin-bottom:18px}.app-download-heading img{width:68px;height:68px}.app-download-heading h2{font-size:21px}.app-download-heading p{font-size:14px}.store-downloads{gap:8px}.store-downloads a{min-height:68px;padding:12px 9px;gap:7px}.store-downloads small{color:#fff;opacity:.85;font-size:12px}.store-downloads strong{font-size:12px;line-height:1.45;word-break:keep-all}.store-downloads svg{width:20px}.portal-layout{grid-template-columns:minmax(0,1fr);gap:12px}.portal-nav{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible}.portal-nav button{padding:10px 4px;font-size:12px;min-height:44px;white-space:normal}.portal-content{padding:15px 10px;border-radius:24px}.portal-grid{gap:8px}.portal-grid .service{min-height:120px;padding:12px 5px}.portal-grid .service img.service-art{width:62px;height:62px}.portal-grid .service strong{font-size:13px}.portal-grid .service small{display:none}.portal-tile{min-height:115px;padding:13px 6px}.portal-art{width:60px;height:60px}.portal-tile strong{font-size:13px;line-height:1.45}.recent-grid .portal-tile{min-height:98px;padding:9px 4px}.recent-grid strong{font-size:12px}.recent-grid .portal-art{width:42px;height:42px}.page-head{padding:12px 0 20px}.page-head h1{font-size:27px}.page-head p{font-size:15px}.bottom-nav{width:min(560px,100%);padding:8px 4px calc(8px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0}.bottom-nav button{min-height:58px;justify-content:center;gap:4px;font-size:12px}.bottom-nav .nav-art,.bottom-nav .nav-home .nav-art{width:30px;height:30px}.bottom-nav .active{background:#eef4ff;border-radius:14px}.bottom-nav span{line-height:1.4}.app input,.app textarea,.app select,.flow input,.flow textarea,.flow select{font-size:16px}.app .phone-parts small{font-size:12px}.app .phone-parts{grid-template-columns:110px minmax(0,1fr)}.app .panel{padding:20px}.app .profile-layout{grid-template-columns:minmax(0,1fr)}.app .profile-nav{display:none}.app .profile-card{min-width:0}.app .profile-row{min-height:64px}.footnote{font-size:12px;line-height:1.7}:host([data-dark]) .app-download-card,:host([data-dark]) .portal-content,:host([data-dark]) .portal-tile{background:#1e293b;color:var(--ink)}:host([data-dark]) .bottom-nav .active{background:#344563}
@media(min-width:900px){.app{max-width:1040px;padding-left:28px;padding-right:28px}.top{height:82px}.home-services .services{grid-template-columns:repeat(3,minmax(0,1fr))}.home-services .service{min-height:130px}.shortcuts-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.app-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-story{grid-template-columns:1fr 1.1fr}.manager-story-art{height:100%;object-fit:cover}.manager-story-copy{padding:28px}.portal-content{padding:24px}.portal-nav{max-width:620px}.portal-grid .service strong,.portal-tile strong{font-size:15px}.portal-grid .service img.service-art{width:78px;height:78px}.portal-art{width:78px;height:78px}.app:has(.admin-shell){max-width:1140px}}
@media(max-width:359px){.app{padding-left:12px;padding-right:12px}.brand{width:146px}.language-button span{display:none}.home-services .services{gap:8px}.home-services .service strong{font-size:12px}.home-services .service img.service-art{width:55px;height:55px}.shortcuts-grid .portal-art{width:34px;height:34px}.store-downloads a{gap:5px;padding:10px 7px}.store-downloads svg{width:17px}.store-downloads strong{font-size:11px}.manager-story h2{font-size:21px}}

.short-referral{display:grid;gap:10px;text-align:center;padding:20px;background:var(--soft);border-radius:20px}.short-referral>strong{font-size:32px;letter-spacing:.14em;font-family:ui-monospace,monospace;color:var(--ink)}.short-referral small{font-size:13px}.short-referral button{min-height:48px}
.my-office-card{margin:4px 0 16px;padding:16px;border:1px solid var(--line);border-radius:22px;background:var(--soft);display:grid;gap:12px}.my-office-heading{display:flex;gap:10px;align-items:center}.my-office-icon{width:40px;height:40px;object-fit:contain}.my-office-heading h2{font-size:17px}.my-office-heading small{font-size:12px}.my-office-card>p{font-size:14px;line-height:1.6;color:var(--muted)}.my-office-card>.primary{font-size:14px;min-height:46px;padding:11px}.my-office-details summary{cursor:pointer;min-height:48px;padding:10px 0}.my-office-details summary strong{font-size:15px}.my-office-details summary span{display:block;color:var(--blue);font-size:13px}.my-office-details[open]{display:grid;gap:12px}.office-postal{font-size:16px;word-break:keep-all}.office-copy-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.office-copy-actions button{font-size:13px;padding:12px 8px;min-height:48px}.my-office-card .text-button{min-height:44px;font-size:13px}.my-office-card small{font-size:12px;line-height:1.6}.my-office-card>a{min-height:44px;display:flex;align-items:center}:host([data-dark]) .my-office-card{background:#1e293b}

/* Compact social card, aligned with the mobile service cards. */
.sns-strip{margin:18px 0 20px;padding:16px;border:1px solid #e0eafa;border-radius:22px;background:linear-gradient(120deg,#f7fbff,#edf4ff);gap:12px;align-items:stretch;box-sizing:border-box}.sns-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.sns-heading strong{font-size:14px;line-height:1.5;font-weight:750;color:var(--ink,#203457);letter-spacing:-.025em}.sns-heading span{font-size:11px;line-height:1.5;color:var(--muted)}.sns-logos{gap:10px;justify-content:center}.sns-logos a{flex:0 0 44px;width:44px;height:44px;background:rgba(255,255,255,.85);border:1px solid #e1eafb;border-radius:15px;box-sizing:border-box;transition:background .15s,transform .15s}.sns-logos a:hover{background:#e1edff;transform:translateY(-2px)}.sns-logos .sns-logo{width:28px;height:28px}:host([data-dark]) .sns-strip{background:linear-gradient(120deg,#1b2941,#21304b);border-color:#354761}:host([data-dark]) .sns-heading strong{color:#e5edff}:host([data-dark]) .sns-logos a{background:#edf3ff;border-color:#60718b}@media(min-width:600px){.sns-strip{flex-direction:row;align-items:center;justify-content:space-between;padding:16px 20px}.sns-heading{flex-direction:column;gap:2px}}@media(max-width:350px){.sns-strip{padding:12px}.sns-logos{gap:5px}.sns-heading span{font-size:10px}}

.save-feedback{margin:0;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.6;background:#edf3ff;color:#304e7b;overflow-wrap:anywhere}.save-feedback[data-state=success]{background:#e5f6ee;color:#155b3a}.save-feedback[data-state=error]{background:#fff0ef;color:#a12727}.save-feedback[data-state=dirty]{background:#fff5df;color:#795315}:host([data-dark]) .save-feedback{border:1px solid currentColor}.toast{max-width:calc(100vw - 32px);white-space:normal;overflow-wrap:anywhere;z-index:10000}

.my-office-hikorea{width:88px;height:40px;object-fit:contain;flex-shrink:0;background:white;border-radius:9px;padding:4px}.hikorea-reserve{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.hikorea-button-logo{width:75px;height:32px;object-fit:contain;background:white;border-radius:7px;padding:3px}

.signup-wizard{max-width:520px;margin:auto}.signup-wizard h2{font-size:21px;line-height:1.5}.signup-wizard .progress{margin-bottom:20px}.wizard-counter{font-size:13px;color:var(--muted);text-align:right}.signup-kind{display:grid;gap:12px}.signup-kind button{padding:24px 16px;background:#edf4ff;border:1px solid #d4e4fa;border-radius:18px;font-weight:700}.wizard-actions{display:flex;gap:10px;margin-top:16px}.wizard-actions button{flex:1;min-height:50px}.signup-review{display:grid;grid-template-columns:100px 1fr;gap:14px;font-size:14px}.signup-review dd{margin:0;overflow-wrap:anywhere}.signup-review dt{color:var(--muted)}.entry-hidden,[data-action="flow-next"][hidden]{display:none!important}.entry-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;grid-column:1/-1}.entry-controls small{color:var(--muted);font-size:12px}.entry-controls button{min-width:100px;min-height:46px}:host([data-dark]) .signup-kind button{background:#273d59;border-color:#415876}

.staff-return{margin:4px 0 18px}.admin-main{min-width:0}.admin-nav{max-width:100%;box-sizing:border-box}@media(max-width:760px){.admin-nav{margin:12px 0 18px;padding:4px 0 10px}.admin-nav button{flex-shrink:0;min-height:44px}.request-table{overflow:visible;border:0;background:transparent}.request-table table,.request-table tbody{display:block;width:100%;min-width:0}.request-table thead{display:none}.request-table tr{display:block;border:1px solid #dfe7f4;border-radius:18px;background:var(--card,#fff);padding:12px;margin:12px 0}.request-table td{display:flex;justify-content:space-between;gap:12px;padding:7px 4px;border:0;white-space:normal;overflow-wrap:anywhere;font-size:13px}.request-table td:first-child{display:block;border-bottom:1px solid #edf1f7;padding-bottom:10px}.request-table td[data-label]::before{content:attr(data-label);color:var(--muted);flex-shrink:0}.request-table td:first-child strong{font-size:16px}.admin-main .page-head h1{font-size:24px}:host([data-dark]) .request-table tr{background:#21324b;border-color:#354761}}

@media(max-width:760px){.admin-main .metrics{gap:10px}.admin-main .metric{padding:14px;min-height:108px}.admin-main .metric b{font-size:25px;margin:6px 0}.admin-main .metric small{font-size:11px}.admin-main .page-head{margin-bottom:18px}}

.free-support-card{margin:4px 0 18px;padding:20px;border-radius:24px;background:linear-gradient(125deg,#e8f4ff,#edf9f5);border:1px solid #daeaf7}.free-support-card>span{font-size:11px;color:#2969b0;font-weight:750}.free-support-card h2{font-size:20px;line-height:1.5;margin:6px 0 8px}.free-support-card p{font-size:13px;line-height:1.8}.free-support-card small{display:block;font-size:11px;color:var(--muted);margin:10px 0}.free-support-card>div{display:flex;flex-wrap:wrap;gap:10px}.free-support-card a{font-size:12px;min-height:44px;display:flex;align-items:center;font-weight:650}:host([data-dark]) .free-support-card{background:#20354a;border-color:#395772}

.goods-story{margin:24px 0;border:1px solid #d7e9f8;border-radius:24px;overflow:hidden;background:var(--panel,#fff);display:grid;grid-template-columns:minmax(0,1fr)}.goods-story>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#eaf4fa}.goods-copy{padding:20px;min-width:0}.goods-copy h2{font-size:23px;line-height:1.4;margin:10px 0;word-break:keep-all}.goods-copy p{font-size:14px;line-height:1.75;color:var(--muted,#4d657f)}.goods-copy details{border-top:1px solid #d7e9f8;padding-top:14px}.goods-copy summary{font-size:13px;cursor:pointer;font-weight:700;padding:6px 0}.goods-copy details p{font-size:12px}@media(min-width:900px){.goods-story{grid-template-columns:1fr 1.1fr;align-items:center}.goods-copy{padding:28px}}
.emergency-page{padding-top:12px}.emergency-hero{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:24px 20px;border-radius:26px;background:linear-gradient(135deg,#e7f3ff,#e9f9f5);color:#17365b;overflow:hidden}.emergency-eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:#397a99}.emergency-hero h1{font-size:25px;letter-spacing:-.05em;margin:10px 0;line-height:1.25;word-break:keep-all}.emergency-hero p{font-size:13px;line-height:1.7;margin:0;color:#506d85}.emergency-hero .emergency-mascot{width:94px;height:94px;object-fit:contain;flex-shrink:0}.emergency-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:25px 0 13px}.emergency-section-heading h2{font-size:17px;margin:0;letter-spacing:-.04em}.emergency-section-heading>span{font-size:9px;font-weight:800;color:#b4464d;background:#ffebed;padding:6px 8px;border-radius:20px;white-space:nowrap}.emergency-urgent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.emergency-number-card{padding:18px 14px 14px;border-radius:24px;background:#edf4ff;border:1px solid #d6e5fa;color:#2459a1;min-width:0}.emergency-number-card.rescue{background:#fff1ee;border-color:#f9dcd6;color:#b94d3d}.emergency-symbol{width:37px;height:37px;display:grid;place-items:center;background:#fff9;border-radius:12px}.emergency-symbol svg{width:24px;height:24px}.emergency-number-card h3{font-size:14px;margin:13px 0 3px;line-height:1.4}.emergency-digits{display:block;font-size:49px;letter-spacing:-.04em;line-height:1.1;font-weight:850;font-variant-numeric:tabular-nums}.emergency-number-card p{font-size:11px;line-height:1.5;min-height:33px;margin:9px 0 14px}.emergency-number-card a{display:flex;align-items:center;justify-content:center;gap:8px;background:#2864b8;color:#fff;border-radius:14px;text-decoration:none;min-height:46px;font-size:13px;font-weight:750}.emergency-number-card.rescue a{background:#ba4839}.emergency-number-card a svg,.emergency-support-card a svg{width:18px;height:18px}.emergency-support-list{display:grid;gap:10px}.emergency-support-card{display:grid;grid-template-columns:38px minmax(0,1fr) 48px;align-items:center;gap:11px;padding:17px 13px;border-radius:21px;background:var(--panel,#fff);border:1px solid #dfe8f2}.emergency-support-card .emergency-symbol{background:#edf7f6;color:#2c7779}.emergency-support-number{font-size:26px;font-weight:800;color:var(--ink,#203654);letter-spacing:-.03em}.emergency-support-card h3{font-size:13px;line-height:1.5;margin:2px 0}.emergency-support-card p{font-size:11px;line-height:1.5;margin:4px 0 0;color:var(--muted,#60758a)}.emergency-support-card a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:53px;border-radius:14px;background:#edf3fc;color:#265da4;text-decoration:none;font-size:10px;font-weight:700}.emergency-note{border-radius:20px;padding:18px;margin:22px 0 12px;background:var(--panel,#fff);border:1px solid #dfe8f2}.emergency-note strong{font-size:13px}.emergency-note p{font-size:12px;line-height:1.8;color:var(--muted,#60758a);margin:8px 0 0}.emergency-page a:focus-visible{outline:3px solid #745bcd;outline-offset:3px}:host([data-dark]) .emergency-support-card,:host([data-dark]) .emergency-note{border-color:#40516a}@media(min-width:650px){.emergency-hero{padding:30px}.emergency-hero h1{font-size:32px}.emergency-hero .emergency-mascot{width:120px;height:120px}.emergency-number-card{padding:24px}.emergency-number-card h3{font-size:19px}.emergency-number-card p{font-size:14px;min-height:0}.emergency-support-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:359px){.emergency-hero{padding:20px 14px}.emergency-hero h1{font-size:22px}.emergency-hero .emergency-mascot{width:78px;height:78px}.emergency-section-heading h2{font-size:15px}.emergency-number-card{padding:15px 11px}.emergency-support-card{gap:8px;padding:14px 10px}}

.emergency-call-wrap{position:relative;padding-top:40px}.emergency-call-wrap .emergency-peek{position:absolute;width:72px;height:72px;object-fit:contain;left:50%;top:-20px;transform:translateX(-50%);pointer-events:none;z-index:1}.emergency-call-wrap a{position:relative}.emergency-number-card p{margin-bottom:4px}

.nationality-search{position:relative;min-width:0}.country-search-box{position:relative}.country-search-box>span{position:absolute;left:13px;top:9px;font-size:25px;color:var(--muted);pointer-events:none}.app .country-search-box input{width:100%;padding-left:40px}.country-options{max-height:240px;overflow-y:auto;border:1px solid #b5cce8;border-radius:14px;background:var(--panel,#fff);overscroll-behavior:contain}.country-options[hidden]{display:none}.country-options button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:12px 15px;width:100%;border:0;border-bottom:1px solid #dce5ef;background:transparent;color:var(--ink);min-height:58px}.country-options button:hover,.country-options button:focus-visible{background:#e7f1ff;color:#17365b;outline:2px solid #4b7fd3;outline-offset:-2px}.country-options small,.country-selection{font-size:12px;color:var(--muted)}.country-empty{font-size:13px;padding:14px;line-height:1.6}

.settling-banner{display:flex;align-items:center;gap:15px;padding:22px 18px;margin:0 0 24px;border:1px solid #cee7ec;border-radius:24px;background:linear-gradient(135deg,#e9f5ff,#e8faf2);color:#183d59}.settling-banner .settling-art{width:74px;height:74px;object-fit:contain;flex-shrink:0}.settling-banner h2{font-size:19px;line-height:1.45;margin:0;word-break:keep-all}.settling-banner p{font-size:12px;line-height:1.6;margin:8px 0 12px}.settling-banner button{font-size:12px;min-height:44px;padding:10px 14px}.settling-steps{list-style:none;padding:0;margin:0;display:grid;gap:16px;counter-reset:step}.settling-step{padding:22px 18px;border:1px solid #d8e6ef;border-radius:24px;background:var(--panel,#fff);position:relative}.settling-step-top{display:grid;grid-template-columns:28px 48px minmax(0,1fr);gap:9px;align-items:center}.settling-number{font-size:13px;font-weight:850;color:#327b9d}.settling-step .settling-step-art{width:48px;height:48px;object-fit:contain}.settling-step h2{font-size:18px;line-height:1.5;margin:0;word-break:keep-all}.settling-step>p{font-size:14px;line-height:1.9;color:var(--muted,#536b7f);margin:15px 0 0;white-space:normal}.settling-documents{padding:15px;border-radius:16px;background:#edf6ff;color:#203e62;margin-top:16px}.settling-documents summary{font-size:14px;font-weight:750;cursor:pointer;line-height:1.6}.settling-documents ul{padding-left:20px;margin:12px 0 0}.settling-documents li{font-size:13px;line-height:1.8;margin:7px 0}.settling-note{margin-top:20px;font-size:13px;line-height:1.85}.settling-guide .footnote{line-height:1.8;overflow-wrap:anywhere}:host([data-dark]) .settling-step{border-color:#405570}@media(min-width:900px){.settling-banner{padding:28px}.settling-banner .settling-art{width:100px;height:100px}.settling-banner h2{font-size:25px}.settling-step{padding:28px}.settling-step>p{font-size:16px}}

.shortcuts-grid .portal-tile strong{word-break:normal;overflow-wrap:anywhere}.shortcuts-grid .portal-tile{height:auto;min-height:84px}.manager-story h2,.goods-copy h2{word-break:normal;overflow-wrap:anywhere}.manager-join span{white-space:normal}.manager-join{height:auto;padding:13px 16px}.manager-kicker{overflow-wrap:anywhere}

/* RESPONSIVE LAYOUT */
/* One document, three layouts. No device redirect or additional desktop image download. */
.app{width:100%;max-width:620px;padding:0 18px calc(106px + env(safe-area-inset-bottom,0px));min-width:0}
.app>main,.app>main>*{min-width:0}
.app .top{height:76px;gap:12px}
.app .brand{width:166px;max-width:52%;flex:none}
.app .brand img{aspect-ratio:1192/233}
.app .top-tools{flex-shrink:0;gap:8px}
.app .language-button{min-height:44px;max-width:150px}
.app .language-button span{overflow:hidden;text-overflow:ellipsis}
.app .desktop-nav{display:none}
.app .primary,.app .secondary,.app .danger{white-space:normal;text-align:center;line-height:1.45;min-height:48px;overflow-wrap:anywhere}
.app .row{min-width:0;flex-wrap:wrap}
.app .row>*{min-width:0;max-width:100%}
.app .badge{white-space:normal;line-height:1.45}
.app .panel{border-radius:22px;padding:20px}
.app .page-head h1{font-size:clamp(25px,4vw,34px);line-height:1.3;overflow-wrap:anywhere}
.app .page-head p{max-width:72ch;line-height:1.7}
.app .request-row{gap:12px;flex-wrap:wrap}
.app .request-row .row-main{min-width:0;flex:1 1 145px;overflow-wrap:anywhere}
.app .role-card .row.between{gap:14px;align-items:flex-start}
.app .role-card small{overflow-wrap:anywhere}
.app .filter{gap:8px}
.app .filter button{min-height:44px;line-height:1.45}
.bottom-nav{width:100%;max-width:620px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;align-items:stretch;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;background:#fffffff5;border:1px solid #e6edf7;box-shadow:0 -5px 24px #2c487010;backdrop-filter:none}
.bottom-nav button{width:100%;min-width:0;min-height:64px;padding:6px 2px;gap:5px;justify-content:flex-start;border-radius:16px;font-size:11px;line-height:1.25;color:#6e7c93;transition:background-color .15s,color .15s}
.bottom-nav button .nav-art,.bottom-nav button.nav-home .nav-art{width:31px;height:31px;object-fit:contain;margin:0;flex:none;transform:none}
.bottom-nav button span{display:block;white-space:normal;overflow-wrap:anywhere;max-width:100%;font-weight:650;line-height:1.25}
.bottom-nav button.active{background:#eaf2ff;color:#245bb7;box-shadow:inset 0 0 0 1px #d9e7fd}
.app .mobile-welcome{padding:16px 0}
.app .mobile-welcome h1{font-size:25px;line-height:1.35}
.app .mobile-welcome p{font-size:13px}
.app .my-office-card{padding:16px;margin:2px 0 8px;border-radius:20px;gap:10px}
.app .my-office-card>p{font-size:13px;line-height:1.6}
.app .my-office-heading h2{font-size:16px}
.app .my-office-card .primary{min-height:44px;padding:10px 12px}
.app .home-services .services{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.app .home-services .service{min-height:116px;padding:14px 7px;border-radius:20px;background:#fff;border:1px solid #e8eef8;box-shadow:0 3px 12px #34528505;backdrop-filter:none;transition:background-color .15s}
.app .home-services .service:before{display:none}
.app .home-services .service:hover{transform:none;box-shadow:none;background:#f4f8ff}
.app .home-services .service strong{font-size:13px;line-height:1.45;word-break:normal;overflow-wrap:anywhere}
.app .home-services .service img.service-art{width:60px;height:60px;object-fit:contain;margin-bottom:8px}
.app .manager-story,.app .goods-story{overflow:hidden;border:1px solid #e1eaf4;border-radius:24px}
.app .manager-story-art,.app .goods-story>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block}
.app .manager-story-copy,.app .goods-copy{padding:22px}
.app .manager-story h2,.app .goods-copy h2{font-size:clamp(21px,3vw,29px);line-height:1.45}
.app .portal-nav button{min-height:48px;line-height:1.45}
.app .shortcuts-grid .portal-tile{min-height:88px;padding:14px 12px;gap:10px}
.app .shortcuts-grid .portal-art{width:40px;height:40px;flex:none}
.app .shortcuts-grid strong{font-size:13px}
.app[data-page="admin"]>main{display:grid;gap:24px}
.app .admin-shell{display:block;margin:0;min-width:0}
.app .admin-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible;white-space:normal;margin:0 0 22px;padding:10px;border:1px solid #e1e9f6;border-radius:22px;background:#edf3fc}
.app .admin-nav button{width:100%;min-width:0;min-height:46px;padding:10px 11px;text-align:left;font-size:13px;line-height:1.45;border-radius:12px;background:#ffffffa6;color:#536882;overflow-wrap:anywhere}
.app .admin-nav button.active{color:#fff;background:#315fae;box-shadow:0 3px 8px #355d9620}
.app .admin-main{min-width:0}
.app .workspace-menu{min-width:0;margin-bottom:22px}
.app .workspace-menu-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:#edf3fc;border:1px solid #dce7f8;border-radius:16px;text-align:left;min-height:64px;gap:12px}
.app .workspace-menu-toggle small{display:block;font-size:11px;margin-bottom:2px}
.app .workspace-menu-toggle strong{font-size:15px;line-height:1.45}
.app .workspace-menu-toggle>span:last-child{font-size:25px;color:#4879db}
.app .workspace-menu:not(.is-open) .admin-nav{display:none}
.app .workspace-menu.is-open .admin-nav{margin-top:8px;margin-bottom:0}
.app .admin-main .page-head{padding-top:0}
.app .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.app .metric{padding:16px;border-radius:18px}
.app .metric b{font-size:27px}
.app .audit-list{display:grid;border:1px solid #e1e8f3;border-radius:22px;overflow:hidden;background:var(--panel,#fff)}
.app .audit-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:18px;border-bottom:1px solid #e7edf6;min-width:0;align-items:start}
.app .audit-entry:last-child{border-bottom:0}
.app .audit-entry time{grid-column:1/-1;font-size:12px;color:var(--muted);line-height:1.5}
.app .audit-description{min-width:0}
.app .audit-description>strong{font-size:15px;line-height:1.5;display:block}
.app .audit-description summary{font-size:12px;color:var(--muted);cursor:pointer;padding:8px 0;min-height:36px}
.app .audit-description code{display:block;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.7;padding:10px;background:var(--soft);border-radius:10px}
.app .audit-actor{font-size:11px;background:var(--soft);border-radius:8px;padding:5px 8px;overflow-wrap:anywhere;max-width:110px}
.app .workspace-tools{padding:20px;border:1px solid #dce7f5;border-radius:24px;background:var(--panel,#fff)}
.app .workspace-tools>h2{font-size:19px;margin:0 0 18px}
.app .workspace-tool-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.app .workspace-tool-group{min-width:0}
.app .workspace-tool-group h2{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 8px}
.app .workspace-tool-group p{font-size:12px;color:var(--muted);margin:0 0 10px}
.app .workspace-tool-group .filter{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.app .workspace-tool{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:58px;width:100%;padding:12px;border-radius:14px;border:1px solid #e0e9f7;background:#f4f7fc;color:var(--ink);text-align:left;font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.app .workspace-tool img{flex:0 0 30px;width:30px;height:30px;object-fit:contain}
.app .workspace-tool span{min-width:0}
.app .workspace-tool-group>button+button{margin-top:8px}
.app .workspace-tool:hover{background:#eaf2ff;border-color:#bacfee}
.app .workspace-tool-group:has(>.filter){grid-column:1/-1}
.app .profile-layout{display:block}
.app .profile-surface{min-width:0}
.app .profile-nav{display:none}
.app .profile-identity{min-width:0;gap:16px}
.app .profile-identity>div{min-width:0}
.app .profile-identity p{overflow-wrap:anywhere}
.app .profile-heading h1{font-size:30px}
.app .settings-card,.app .settings-card>summary{min-width:0}
.app .settings-card strong,.app .settings-card small{overflow-wrap:anywhere}
@media(max-width:599px){
 .app .two-col,.app .detail-grid,.app .grant{grid-template-columns:minmax(0,1fr)}
 .app .profile-surface{padding:18px 14px}
 .app .settings-card>summary,.app .settings-link{gap:12px;padding:14px}
 .app .settings-art{width:42px;height:42px}
 .app .settings-fields{padding:16px}
 .app .store-downloads{grid-template-columns:minmax(0,1fr)}
 .app .phone-parts{grid-template-columns:100px minmax(0,1fr)}
 .app .request-table table,.app .request-table tbody,.app .request-table tr,.app .request-table td{display:block;white-space:normal;min-width:0}
 .app .request-table thead{display:none}
 .app .request-table tr{padding:16px;border-bottom:1px solid var(--line)}
 .app .request-table td{border:0;padding:5px 0;overflow-wrap:anywhere}
 .app .request-table td[data-label]:before{content:attr(data-label);display:inline-block;width:80px;font-size:11px;color:var(--muted)}
}
@media(min-width:600px) and (max-width:1199px){
 .app{max-width:1080px;padding:0 30px calc(112px + env(safe-area-inset-bottom,0px))}
 .app .top{height:88px}
 .app .brand{width:198px}
 .bottom-nav{max-width:620px;bottom:14px;border-radius:24px;box-shadow:0 5px 32px #2d497419}
 .app .home-services .service{min-height:140px}
 .app .home-services .service strong{font-size:15px}
 .app .home-services .service img.service-art{width:72px;height:72px}
 .app .shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app .manager-story,.app .goods-story{display:grid;grid-template-columns:1fr 1fr;align-items:center}
 .app .manager-story-art,.app .goods-story>img{height:auto;object-fit:contain}
 .app .admin-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
 .app .workspace-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
 .app .profile-settings,.app .profile-preferences{max-width:720px;margin-left:auto;margin-right:auto}
 .app .portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .app .two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app .app-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app .store-downloads{grid-template-columns:1fr}
}
@media(min-width:1200px){
 :host{--bottom-space:0px}
 .app{display:grid;grid-template-columns:196px minmax(0,1fr);column-gap:34px;max-width:1440px;padding:0 36px 50px}
 .app:has(.admin-shell){max-width:1560px}
 .app>.top,.app>.notice.demo,.app>.error{grid-column:1/-1}
 .app .top{height:98px;border-bottom:1px solid #e2eaf5;margin-bottom:26px}
 .app .brand{width:204px}
 .app>.desktop-nav{display:flex;flex-direction:column;gap:7px;grid-column:1;grid-row:span 2;align-self:start;position:sticky;top:24px;min-width:0;padding:12px;background:#ffffffa8;border:1px solid #e4ebf6;border-radius:24px}
 .app .desktop-nav-item{display:flex;gap:12px;align-items:center;width:100%;min-height:58px;padding:12px 10px;border-radius:15px;font-size:14px;font-weight:650;color:#60728b;text-align:left;line-height:1.4}
 .app .desktop-nav-item:hover{background:#edf3fc}
 .app .desktop-nav-item.active{color:#245dbb;background:#e9f1ff;box-shadow:inset 0 0 0 1px #dbe7fb}
 .app .desktop-nav-art{width:32px;height:32px;object-fit:contain;flex:none;margin:0}
 .app .desktop-nav-divider{height:1px;margin:12px 4px;background:#e5ecf6}
 .app>main,.app>.footnote{grid-column:2;min-width:0}
 .bottom-nav{display:none}
 .app[data-page="home"]>main{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(275px,1fr);gap:20px 24px;align-items:start;grid-template-areas:'welcome office' 'audience office' 'services life' 'services sns' 'manager manager' 'goods goods'}
 .app[data-page="home"] .mobile-welcome{grid-area:welcome;padding:8px 0 0}
 .app[data-page="home"] .mobile-welcome h1{font-size:31px;max-width:500px}
 .app[data-page="home"] .mobile-welcome p{font-size:15px}
 .app[data-page="home"] .audiences{grid-area:audience;margin:0;max-width:420px}
 .app[data-page="home"] .home-services{grid-area:services}
 .app[data-page="home"] .my-office-card{grid-area:office;margin:0;padding:20px;background:#eaf1ff}
 .app[data-page="home"] .life-shortcuts{grid-area:life;margin:0;padding:18px;border:1px solid #e3ebf5;background:white;border-radius:22px}
 .app[data-page="home"] .life-shortcuts .section-head{margin:0 0 14px}
 .app[data-page="home"] .life-shortcuts h2{font-size:18px}
 .app[data-page="home"] .shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .app[data-page="home"] .shortcuts-grid .portal-tile{flex-direction:column;justify-content:center;text-align:center;min-height:102px;padding:12px 7px;background:#f3f7fe}
 .app[data-page="home"] .shortcuts-grid .portal-art{width:38px;height:38px}
 .app[data-page="home"] .shortcuts-grid strong{font-size:12px;line-height:1.5}
 .app[data-page="home"] .sns-strip{grid-area:sns;margin:0;padding:16px;align-self:start}
 .app[data-page="home"] .manager-story{grid-area:manager;margin:8px 0 0}
 .app[data-page="home"] .goods-story{grid-area:goods;margin:0}
 .app .home-services .service{min-height:134px}
 .app .home-services .service img.service-art{width:69px;height:69px}
 .app .home-services .service strong{font-size:14px}
 .app .manager-story,.app .goods-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;background:#edf8fc}
 .app .manager-story-art,.app .goods-story>img{height:auto;aspect-ratio:3/2;object-fit:contain}
 .app .manager-story-copy,.app .goods-copy{padding:28px 32px}
 .app .manager-story h2,.app .goods-copy h2{font-size:27px}
 .app .manager-story p,.app .goods-copy p{font-size:14px}
 .app .admin-shell{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px}
 .app .workspace-menu{align-self:start;position:sticky;top:24px;margin:0}
 .app .workspace-menu-toggle{display:none}
 .app .workspace-menu:not(.is-open) .admin-nav{display:flex}
 .app .admin-nav{display:flex;flex-direction:column;position:sticky;top:24px;align-self:start;gap:5px;padding:8px;margin:0;border-radius:18px}
 .app .admin-nav button{font-size:12px;min-height:43px;padding:11px 10px}
 .app .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
 .app .audit-entry{grid-template-columns:155px minmax(0,1fr) 105px;gap:18px;padding:20px}
 .app .audit-entry time{grid-column:auto;padding-top:2px}
 .app .workspace-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
 .app .workspace-tool-group:has(>.filter){grid-column:span 2}
 .app .workspace-tool-group .filter{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app .workspace-tools{padding:24px}
 .app .portal-layout{grid-template-columns:minmax(0,1fr)}
 .app .portal-nav{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}
 .app .portal-content{padding:26px}
 .app .portal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .app .recent-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .app .profile-surface{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:22px;padding:26px}
 .app .profile-heading{grid-column:1/-1;margin:0}
 .app .profile-preferences{margin-top:0;align-self:start}
 .app .profile-preferences .settings-art{width:42px;height:42px}
 .app .profile-identity{padding:18px}
 .app .profile-identity h2{font-size:23px}
 .app .profile-identity p{font-size:12px}
 .app .profile-preferences .settings-link{padding:16px;gap:12px}
 .app .app-download-grid,.app .two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app .board-compose{max-width:720px}
 .app .auth-story,.app .signup-wizard{max-width:600px;margin:20px auto}
}
@media(min-width:1600px){.app{column-gap:40px}.app .home-services .service{min-height:146px}}
@media(max-width:359px){
 .app{padding-left:12px;padding-right:12px}
 .app .brand{width:150px;max-width:54%}
 .app .top-tools{gap:5px}
 .app .language-button{padding:9px}
 .app .language-button span{display:none}
 .app .home-services .services{gap:7px}
 .app .home-services .service{padding:11px 4px;min-height:108px}
 .app .home-services .service strong{font-size:12px}
 .bottom-nav{padding-left:5px;padding-right:5px;gap:2px}
 .bottom-nav button{font-size:10px}
 .app .workspace-tool-group .filter{grid-template-columns:1fr}
}
:host([data-dark]) .app .desktop-nav,:host([data-dark]) .app .home-services .service,:host([data-dark]) .app .workspace-tools,:host([data-dark]) .app .audit-list,:host([data-dark]) .app .life-shortcuts{background:#1e293b;border-color:#3b4e67;color:var(--ink)}
:host([data-dark]) .app .workspace-tool,:host([data-dark]) .app .admin-nav,:host([data-dark]) .app .admin-nav button,:host([data-dark]) .app .my-office-card,:host([data-dark]) .app .shortcuts-grid .portal-tile{background:#28374d;color:var(--ink);border-color:#3d5270}
:host([data-dark]) .app .desktop-nav-item{color:#d5e2f5}
:host([data-dark]) .app .desktop-nav-item.active,:host([data-dark]) .app .admin-nav button.active,:host([data-dark]) .bottom-nav button.active{background:#355075;color:white}
@media(prefers-reduced-motion:reduce){.app .service,.bottom-nav button{transition:none}}

/* LEARNING FLOW */
.learning-hero,.learning-entry{display:flex;align-items:center;gap:20px;margin:0 0 24px;min-width:0}.learning-hero .page-head{margin:0}.learning-logo{width:126px;height:126px;object-fit:contain;flex:none}.learning-entry{padding:22px;background:linear-gradient(135deg,#eef5ff,#eaf8f7);border:1px solid #d5e4f4;border-radius:24px}.learning-entry h2{margin:0 0 8px;font-size:21px}.learning-entry p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 14px}.learning-next{display:grid;gap:28px;margin-top:30px}.learning-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.learning-related-link,.arrival-next-link{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-width:0;background:var(--panel);border:1px solid var(--border,#dce5f0);border-radius:18px;padding:14px;color:var(--text,#16324f)}.learning-related-link strong,.arrival-next-link strong{flex:1;min-width:0;font-size:14px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}.related-art{width:52px;height:52px;object-fit:contain;flex:none}.arrival-next{padding:22px;border-radius:24px;background:var(--panel);border:1px solid var(--border,#dce5f0);scroll-margin-top:20px}.arrival-next h2{font-size:22px;margin:0 0 10px}.arrival-next>p{font-size:14px;color:var(--muted)}.arrival-next ol{list-style:none;margin:20px 0;padding:0;display:grid;gap:12px}.arrival-next li{display:flex;align-items:center;gap:12px}.arrival-next-number{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:#e6efff;color:#3266be;font-size:13px;font-weight:800}.arrival-next-link{background:var(--soft,#f6f9ff);border:0}.topik-entry-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.topik-course .muted{font-size:13px;line-height:1.7}.topik-player{scroll-margin-top:14px;margin:24px 0}.topik-player iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:16px}.topik-player a{display:inline-block;font-size:13px;margin-top:14px}.topik-catalog{margin-top:28px}.topik-catalog>h2{font-size:21px}.topik-catalog>h2 small{font-size:13px;color:var(--muted);font-weight:500}.topik-lessons{display:grid;gap:10px}.topik-lesson{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border-radius:18px;background:var(--panel);border:1px solid var(--border,#dce5f0)}.topik-lesson-number{font-size:14px;font-weight:800;color:#6589c9}.topik-lesson small{font-size:11px;color:var(--muted)}.topik-lesson h3{margin:4px 0 0;font-size:15px;overflow-wrap:anywhere}.topik-lesson button{min-height:44px;font-size:13px;padding:10px 14px}.topik-more{margin-top:12px}.topik-more summary{padding:17px;background:var(--soft,#eaf1ff);border-radius:16px;cursor:pointer;font-size:14px;font-weight:700}.topik-more[open] summary{margin-bottom:12px}:host([data-dark]) .learning-entry{background:linear-gradient(135deg,#1c304b,#193d43);border-color:#37536a}@media(max-width:599px){.learning-hero{gap:12px}.learning-logo{width:100px;height:100px}.learning-hero h1{font-size:24px}.learning-hero p{font-size:13px;line-height:1.6}.learning-entry{padding:18px;gap:14px;align-items:flex-start}.learning-entry .learning-logo{width:80px;height:80px}.learning-entry h2{font-size:18px}.learning-entry button{font-size:13px;min-height:44px}.learning-related{grid-template-columns:1fr}.arrival-next{padding:18px 14px}.arrival-next h2{font-size:20px}.arrival-next-link{padding:12px 10px;gap:10px}.arrival-next-link .related-art{width:42px;height:42px}.arrival-next li{gap:8px}.topik-entry-actions{display:grid;grid-template-columns:1fr}.topik-lesson{gap:8px;padding:13px 10px;grid-template-columns:24px minmax(0,1fr) auto}.topik-lesson h3{font-size:13px}.topik-lesson button{font-size:12px;padding:10px}.topik-course select{min-width:0;width:100%}}

/* PROFILE RING AND PROMOTIONS */
.profile-photo-column{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px}.avatar-upload.completion-avatar{--profile-progress:0%;padding:5px;border-radius:50%;background:conic-gradient(from 0deg,#427be7 var(--profile-progress),#d7e3f7 0);box-shadow:0 5px 18px #3875d719}.completion-avatar.is-complete{background:conic-gradient(#2aa98d var(--profile-progress),#d7e3f7 0)}.completion-avatar .profile-avatar{border:4px solid var(--panel,#fff);box-shadow:none}.completion-avatar .avatar-camera{width:24px;height:24px;right:1px;bottom:1px}.profile-completion-mini{display:flex;gap:3px;align-items:center;justify-content:center;height:35px}.profile-completion-mini [data-profile-percent]{font-size:14px;color:#376ad0;font-weight:800}.profile-info-button{display:grid;place-items:center;width:34px;min-height:34px;padding:5px;color:#587ba9;font-size:12px;font-weight:800;background:transparent;border:0}.profile-info-button:before{content:'';position:absolute;width:19px;height:19px;border:1px solid #a9bfdc;border-radius:50%}.profile-info-button:hover{background:#dfeafb;border-radius:50%}.profile-info-button:focus-visible{outline:2px solid #376ad0;border-radius:50%}.profile-progress-details p{font-size:14px;line-height:1.75}.profile-progress-details .profile-basis{color:var(--muted);font-size:12px}.profile-saved-line{display:grid;gap:7px;padding-top:14px;border-top:1px solid #d3e2f4;font-size:13px;line-height:1.6}.profile-saved-line strong{color:#285daa}.profile-missing{margin-top:17px}.profile-missing h3{font-size:15px;margin:0 0 10px}.profile-missing>div{display:flex;flex-wrap:wrap;gap:8px}.profile-missing-chip{min-height:44px;padding:9px 13px;border:1px solid #b5cef4;border-radius:14px;background:var(--panel,#fff);color:var(--ink,#143250);font-size:13px;font-weight:700}.profile-field-heading{display:flex;align-items:center;gap:12px;padding:18px 18px 0}.profile-field-heading h2{font-size:17px;margin:0}.profile-field-section .settings-fields{display:grid;gap:18px;padding:18px}.profile-field-section .settings-art{width:46px;height:46px;object-fit:contain}.profile-field-section .field{margin:0;min-width:0}.profile-field-section .profile-extra-note{font-size:13px;line-height:1.7;color:var(--muted);margin:0 18px}.profile-photo-options{border:1px solid var(--border,#dce5f0);border-radius:18px;padding:12px}.profile-photo-options summary{cursor:pointer;font-size:14px;font-weight:700;min-height:30px}.profile-settings .profile-save{position:sticky;bottom:94px;z-index:4;box-shadow:0 8px 25px #3567bb25}
.promotion-slot{display:grid;gap:18px;margin:22px 0;min-width:0;grid-column:1/-1}.promotion-slot:empty{display:none}.promotion-item{border:1px solid var(--border,#dce7f4);border-radius:24px;background:var(--panel,#fff);overflow:hidden;min-width:0}.promotion-gallery{display:grid;gap:12px;background:var(--soft,#f0f6ff);padding:12px}.promotion-gallery figure{margin:0;min-width:0}.promotion-gallery img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:16px}.promotion-pair{grid-template-columns:1fr 1fr;align-items:center}.promotion-gallery figcaption{font-size:11px;text-align:center;line-height:1.6;color:var(--muted);padding:8px 4px 0}.promotion-copy{padding:22px}.promotion-copy h2{font-size:23px;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere;word-break:keep-all}.promotion-copy>p{font-size:14px;line-height:1.8;color:var(--muted);white-space:pre-line;margin:0 0 16px}.promotion-cta{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;width:100%;min-height:48px;box-sizing:border-box}.promotion-copy details{margin-top:16px;font-size:12px;color:var(--muted);line-height:1.8}.promotion-copy summary{min-height:32px;cursor:pointer}.promotion-copy details p{white-space:pre-line}.promotion-compact .promotion-gallery img{max-height:230px}.promotion-compact .promotion-copy h2{font-size:19px}.profile-preferences>.promotion-slot{margin:0}.promotion-compact .promotion-copy{padding:18px}.promotion-compact .promotion-copy>p{font-size:13px}
.ad-admin{min-width:0}.ad-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.ad-toolbar button{min-height:44px}.ad-list{display:grid;gap:14px}.ad-list-card{display:flex;align-items:center;gap:16px;background:var(--panel,#fff);border:1px solid var(--border,#dce7f4);padding:18px;border-radius:20px;min-width:0}.ad-list-thumb{width:85px;height:70px;flex:none;display:grid;place-items:center;background:#edf4ff;border-radius:12px;overflow:hidden}.ad-list-thumb img{width:100%;height:100%;object-fit:contain}.ad-list-copy{flex:1;min-width:0}.ad-list-copy h2{font-size:17px;overflow-wrap:anywhere;margin:7px 0}.ad-list-copy p{font-size:13px;color:var(--muted);margin:0}.ad-list-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.ad-list-actions button{min-height:44px;font-size:13px;padding:10px 14px}.ad-editor{margin:0 0 24px;scroll-margin-top:16px}.ad-editor .section-head{margin-top:0}.ad-editor fieldset{margin:0;padding:0;border:0;min-width:0;display:grid;gap:24px}.ad-fields{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.ad-editor .field{margin:0;min-width:0}.ad-check{display:flex;align-items:center;gap:12px;align-self:center;font-size:14px;min-height:44px}.ad-check input{width:20px!important;height:20px!important;flex:none}.ad-editor .muted{font-size:12px;line-height:1.7}.ad-upload-area{padding:18px;border:1px dashed #abc3e6;border-radius:18px}.ad-upload-area h3{font-size:16px;margin:0 0 14px}.ad-thumbnails{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}.ad-thumbnails figure{width:140px;margin:0;display:grid;gap:4px}.ad-thumbnails img{width:100%;height:105px;object-fit:contain;border-radius:10px;background:#eaf1fb}.ad-thumbnails button{min-height:44px;font-size:12px}.ad-upload-button{display:inline-flex;position:relative;align-items:center;justify-content:center;min-height:44px;cursor:pointer;padding:10px 18px}.ad-upload-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.ad-upload-button:focus-within{outline:2px solid #376ad0}.ad-copy-fields{display:grid;gap:18px}.ad-editor textarea{resize:vertical}.ad-editor-actions{display:flex;gap:10px;justify-content:flex-end}.ad-editor-actions button{min-height:48px}.ad-error{color:#b52f3f;font-size:14px;white-space:pre-line;margin:0}.ad-error:empty{display:none}.ad-trash{margin-top:24px}.ad-trash summary{cursor:pointer;font-weight:700;min-height:44px}.ad-trash .ad-list-card{margin-top:12px}
@media(min-width:600px){.profile-field-section .settings-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-field-section .phone-field{grid-column:1/-1}}
@media(min-width:1200px){.app[data-page="home"]>main{grid-template-areas:'welcome office' 'audience office' 'services life' 'services sns'}.app[data-page="home"]>.promotion-slot{grid-column:1/-1}.promotion-item:not(.promotion-compact){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center}.promotion-copy{padding:28px}.profile-settings .profile-save{bottom:24px}}
@media(max-width:599px){.profile-field-heading{padding:16px 16px 0}.profile-settings .profile-save{bottom:calc(86px + env(safe-area-inset-bottom,0px))}.profile-identity{gap:13px!important}.profile-identity h2{font-size:19px!important}.promotion-copy{padding:20px}.promotion-copy h2{font-size:21px}.ad-fields{grid-template-columns:1fr}.ad-list-card{display:grid;grid-template-columns:62px minmax(0,1fr);padding:16px;gap:12px}.ad-list-thumb{width:62px;height:64px}.ad-list-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ad-list-actions button{padding:10px 6px}.ad-editor-actions{display:grid;grid-template-columns:1fr 1fr}.ad-toolbar button{flex:1;font-size:12px;padding:10px 8px}.ad-thumbnails figure{width:115px}.ad-upload-area{padding:14px}}
:host([data-dark]) .profile-completion-mini [data-profile-percent],:host([data-dark]) .profile-info-button,:host([data-dark]) .profile-saved-line strong{color:#a2c5ff}:host([data-dark]) .completion-avatar{background:conic-gradient(#82afff var(--profile-progress),#455874 0)}:host([data-dark]) .promotion-item,:host([data-dark]) .ad-list-card{background:#1e293b;border-color:#3d5270}:host([data-dark]) .promotion-gallery,:host([data-dark]) .ad-list-thumb{background:#283950}

.ad-editor input:not([type=checkbox]):not([type=file]),.ad-editor select,.ad-editor textarea{box-sizing:border-box;width:100%;min-width:0;min-height:50px;border:1px solid var(--border,#d5e1f1);border-radius:14px;background:var(--panel,#fff);color:var(--ink,#143250);padding:12px 14px;font:inherit;font-size:15px}.ad-editor input[type=datetime-local]{font-size:14px}.promotion-gallery img{aspect-ratio:3/2}.ad-editor .field>span{font-size:13px;font-weight:700;margin-bottom:8px}:host([data-dark]) .ad-editor select,:host([data-dark]) .ad-editor textarea{background:#233249;color:#eef5ff;border-color:#476080}

/* Shared phone fields: labels may wrap; inputs always share a baseline. */
.app .phone-parts,.flow .phone-parts,.phone-parts{grid-template-columns:clamp(84px,28%,112px) minmax(0,1fr);gap:10px;align-items:stretch}
.phone-parts>label{display:flex;flex-direction:column;justify-content:flex-end;align-self:stretch;gap:6px;min-width:0;margin:0}
.phone-parts>label>small{display:block;margin:0;line-height:1.45;overflow-wrap:anywhere;word-break:normal}
.app .phone-parts input,.flow .phone-parts input,.phone-parts input{box-sizing:border-box;display:block;flex:none;width:100%;min-width:0;height:54px;min-height:54px;margin:0;padding:12px 14px;font-size:16px;line-height:1.4;border-radius:16px}

/* TOPIK language selector and lesson cards */
.app .topik-hero{gap:16px;align-items:center;margin-bottom:20px}.topik-hero .page-head{padding:0}.topik-hero .learning-logo{width:100px;height:100px}.topik-course>h2{font-size:18px;line-height:1.55;margin:0 0 16px;letter-spacing:-.02em}.topik-language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topik-language-card{display:grid;grid-template-columns:minmax(0,1fr) 18px;grid-template-rows:auto auto;gap:5px 6px;align-content:center;text-align:start;min-width:0;min-height:74px;border:1px solid #dde7f5;border-radius:17px;padding:12px 13px;background:var(--panel,#fff);color:var(--ink,#173352);transition:background .12s,border-color .12s;box-shadow:0 2px 5px #25569a04}.topik-language-name{min-width:0;font-size:14px;font-weight:750;line-height:1.65;overflow-wrap:anywhere}.topik-language-card>small{grid-column:1/-1;font-size:11px;line-height:1.5;margin:0;color:var(--muted)}.topik-language-check{width:17px;height:17px;border:1px solid #d8e3f2;border-radius:50%;align-self:center;display:grid;place-items:center}.topik-language-check svg{width:13px;height:13px;stroke-width:2.5}.topik-language-card[aria-pressed=true]{border-color:#467be0;background:#edf4ff;box-shadow:inset 0 0 0 1px #467be0;color:#285fc4}.topik-language-card[aria-pressed=true] .topik-language-check{background:#467be0;color:#fff;border-color:#467be0}.topik-language-card[aria-pressed=true]>small{color:#466ba8}.topik-language-card:hover{border-color:#89a9e7;background:#f2f7ff}.topik-course .muted{font-size:12px;line-height:1.75;margin:16px 0 0}.topik-course .topik-entry-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:18px}.topik-entry-actions>.primary{width:100%;padding:13px 16px;font-size:14px;min-height:50px;white-space:normal}.topik-entry-actions .text-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;font-size:12px;line-height:1.6;color:var(--muted)}.topik-entry-actions>.primary svg,.topik-play-button svg{width:18px;height:18px;fill:currentColor;stroke:none}
.topik-catalog{margin-top:28px}.topik-catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.topik-catalog-heading h2{font-size:23px;margin-top:3px;line-height:1.4}.topik-catalog-heading small{font-size:12px;color:var(--muted)}.topik-count{flex:none;font-size:12px;padding:7px 10px;border-radius:10px;background:#e9f0fc;color:#5373a2}.topik-lessons{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.topik-lesson{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;min-width:0;padding:18px;border-radius:20px;background:var(--panel,#fff);border:1px solid #e0e8f3}.topik-lesson-number{display:grid;place-items:center;width:44px;height:48px;font-size:18px;font-weight:750;letter-spacing:-.03em;border-radius:14px;background:linear-gradient(145deg,#eaf2ff,#e4f3f6);color:#547ac2}.topik-lesson-title{min-width:0}.topik-lesson small{font-size:11px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.topik-lesson h3{font-size:16px;line-height:1.55;margin:3px 0 0;overflow-wrap:anywhere}.topik-lesson .topik-play-button{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:11px 14px;border-radius:12px;background:#eef3fc;color:#4169b1;font-size:13px;font-weight:700;white-space:normal;text-align:center}.topik-lesson[data-selected=true]{border-color:#7c9fe9;background:#f7faff}.topik-lesson[data-selected=true] .topik-play-button{background:#467be0;color:white}.topik-more{margin-top:14px}.topik-more summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;min-height:52px;border:1px solid #dbe5f4;background:transparent;border-radius:16px;padding:15px 17px;font-size:13px;line-height:1.5;color:#4c6a99}.topik-more summary::-webkit-details-marker{display:none}.topik-more-chevron{font-size:21px;line-height:1;flex:none}.topik-more[open] .topik-more-chevron{transform:rotate(180deg)}.topik-more[open] summary{margin-bottom:14px}
.topik-player{padding:18px!important;border:1px solid #d6e4fb;border-radius:23px;overflow:hidden}.topik-player-heading{display:flex;gap:12px;align-items:center;margin-bottom:16px;min-width:0}.topik-player-heading>div{min-width:0}.topik-player-heading small{font-size:11px;color:var(--muted)}.topik-player h2{font-size:19px;line-height:1.5;overflow-wrap:anywhere;margin:3px 0 0}.topik-player-symbol{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:13px;background:#e9f1ff;color:#477be0}.topik-player-symbol svg{width:20px;height:20px;stroke-width:1.8}.topik-player iframe{display:block;width:100%;aspect-ratio:16/9;border-radius:16px;background:#152848}.topik-player a.topik-external{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;padding:13px 15px;min-height:46px;border:1px solid #e1e9f6;border-radius:13px;margin-top:14px;background:var(--panel,#fff);font-size:12px;line-height:1.6;color:var(--muted)}
@media(min-width:600px){.topik-language-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.topik-language-card{min-height:82px;padding:14px 16px}.topik-language-name{font-size:15px}.topik-lessons{grid-template-columns:repeat(2,minmax(0,1fr))}.topik-course .topik-entry-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.topik-player{padding:24px!important}}
@media(min-width:1200px){.topik-language-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.topik-language-card{min-height:86px}.topik-lessons{grid-template-columns:repeat(3,minmax(0,1fr))}.app .topik-course{padding:26px}.topik-course .topik-entry-actions{max-width:680px}.topik-hero .learning-logo{width:110px;height:110px}.topik-hero .page-head h1{font-size:32px}}
@media(max-width:359px){.app .topik-course{padding:16px}.topik-language-grid{gap:10px}.topik-language-card{padding:10px;column-gap:4px}.topik-language-name{font-size:13px}.topik-language-card>small{font-size:11px}.topik-language-check{width:15px;height:15px}.topik-hero .learning-logo{width:78px;height:78px}.topik-hero h1{font-size:22px}.topik-catalog-heading h2{font-size:21px}.topik-count{font-size:11px;padding:6px 8px}.topik-lesson{padding:16px}}
:host([data-dark]) .topik-language-card,:host([data-dark]) .topik-lesson{background:#23344d;border-color:#405674;color:#eef3ff}:host([data-dark]) .topik-language-card:hover,:host([data-dark]) .topik-language-card[aria-pressed=true]{background:#314e76;border-color:#95b9fc;color:white}:host([data-dark]) .topik-language-card[aria-pressed=true]>small{color:#c2d9ff}:host([data-dark]) .topik-count,:host([data-dark]) .topik-lesson-number,:host([data-dark]) .topik-lesson .topik-play-button,:host([data-dark]) .topik-player-symbol{background:#2f496d;color:#ccdeff}:host([data-dark]) .topik-lesson[data-selected=true]{border-color:#9abfff;background:#283e5e}:host([data-dark]) .topik-lesson[data-selected=true] .topik-play-button{background:#547fca;color:white}:host([data-dark]) .topik-more summary,:host([data-dark]) .topik-player a.topik-external{color:#ccdeff;border-color:#405674}
@media(prefers-reduced-motion:reduce){.topik-language-card{transition:none}}

.email-verification-callout{padding:18px;border:1px solid #e8c98b;border-radius:20px;background:linear-gradient(130deg,#fff7e7,#fffaf0);display:grid;gap:14px;color:#684e26}.email-verification-callout strong{font-size:17px}.email-verification-callout p{font-size:13px;line-height:1.75;margin-top:7px}.email-verification-callout button{font-size:14px;min-height:46px}.email-verified{font-size:13px;color:#218568;padding:0 4px}:host([data-dark]) .email-verification-callout{background:#3b3426;color:#f9e4be;border-color:#796448}

/* Job applicant age and gender: shared by individual matching requests. */
.job-age-field{margin-top:18px;gap:10px}.job-age-field>span{font-size:15px;font-weight:750}.job-age-entry{display:flex;align-items:center;gap:12px;padding:12px 16px;min-width:0;border:1px solid #d6e4f8;border-radius:20px;background:linear-gradient(115deg,#fff,#f4f9ff);box-shadow:0 4px 14px #477be008}.job-age-art{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:14px;background:#eaf3ff;color:#5988ce}.job-age-art svg{width:24px;height:24px;stroke-width:2}.job-age-entry input[type=number]{border:0;background:transparent;box-shadow:none;flex:1;max-width:none;min-width:0;width:100%;height:52px;min-height:52px;margin:0;padding:0;font-size:28px;font-weight:750;line-height:1.2;color:var(--ink);appearance:textfield}.job-age-entry input::-webkit-inner-spin-button,.job-age-entry input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.job-age-entry input:focus-visible{outline:none}.job-age-entry:focus-within{border-color:#6492e9;box-shadow:0 0 0 3px #dce9ff}.job-age-unit{flex:none;font-size:14px;color:var(--muted);padding-left:6px}.job-age-field>small{font-size:12px;line-height:1.6;padding:0 4px}.job-gender-field{border:0;padding:0;margin:18px 0 0;min-width:0}.job-gender-field legend{padding:0;font-size:15px;font-weight:750;margin-bottom:12px;color:var(--ink)}.job-gender-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.job-gender-option{display:grid;grid-template-rows:56px auto;align-content:start;justify-items:center;gap:9px;position:relative;min-width:0;min-height:116px;padding:16px 8px 12px;border:1px solid #dce6f5;border-radius:19px;background:var(--panel,#fff);cursor:pointer;text-align:center}.job-gender-option input[type=radio]{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;margin:0;cursor:pointer}.job-gender-option img{width:56px;height:56px;object-fit:contain;pointer-events:none}.job-gender-option strong{font-size:13px;line-height:1.55;overflow-wrap:anywhere;word-break:normal;pointer-events:none;color:var(--ink)}.job-gender-mark{position:absolute;right:8px;top:8px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#477be0;color:white;font-size:11px;font-weight:800;opacity:0;pointer-events:none}.job-gender-option:has(input:checked){background:#f0f6ff;border-color:#6a94e5;box-shadow:inset 0 0 0 1px #6a94e5}.job-gender-option:has(input:checked) .job-gender-mark{opacity:1}.job-gender-option:focus-within{outline:3px solid #b7d0ff;outline-offset:2px}.job-demographic-summary h3{font-size:18px;margin-bottom:14px}.job-demographic-summary>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.job-demographic-summary p{background:#f0f6ff;border-radius:16px;padding:14px;min-width:0}.job-demographic-summary small{display:block;font-size:12px;line-height:1.5;margin-bottom:6px}.job-demographic-summary strong{display:block;font-size:17px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:359px){.job-gender-options{gap:8px}.job-gender-option{padding:14px 6px 12px}.job-gender-option strong{font-size:12px}.job-age-entry{padding:12px;gap:10px}}
:host([data-dark]) .job-age-entry,:host([data-dark]) .job-gender-option{background:#24364f;border-color:#486381}:host([data-dark]) .job-age-art,:host([data-dark]) .job-demographic-summary p{background:#304d75;color:#c4ddff}:host([data-dark]) .job-gender-option:has(input:checked){background:#334c72;border-color:#a4c4ff;box-shadow:inset 0 0 0 1px #a4c4ff}

.job-gender-options{grid-template-columns:repeat(2,minmax(0,1fr))}.job-gender-option{min-height:120px}.job-gender-option strong{font-size:14px}

.job-required-badge{display:inline-block;margin-left:5px;padding:3px 7px;border-radius:7px;background:#e8f0ff;color:#3766b0;font-size:11px!important;font-weight:750!important;line-height:1.35;vertical-align:middle}:host([data-dark]) .job-required-badge{background:#35527b;color:#c8ddff}

/* Request notifications and weekly visit reservations */
.notification-bell{position:relative;flex:none}.notification-bell svg{width:23px;height:23px}.notification-count{position:absolute;top:3px;right:0;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:20px;background:#e65363;color:white;font-size:10px;font-weight:800;border:2px solid var(--panel,#fff)}.notification-count[hidden],.notification-dot[hidden]{display:none!important}.notification-items{display:grid;gap:12px;margin-top:20px}.notification-item{display:flex;align-items:flex-start;gap:14px;text-align:left;border:1px solid #e0e8f4;background:var(--panel,#fff);border-radius:21px;padding:18px;width:100%;min-width:0}.notification-item.unread{border-color:#b5cefb;background:#f5f9ff}.notification-art{width:42px;height:42px;object-fit:contain;flex:none}.notification-copy{flex:1;min-width:0}.notification-copy>small{font-size:11px;line-height:1.6}.notification-copy>strong{display:block;font-size:16px;margin:5px 0}.notification-copy p{font-size:13px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-line}.notification-copy time{display:block;font-size:11px;color:var(--muted);margin-top:9px}.notification-dot{display:block;width:8px;height:8px;flex:none;border-radius:50%;background:#e65363;margin-top:6px}.request-response-badge{display:inline-block!important;background:#edf2fb;border-radius:7px;padding:4px 7px;font-size:10px!important;color:#627b9e;margin-top:6px!important;max-width:100%;white-space:normal}.request-response-badge.new{background:#fff0f1;color:#bb3e50;font-weight:750}.request-visit-date{display:block;font-size:11px!important;line-height:1.6;color:#346abb!important;margin-top:5px!important}
.job-visit-field{border:1px solid #dce7f7;min-width:0;gap:16px;margin:0 0 20px}.job-visit-field legend{padding:0 8px;font-size:16px;font-weight:750;color:var(--ink)}.visit-fixed{display:flex;align-items:center;gap:12px}.visit-fixed>span{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:14px;background:#e8f1ff;color:#4378d4}.visit-fixed strong{font-size:16px;line-height:1.6}.visit-fixed p{font-size:12px;line-height:1.7;color:var(--muted);margin:3px 0 0}.visit-hint{font-size:13px;line-height:1.7;color:var(--muted)}.visit-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visit-option{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:80px;min-width:0;padding:13px;border:1px solid #dce6f5;border-radius:16px;background:var(--panel,#fff);text-align:left}.visit-option strong{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.visit-option small{font-size:11px;color:var(--muted)}.visit-option.active{background:#edf4ff;border-color:#588be2;box-shadow:inset 0 0 0 1px #588be2;color:#3168c5}.job-visit-field select,.dialog select{width:100%;min-width:0;min-height:50px;padding:12px;border:1px solid #d5e3f5;border-radius:14px;color:var(--ink);background:var(--panel,#fff);font-size:14px}.visit-place{font-size:12px;line-height:1.8;color:var(--muted);white-space:pre-line}.visit-summary{margin-bottom:20px;background:linear-gradient(130deg,#edf5ff,#f0faf8);border:1px solid #d5e7f8}.visit-summary h2{font-size:23px;line-height:1.5;margin-top:16px;overflow-wrap:anywhere}.visit-summary .visit-time{font-size:19px;font-weight:800;color:#346dc6;margin:5px 0 14px}.visit-summary>button{margin-top:14px;font-size:13px;min-height:44px}
.visit-roster-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:22px}.visit-roster-toolbar label{flex:1;min-width:150px}.visit-roster-toolbar button{min-height:44px;font-size:13px}.visit-roster-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.visit-roster-date{display:flex;flex-direction:column;gap:7px;align-items:flex-start;padding:18px;border:1px solid #dce6f5;border-radius:20px;background:var(--panel,#fff);text-align:left;min-width:0}.visit-roster-date>span{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.visit-roster-date>strong{font-size:30px;line-height:1.2;color:#386bc6}.visit-roster-date>small{font-size:11px;line-height:1.6}.visit-roster-date.active{background:#eef5ff;border-color:#6492e2;box-shadow:inset 0 0 0 1px #6492e2}.visit-roster-list{margin-bottom:22px}.visit-roster-list h2{font-size:23px;line-height:1.5}.visit-roster-list>p{font-size:13px;margin:12px 0 18px;line-height:1.7}.visit-person{border-top:1px solid #e2eaf6;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.visit-person>div{min-width:0}.visit-person strong{font-size:15px;overflow-wrap:anywhere}.visit-person p{font-size:13px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.visit-person button{font-size:12px;min-height:44px;padding:9px 12px}.visit-person>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:599px){.top:has(.notification-bell){gap:8px}.top:has(.notification-bell) .brand{width:148px;min-width:116px;flex-shrink:1}.top:has(.notification-bell) .top-tools{gap:4px}.top:has(.notification-bell) .language-button{max-width:86px;padding:8px;font-size:11px}.top:has(.notification-bell) .icon-button{width:40px;min-width:40px;height:44px}.notification-item{padding:16px;gap:11px}.notification-art{width:36px;height:36px}.visit-roster-toolbar button{padding:10px 12px}.visit-person{align-items:flex-start;flex-direction:column}.visit-person>div:last-child{justify-content:flex-start}.job-visit-field.panel{padding:18px 14px}.visit-summary h2{font-size:21px}}
@media(min-width:768px){.visit-options{grid-template-columns:repeat(3,minmax(0,1fr))}.visit-roster-dates{grid-template-columns:repeat(3,minmax(0,1fr))}}
:host([data-dark]) .notification-item,:host([data-dark]) .visit-option,:host([data-dark]) .visit-roster-date,:host([data-dark]) .job-visit-field select,:host([data-dark]) .dialog select{background:#24364d;border-color:#415a79;color:var(--ink)}:host([data-dark]) .notification-item.unread,:host([data-dark]) .visit-option.active,:host([data-dark]) .visit-roster-date.active,:host([data-dark]) .visit-summary{background:#2b4467;border-color:#7da7eb}:host([data-dark]) .visit-fixed>span,:host([data-dark]) .request-response-badge{background:#36547e;color:#d1e1fd}:host([data-dark]) .visit-summary .visit-time,:host([data-dark]) .visit-roster-date>strong,:host([data-dark]) .request-visit-date{color:#bad4ff!important}

.matching-visit-info{margin-bottom:18px;padding:12px 15px;border:1px solid #dce7f8;border-radius:17px;background:var(--panel,#fff);color:var(--muted);font-size:12px;line-height:1.7}.matching-visit-info summary{cursor:pointer;min-height:30px;font-weight:650}.matching-visit-info .matching-intro{margin-top:12px}:host([data-dark]) .matching-visit-info{background:#24364d;border-color:#415a79}

.visit-date-picker{border-radius:16px;background:#f6f9ff;border:1px solid #dce7f8;padding:0 12px 12px}.visit-date-picker summary{padding:14px 0 3px;min-height:48px;font-size:13px;line-height:1.7;cursor:pointer;color:#3769b6;font-weight:700}.visit-date-picker[open] summary{margin-bottom:12px}.visit-date-picker .field{margin-top:14px}:host([data-dark]) .visit-date-picker{background:#263e5e;border-color:#476386}:host([data-dark]) .visit-date-picker summary{color:#c5ddff}

.request-update-alert{margin-bottom:18px;padding:12px;border:1px solid #b9d0f8}.request-update-alert button{font-size:13px;min-height:44px}

/* Completion badge sits at two o'clock on the profile portrait. */
.profile-photo-column{position:relative;margin-inline-end:30px}.profile-completion-mini{height:27px}.profile-completion-mini [data-profile-percent]{position:absolute;top:-12px;left:calc(100% - 14px);right:auto;z-index:2;display:grid;place-items:center;min-width:48px;height:30px;padding:0 8px;box-sizing:border-box;border:3px solid var(--panel,#fff);border-radius:18px;background:#346bda;color:#fff;font-size:14px;font-weight:850;line-height:1;box-shadow:0 3px 10px #244e9930;font-variant-numeric:tabular-nums;pointer-events:none}.profile-photo-column:has(.is-complete) [data-profile-percent]{background:#218d73}:host([data-dark]) .profile-completion-mini [data-profile-percent]{border-color:#24364d;color:#fff}

/* Profile completion help belongs to the identity card, not the portrait. */
.profile-identity{position:relative}.profile-identity>.profile-info-button{position:absolute;top:4px;right:4px;width:44px;min-height:44px;border-radius:50%;z-index:3}.profile-identity>.profile-info-button:before{width:19px;height:19px}.profile-completion-mini{height:0}.profile-identity h2{padding-inline-end:22px}.profile-identity>div:not(.profile-photo-column){flex:1}

/* Native date entry and prominent, tactile application actions. */
.job-birth-field .job-age-entry{padding:10px 12px;gap:10px}.job-birth-field input[type=date]{flex:1;min-width:0;width:100%;min-height:52px;border:0;padding:8px 0;background:transparent;color:var(--ink);font-size:17px;font-weight:700;color-scheme:light}.job-birth-field input[type=date]::-webkit-date-and-time-value{text-align:start;min-height:24px}.job-birth-field #job-age-preview:empty{display:none}.job-birth-field #job-age-preview{color:var(--blue);font-weight:750;font-size:14px}.job-demographic-summary>div{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}:host([data-dark]) .job-birth-field input[type=date]{color-scheme:dark}
/* Form actions reuse the site's primary button; feedback is shared by all action buttons. */
.primary,.secondary,.danger{transition:transform .1s ease,filter .12s ease;line-height:1.5;white-space:normal;max-width:100%}
@media(hover:hover){.primary:not(:disabled):hover,.secondary:not(:disabled):hover,.danger:not(:disabled):hover{filter:brightness(.97)}}
.primary:not(:disabled):active,.secondary:not(:disabled):active,.danger:not(:disabled):active{transform:scale(.985);filter:brightness(.93)}
.entry-controls{align-items:center;gap:12px;padding:8px 0 12px}.entry-controls>small{flex:1;min-width:0;line-height:1.5}
.form-action{position:relative;min-width:112px;overflow:hidden}.form-action-label{min-width:0;overflow-wrap:anywhere}
.form-action-spinner{display:none;width:18px;height:18px;flex:none;border:2px solid #ffffff60;border-top-color:#fff;border-radius:50%;animation:form-working .7s linear infinite}
.form-action.is-working .form-action-spinner{display:block}.form-action.is-working{opacity:.8;cursor:wait}
.flow-footer>div{gap:12px}.flow-footer .form-action{flex:1}
.action-needs-input{outline:2px solid #e88c82;outline-offset:5px;border-radius:14px}.action-arrived{scroll-margin-top:24px}
@keyframes form-working{to{transform:rotate(360deg)}}
@media(max-width:359px){.form-action{min-width:96px}.job-birth-field .job-age-art{width:32px;height:36px}.job-birth-field input[type=date]{font-size:16px}}
@media(prefers-reduced-motion:reduce){.primary,.secondary,.danger{transition:none}.primary:not(:disabled):active,.secondary:not(:disabled):active,.danger:not(:disabled):active{transform:none}.form-action-spinner{animation:none}}
:host .employer-guide-entry{display:flex;align-items:center;gap:14px;margin:16px 0 24px;padding:20px;border:1px solid var(--border,#dce6f6);border-radius:24px;background:linear-gradient(130deg,var(--panel,#fff),var(--soft,#eaf1ff));min-width:0}
:host .employer-guide-entry>div{flex:1;min-width:0}:host .employer-guide-entry strong{font-size:18px;line-height:1.4}:host .employer-guide-entry p{margin:6px 0 0;font-size:13px;color:var(--muted);line-height:1.6}:host .employer-guide-entry>button{flex-shrink:0}
:host .employer-guide-icon{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;background:linear-gradient(145deg,#fff,#dce9ff);color:#346be4;border:1px solid #d1e1fb;border-radius:19px;box-shadow:inset 0 2px 0 #fff,0 5px 12px #4778d512}
:host .employer-guide-icon svg{width:48px;height:48px}:host .employer-guide-icon.student{color:#5181cf}:host .employer-guide-icon.report{color:#447a9e}:host .employer-guide-icon.care{color:#329288}:host .employer-guide-icon.reward{color:#a27317;background:linear-gradient(145deg,#fff7d7,#edf3ff)}
:host .employer-guide{max-width:1120px;margin:auto}:host .employer-guide-hero{display:flex;align-items:center;gap:20px;padding:24px;border-radius:26px;background:var(--soft,#eaf1ff);margin-bottom:20px}:host .employer-guide-hero>div{min-width:0}:host .employer-guide-hero .page-head{margin:0}:host .employer-guide-hero h1{font-size:28px;line-height:1.3}:host .employer-guide-hero p{margin-bottom:0}
:host .employer-guide-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px}:host .employer-guide-actions>button{min-height:48px;white-space:normal;line-height:1.5}
:host .employer-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}:host .employer-guide-section{display:flex;gap:16px;padding:22px;border-radius:24px;background:var(--panel,#fff);border:1px solid var(--border,#dce6f6);min-width:0}:host .employer-guide-section>div{min-width:0}:host .employer-guide-section h2,:host .employer-guide-rewards h2{font-size:21px;line-height:1.45;margin:0 0 14px}:host .employer-guide p{font-size:14px;line-height:1.85;overflow-wrap:anywhere;margin:10px 0 0}:host .employer-guide-section .employer-guide-icon{width:48px;height:48px;flex-basis:48px;border-radius:15px}:host .employer-guide-section svg{width:36px;height:36px}
:host .employer-guide-rewards{position:relative;background:var(--panel,#fff);border:1px solid var(--border,#dce6f6);border-radius:26px;padding:26px;margin:20px 0}:host .employer-guide-rewards>.employer-guide-icon{float:right;margin:0 0 10px 15px}:host .employer-guide-rewards h3{font-size:18px;line-height:1.5;margin:22px 0 8px}:host .employer-reward-note{color:var(--muted)}:host .employer-cashback{background:var(--soft,#eaf1ff);border-radius:18px;padding:16px;margin-top:20px;clear:both}:host .employer-cashback h3{margin:0}
:host .employer-rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}:host .employer-rate{border:1px solid var(--border,#dce6f6);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0}:host .employer-rate strong{font-size:14px;line-height:1.5}:host .employer-rate b{font-size:15px;line-height:1.5;color:var(--accent,#4778d5)}:host .employer-rate small{color:var(--muted);line-height:1.5}
:host .employer-wallet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}:host .employer-wallet>div{padding:18px;border-radius:18px;background:var(--soft,#eaf1ff);min-width:0}:host .employer-wallet small{display:block;line-height:1.5;color:var(--muted)}:host .employer-wallet strong{font-size:24px;display:block;margin-top:8px;overflow-wrap:anywhere}:host .employer-guide-sources{padding:18px;color:var(--muted);font-size:12px;line-height:1.8}:host .employer-guide-sources ul{margin:8px 0;padding-left:20px}
@media(max-width:700px){:host .employer-guide-entry{display:grid;grid-template-columns:48px minmax(0,1fr);padding:16px;gap:12px}:host .employer-guide-entry>.employer-guide-icon{width:48px;height:48px;flex-basis:48px;border-radius:15px}:host .employer-guide-entry svg{width:36px;height:36px}:host .employer-guide-entry>button{grid-column:1/-1;width:100%}:host .employer-guide-grid{grid-template-columns:1fr}:host .employer-guide-section{padding:18px;gap:12px}:host .employer-guide-hero{padding:18px;gap:12px}:host .employer-guide-hero h1{font-size:23px}:host .employer-guide-hero>.employer-guide-icon{width:52px;height:52px;flex-basis:52px}:host .employer-guide-rewards{padding:20px}:host .employer-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}:host .employer-wallet strong{font-size:21px}}
@media(max-width:350px){:host .employer-rate-grid{grid-template-columns:1fr}:host .employer-guide-section{display:block}:host .employer-guide-section .employer-guide-icon{margin-bottom:14px}:host .employer-guide-actions>button{width:100%}:host .employer-wallet{grid-template-columns:1fr}}
.pickup-fare-notice{padding:20px;border-radius:20px;border:1px solid var(--line,#dce6f6);background:var(--soft,#eaf1ff);margin:12px 0 18px;min-width:0}.pickup-fare-notice>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.pickup-fare-notice span{font-size:14px;line-height:1.5}.pickup-fare-notice strong{font-size:24px;line-height:1.3;color:var(--blue,#4879db)}.pickup-fare-notice p{font-size:14px;line-height:1.75;margin:12px 0 8px;overflow-wrap:anywhere}.pickup-fare-notice small{font-size:12px;color:var(--muted);line-height:1.6;display:block}@media(max-width:350px){.pickup-fare-notice{padding:16px}.pickup-fare-notice strong{font-size:22px}}
.airport-mode .choice-grid{grid-template-columns:1fr}.airport-mode .choice{padding:16px;text-align:left;min-height:64px}.airport-mode .choice strong{font-size:15px;line-height:1.6}.airport-mode .choice small{font-size:12px;line-height:1.6}.airport-service-summary{background:var(--soft,#eaf1ff);border-radius:14px;padding:14px;font-weight:700;line-height:1.7}.airport-booth-guide p{font-size:14px;line-height:1.75}.airport-booth-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.airport-booth-photos figure{margin:0;min-width:0;border:1px solid var(--line,#e3eaf4);background:var(--panel,#fff);border-radius:18px;overflow:hidden}.airport-booth-photos img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#edf2fa}.airport-booth-photos figcaption{padding:12px;font-size:13px;line-height:1.6}.airport-booth-guide small{display:block;color:var(--muted);font-size:11px}.airport-guide-request p{font-size:14px;line-height:1.8}.airport-sms-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.airport-sms-actions>a{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px;padding:12px 18px;border-radius:16px}.airport-sms-actions>button{min-height:48px}@media(max-width:600px){.airport-booth-photos{grid-template-columns:1fr}.airport-sms-actions>*{width:100%;box-sizing:border-box}}

/* Compact management shortcuts keep independent feature links in one region. */
.app[data-page=admin]>main{align-content:start}.admin-shortcuts{padding:18px;border:1px solid var(--line);border-radius:24px;background:var(--panel,#fff);min-width:0}.admin-shortcuts h2{font-size:17px;margin:0 0 14px}.admin-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-shortcut{display:flex;gap:10px;align-items:center;text-align:left;min-height:72px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--bg);font-size:13px;font-weight:650;line-height:1.5;min-width:0}.admin-shortcut>span:last-child{min-width:0;word-break:keep-all;overflow-wrap:anywhere}.admin-shortcut-icon{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--soft);color:var(--blue)}.admin-shortcut-icon svg{width:20px;height:20px}.admin-shortcut.accent{background:var(--blue);color:#fff;border-color:transparent}.admin-shortcut.accent .admin-shortcut-icon{background:#ffffff22;color:#fff}.admin-shortcut:active{transform:scale(.985)}.finance-calculated{padding:12px;border-radius:12px;background:var(--soft);font-size:13px}.ops-finance label,.ops-finance input{min-width:0}.ops-finance input[type=number]{max-width:none}.ops-finance input{width:100%}
@media(max-width:599px){.app[data-page=admin]>main{gap:16px}.admin-shortcuts{padding:16px}.admin-shortcut{gap:8px;padding:11px 10px;min-height:74px}.admin-shortcut-icon{width:28px;height:28px}.admin-shortcut-grid{gap:8px}}
@media(max-width:359px){.admin-shortcut-grid{grid-template-columns:1fr}.admin-shortcut{min-height:58px}}
@media(min-width:768px){.admin-shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
:host([data-dark]) .admin-shortcuts{background:#1e293b;border-color:#3b4e67}:host([data-dark]) .admin-shortcut{background:#28374d;border-color:#3d5270}:host([data-dark]) .admin-shortcut.accent{background:var(--blue);color:#fff}
@media(prefers-reduced-motion:reduce){.admin-shortcut:active{transform:none}}

.booth-prebooking{display:grid;gap:12px;padding:16px;border-radius:18px;background:var(--soft);margin:12px 0}.booth-prebooking p{font-size:13px;line-height:1.7}.booth-common-notice{padding:14px;border-radius:16px;background:var(--soft);font-weight:650}.booth-arrival-steps{padding:18px;border:1px solid var(--line);border-radius:18px;margin:16px 0}.booth-arrival-steps strong{font-size:17px}.booth-arrival-steps p{margin-top:10px}.booth-location-list{display:grid;gap:18px}.booth-location-card{padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--panel,#fff);min-width:0}.booth-location-card h2{font-size:21px;margin-bottom:14px}.booth-location-key{display:grid;gap:6px;padding:14px;background:var(--soft);border-radius:15px;margin-bottom:16px}.booth-location-key strong{font-size:22px;color:var(--blue)}.booth-location-key span{font-size:13px;color:var(--muted)}.booth-map,.booth-real-photo{margin:16px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel,#fff)}.booth-map img{width:100%;height:auto;object-fit:contain}.booth-real-photo img{width:100%;height:auto;max-height:560px;object-fit:contain}.booth-map figcaption,.booth-real-photo figcaption{padding:10px 12px;font-size:12px;color:var(--muted)}.booth-number-note{font-size:12px!important;color:var(--muted);line-height:1.7}.booth-airport-nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.booth-airport-nav button{font-size:12px;min-height:44px;padding:10px 14px}.booth-booking-point{padding:15px;border-radius:16px;background:var(--soft);margin:12px 0}.booth-map-view{overflow:auto;max-height:60vh;overscroll-behavior:contain}.booth-map-view img{width:100%;max-width:none;height:auto}.booth-map-zoom{display:flex;gap:10px;justify-content:center;margin-top:14px}.booth-map-zoom button{width:54px;min-height:48px;font-size:22px}
@media(min-width:800px){.booth-location-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog .booth-location-list{grid-template-columns:1fr}.booth-location-card{padding:22px}.booth-prebooking{padding:18px}}
@media(max-width:359px){.booth-location-card{padding:14px}.booth-location-card h2{font-size:19px}.booth-location-key strong{font-size:20px}}
:host([data-dark]) .booth-location-card{background:#1e293b;border-color:#3b4e67}

.booth-preview{margin:0 0 18px;padding:14px;border:1px solid var(--line);border-radius:20px;background:var(--panel,#fff);min-width:0}.booth-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.booth-preview-heading h2{display:flex;gap:7px;align-items:center;font-size:16px;line-height:1.5;min-width:0}.booth-preview-heading h2 svg{width:18px;height:18px;color:var(--blue)}.booth-preview-heading button{font-size:11px;min-height:40px;white-space:normal;text-align:right;flex:none;max-width:44%;padding:5px}.booth-preview-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:6px;overscroll-behavior-x:contain}.booth-preview-card{flex:0 0 108px;display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:14px;background:var(--bg);overflow:hidden;scroll-snap-align:start;text-align:center;padding:0 0 8px;min-height:139px;gap:4px}.booth-preview-card img{width:100%;height:73px;object-fit:cover;background:#fff}.booth-preview-card.map-thumb img{object-fit:contain}.booth-preview-card strong{padding:2px 5px 0;font-size:11px;font-weight:650;line-height:1.4;min-height:32px;overflow-wrap:anywhere}.booth-preview-card>span{font-size:11px;font-weight:750;color:var(--blue)}.booth-preview-card:active{transform:scale(.98)}.booth-real-photo figcaption small{display:block;margin-top:4px;font-size:10px}.booth-airport-kind{font-size:13px!important;margin-bottom:12px}
@media(max-width:359px){.booth-preview{padding:12px}.booth-preview-heading h2{font-size:14px}.booth-preview-card{flex-basis:100px}}
:host([data-dark]) .booth-preview{background:#1e293b;border-color:#3b4e67}:host([data-dark]) .booth-preview-card{background:#28374d;border-color:#3d5270}
@media(prefers-reduced-motion:reduce){.booth-preview-card:active{transform:none}}

/* Decorative won coin; every amount remains the locale-formatted actual KRW value. */
.gold-money{display:inline-flex;align-items:center;gap:7px;max-width:100%;vertical-align:middle;color:#8f5c0e;font-weight:800;line-height:1.45;min-width:0;flex-wrap:wrap}.gold-money img{width:28px;height:28px;flex:none;object-fit:contain}.gold-money-number{min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.gold-money.small{font-size:inherit;gap:5px}.gold-money.small img{width:21px;height:21px}.gold-money.large{font-size:30px;gap:11px}.gold-money.large img{width:44px;height:44px}.gold-money.negative{color:#b44538}.benefit-cash{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:14px}.benefit-card>div:last-child{min-width:0}.app .wallet-metrics{gap:12px}.app .wallet-metrics>.cash-metric{background:#fffdf8;border:1px solid #ece3cf;border-radius:18px;padding:16px;min-width:0}.app .wallet-metrics>.cash-metric.available{grid-column:1/-1;background:linear-gradient(135deg,#fff9e9,#fff0ce);border-color:#ead49d;padding:20px}.cash-metric.available>small{color:#876836;font-weight:650}.app .wallet-metrics>.cash-metric.reserved{background:var(--soft,#eaf0fc);border-color:var(--line)}.cash-metric.reserved .gold-money{color:#63718c}.cash-metric.reserved .gold-money img{opacity:.72}.app .wallet-metrics strong{margin-top:7px}.app .wallet-metrics .gold-money:not(.large){font-size:clamp(16px,4.2vw,22px)}.gold-money-input{display:flex;align-items:center;gap:10px;border:1px solid #dfcc9e;border-radius:17px;padding-left:12px;background:var(--panel,#fff)}.gold-money-input img{width:32px;height:32px;flex:none;object-fit:contain}.gold-money-input input{flex:1;min-width:0;max-width:none;border:0;background:transparent;padding-left:0}.gold-money-input:focus-within{outline:2px solid var(--blue);outline-offset:3px}.app .employer-wallet .gold-money{font-size:clamp(18px,3vw,24px)}.ops-task .gold-money{font-size:inherit}.ops-task> b{min-width:0;text-align:right}.ops-task small .gold-money{gap:4px}.ops-task small .gold-money img{width:18px;height:18px}
@media(max-width:359px){.gold-money.large{font-size:26px;gap:8px}.gold-money.large img{width:38px;height:38px}.app .wallet-metrics>.cash-metric{padding:13px}.app .wallet-metrics>.cash-metric.available{padding:17px}.gold-money{gap:5px}.gold-money img{width:24px;height:24px}}
:host([data-dark]) .gold-money{color:#f4ce76}:host([data-dark]) .gold-money.negative{color:#ffa593}:host([data-dark]) .app .wallet-metrics>.cash-metric{background:#2f302b;border-color:#605639}:host([data-dark]) .app .wallet-metrics>.cash-metric.available{background:linear-gradient(135deg,#3c3424,#49391e);border-color:#907240}:host([data-dark]) .cash-metric.available>small{color:#edcf94}:host([data-dark]) .app .wallet-metrics>.cash-metric.reserved{background:#28374d;border-color:#3d5270}:host([data-dark]) .cash-metric.reserved .gold-money{color:#bacce9}:host([data-dark]) .gold-money-input{background:#24364d;border-color:#75613f}

.app .wallet-metrics>.cash-metric.paid{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.app .wallet-metrics>.cash-metric.paid strong{margin-top:0}.app .wallet-metrics>.cash-metric.paid>small{min-width:0}

/* Approved home composition: independent scenery ends across the floating office card. */
.app.home-themed{display:block!important;max-width:1180px;padding:0 20px calc(var(--bottom-space) + 28px)}
.app.home-themed>main{display:block!important;grid-template-areas:none!important;padding:0;min-width:0}
.home-scenery{position:relative;isolation:isolate;margin:0 -20px;padding:0 20px 16px;background:transparent}
.home-sky{position:absolute;inset:0 0 auto;width:100%;height:calc(100% - 72px);object-fit:cover;object-position:center bottom;z-index:-1;pointer-events:none;border-radius:0 0 24px 24px;mask-image:linear-gradient(#000 calc(100% - 8px),transparent);display:block}
.app.home-themed .top{position:relative;display:flex;height:68px;min-height:68px;margin:0;padding:0;border:0;background:transparent!important;box-shadow:none!important;gap:8px;z-index:3}
.app.home-themed .brand{width:156px;max-width:46%;min-width:0;padding:5px 0}.app.home-themed .brand img{width:100%;max-height:38px;filter:brightness(0) invert(1)}
.app.home-themed .top-tools{gap:5px;flex:none;min-width:0}.app.home-themed .top-tools .icon-button{width:34px;min-width:34px;height:38px;min-height:38px;color:white;background:#ffffff22;border:1px solid #ffffff50}
.app.home-themed .top-tools svg{width:18px;height:18px}.app.home-themed .language-button{min-height:38px;padding:6px 9px;color:white;background:#ffffff25;border:1px solid #ffffff50;font-size:11px;gap:5px;max-width:106px}.app.home-themed .language-button span{display:inline;max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app.home-themed .header-profile-photo{width:30px;height:30px}.app.home-themed .notification-count{box-shadow:0 0 0 2px #68acf0}
.home-greeting{text-align:center;margin:5px 0 28px;padding:0;min-width:0}.home-greeting h1{font-size:clamp(23px,6.8vw,29px);line-height:1.3;letter-spacing:-.7px;font-weight:900;color:#fff;margin:0;paint-order:stroke fill;-webkit-text-stroke:2.6px #315d87;text-shadow:0 3px 0 #315d87,0 4px 8px #26496d22}.home-greeting h1 span{display:block;overflow-wrap:break-word}.home-themed[lang=vi] .home-greeting h1,.home-themed[lang=mn] .home-greeting h1,.home-themed[lang=rw] .home-greeting h1{font-size:24px}
.app.home-themed .compact-office.home-office{position:relative;isolation:isolate;overflow:visible;padding:10px 12px!important;margin:0!important;min-height:116px;border-radius:17px;background:linear-gradient(115deg,#4185d8,#5b9fe5);border:1px solid #76a8e7;color:white;box-shadow:0 8px 18px #406f9f19}
.home-office .compact-office-heading{display:block;width:64%;position:relative;min-height:19px;padding:0;z-index:2}.home-office .compact-hikorea{position:absolute;top:0;left:0;width:42px;height:18px;padding:0;background:transparent!important;border-radius:0!important;filter:drop-shadow(0 0 .6px #ffffffb3)}
.home-office .compact-office-heading h2{font-size:10px!important;color:#e6f2ff!important;line-height:1.5;margin:0 0 4px!important;padding-left:48px;min-height:18px}.home-office .compact-office-heading strong{font-size:14px;line-height:1.4;color:white;letter-spacing:-.4px;overflow-wrap:normal;word-break:keep-all}
.home-office .compact-office-address{font-size:10.5px!important;line-height:1.5!important;color:#e9f4ff!important;margin:4px 0 8px!important;padding-right:34%;position:relative;z-index:2}
.home-office-mascot{position:absolute;right:0;top:-19px;width:143px;height:117px;overflow:hidden;pointer-events:none;z-index:1;border-radius:0 0 14px 0}.home-office-mascot img{display:block;width:143px;height:auto;max-width:none}
.home-office .compact-office-heading .text-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#2f6bb3;font-weight:700;min-height:38px;max-width:100%;padding:7px 10px;margin-top:10px;font-size:11px;border-radius:15px;line-height:1.45}
.home-office .compact-office-actions{position:relative;z-index:3;display:flex;gap:6px;align-items:stretch;margin-top:4px}
.home-office .office-icon-action,.home-office .office-edit-mini{width:36px;min-width:36px;min-height:38px;height:auto;padding:7px;border-radius:12px;color:#fff;background:#ffffff22;box-shadow:none;border:1px solid #ffffff4a;flex:none}
.home-office .office-icon-action img,.home-office .office-edit-mini img{width:21px;height:21px;filter:brightness(0) invert(1)}
.home-office .compact-reserve{background:#fff;color:#2c6db7;border-radius:13px;min-height:38px;font-size:11px;line-height:1.4;padding:8px 10px;box-shadow:none;flex:1;min-width:0;font-weight:750}
.home-office .compact-relocation{font-size:10px;line-height:1.6;color:#e8f3ff;position:relative;z-index:3;margin-top:8px}.home-office>small{display:block;padding-right:35%;font-size:11px;color:#e5f0ff;position:relative;z-index:2;margin-top:6px}
.app.home-themed .home-services,.home-support{background:#fff;border:1px solid #eef2f7;padding:18px 15px;border-radius:20px;margin:12px 0 0;min-width:0}
.home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;min-width:0}.home-section-heading h2,.home-support>h2{font-size:18px;line-height:1.4;font-weight:850;letter-spacing:-.5px;color:var(--ink);margin:0}.home-all-link{display:inline-flex;align-items:center;gap:5px;background:none;font-size:11px;color:#6c869b;min-height:38px;padding:0;flex-shrink:0;max-width:40%;line-height:1.4}.home-all-link strong{font-size:11px;font-weight:600}.home-all-link:after{content:'›';font-size:17px}
.app.home-themed .audiences{display:flex!important;grid-area:auto!important;max-width:none!important;margin:0 0 13px!important;padding:3px;background:#f0f5fb;border-radius:17px}.app.home-themed .audiences button{padding:7px 8px;min-height:35px;font-size:12px;line-height:1.4;min-width:0}
.home-primary-grid{display:grid;grid-template-columns:repeat(var(--home-columns,4),minmax(0,1fr));gap:9px}
.app.home-themed .home-primary-grid .service{border:0;box-shadow:none;border-radius:0;background:transparent;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:7px;padding:0!important;min-height:96px;min-width:0;text-align:center}
.home-primary-art{display:grid;place-items:center;aspect-ratio:1;width:100%;border-radius:16px;background:#f0f7fc}.home-primary-art .service-art{width:83%!important;height:83%!important;max-width:78px;max-height:78px;object-fit:contain;margin:0!important}
.home-primary-grid .service strong{font-size:11px!important;line-height:1.45!important;letter-spacing:-.3px;word-break:normal!important;overflow-wrap:break-word;max-width:100%;color:var(--ink)}.home-primary-grid .service small{display:none!important}
.home-support{padding-bottom:13px}.home-support>h2{margin-bottom:13px}.home-support-rail{display:grid;grid-auto-flow:column;grid-auto-columns:88%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 7px;min-width:0}.home-support-rail::-webkit-scrollbar{display:none}
.home-support-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid #eaf0f6;border-radius:18px;box-shadow:0 4px 10px #3858760b;padding:13px 11px;min-height:88px;min-width:0;text-align:start;scroll-snap-align:start;color:var(--ink)}.home-support-card .service-art{width:48px!important;height:48px!important;object-fit:contain;margin:0}.home-support-card strong{font-size:13px;line-height:1.5;overflow-wrap:break-word;word-break:normal}.home-card-cta{border-radius:16px;background:#4eaa8a;color:white;padding:7px 8px;max-width:88px;font-size:10px;line-height:1.45;text-align:center;font-weight:700}
.app.home-themed .home-quick-guides{grid-area:auto!important;padding:0!important;background:none!important;border:0!important;margin:15px 0!important}.home-quick-guides .section-head{margin:0 0 10px}.home-quick-guides h2{font-size:17px;line-height:1.4;margin:0}
.app.home-themed .home-quick-guides .shortcuts-grid{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:30%;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:3px;min-width:0}
.app.home-themed .home-color-guide{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;min-width:0;min-height:140px;border:0!important;border-radius:16px;padding:13px 11px 0;background:linear-gradient(130deg,#659de0,#a0cafa)!important;color:#fff!important;overflow:hidden;scroll-snap-align:start;text-align:start;gap:4px}.app.home-themed .home-color-guide:nth-child(2){background:linear-gradient(130deg,#4da8d3,#86d2ed)!important}.app.home-themed .home-color-guide:nth-child(3){background:linear-gradient(130deg,#eeaa59,#f5cd7b)!important}.app.home-themed .home-color-guide:nth-child(4){background:linear-gradient(130deg,#63b89b,#a1d6b6)!important}
.home-color-guide strong{font-size:12px!important;line-height:1.55;word-break:normal!important;overflow-wrap:break-word;color:#fff}.home-color-guide img{width:86px!important;height:86px!important;object-fit:contain;align-self:flex-end;margin:0 -10px -13px 0!important}
.app.home-themed .desktop-nav{grid-column:auto!important;grid-row:auto!important;position:static;display:none}.app.home-themed .sns-strip,.app.home-themed .home-install-card{margin:15px 0}.home-themed .home-staff-link{margin:16px 0}
:host([data-dark]) .app.home-themed .home-services,:host([data-dark]) .home-support,:host([data-dark]) .home-support-card{background:#1e293b;border-color:#35465a;color:var(--ink)}:host([data-dark]) .home-primary-art,:host([data-dark]) .home-themed .audiences{background:#2a3d55}
@media(min-width:900px){
 .app.home-themed{padding:0 28px 36px}.home-scenery{margin:0 -28px;padding:0 28px 20px}.home-sky{height:calc(100% - 75px);object-position:center 70%}.app.home-themed .top{height:86px;min-height:86px}.app.home-themed .brand{width:222px;max-width:34%}.app.home-themed .top-tools{gap:9px}.app.home-themed .top-tools .icon-button{width:42px;min-width:42px;height:42px}.app.home-themed .language-button{max-width:165px;min-height:42px;font-size:13px;padding:8px 13px}.app.home-themed .language-button span{max-width:115px}.home-scenery-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding:12px 0 9px}.home-greeting{margin:0;text-align:start}.home-greeting h1{font-size:39px;line-height:1.35;-webkit-text-stroke:3px #315d87}.home-themed[lang=vi] .home-greeting h1,.home-themed[lang=mn] .home-greeting h1,.home-themed[lang=rw] .home-greeting h1{font-size:32px}.app.home-themed .compact-office.home-office{padding:18px 19px!important;min-height:116px}.home-office .compact-office-heading strong{font-size:19px}.home-office .compact-office-heading h2{font-size:11px!important}.home-office .compact-office-address{font-size:12px!important;padding-right:35%}.home-office-mascot{width:188px;height:157px;top:-24px;right:0}.home-office-mascot img{width:188px}.home-office .compact-office-heading .text-button{font-size:13px;min-height:42px}.home-office .compact-reserve{font-size:12px;min-height:42px}.home-office .office-icon-action,.home-office .office-edit-mini{width:40px;min-width:40px;min-height:42px}
 .app.home-themed>main{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;align-items:start;grid-template-areas:none!important}.app.home-themed .home-services,.home-support{margin:0;padding:22px}.home-support-rail{grid-auto-columns:100%}.home-support-card{min-height:103px}.home-support-card strong{font-size:15px}.home-card-cta{font-size:12px;max-width:100px;padding:8px 10px}.home-primary-grid{gap:13px}.home-primary-art{max-height:102px}.home-primary-grid .service strong{font-size:13px!important}.app.home-themed .home-quick-guides,.app.home-themed .home-install-card,.app.home-themed .sns-strip,.app.home-themed .manager-hero,.app.home-themed .promotion-slot,.app.home-themed .goods-feature,.app.home-themed .home-staff-link{grid-column:1/-1}.app.home-themed .home-quick-guides{margin:0!important}.app.home-themed .home-quick-guides .shortcuts-grid{grid-auto-columns:calc((100% - 42px)/4);gap:14px}.app.home-themed .home-color-guide{min-height:148px;padding:16px 18px 0}.home-color-guide strong{font-size:17px!important}.home-color-guide img{width:112px!important;height:112px!important}.app.home-themed .desktop-nav{display:flex!important;flex-direction:row;flex-wrap:wrap;gap:8px;border:0;background:transparent;box-shadow:none;padding:9px 0 14px;margin:0}.app.home-themed .desktop-nav-item{width:auto;min-width:0;flex:1;font-size:12px;min-height:40px;justify-content:center;padding:8px 10px}.app.home-themed .bottom-nav{display:none}
}
@media(max-width:359px){.app.home-themed{padding-left:12px;padding-right:12px}.home-scenery{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.app.home-themed .brand{width:129px;max-width:44%}.app.home-themed .top-tools{gap:4px}.app.home-themed .top-tools .icon-button{width:31px;min-width:31px;height:36px}.app.home-themed .language-button{min-height:36px;padding:7px}.app.home-themed .language-button span{display:none}.home-greeting h1{font-size:25px}.home-primary-grid{gap:7px}.home-primary-grid .service strong{font-size:10px!important}.home-section-heading h2,.home-support>h2{font-size:16px}.home-support-card{grid-template-columns:42px minmax(0,1fr) auto;gap:7px;padding:12px 8px}.home-support-card .service-art{width:42px!important;height:42px!important}.home-card-cta{max-width:65px;font-size:9px;padding:6px}.home-office .compact-office-heading strong{font-size:13px}.home-office-mascot{width:125px}.home-office-mascot img{width:135px}.home-office .compact-office-address{font-size:10px!important}.home-office .compact-reserve{font-size:10px;padding:7px}.home-office .office-icon-action,.home-office .office-edit-mini{width:33px;min-width:33px}.app.home-themed .home-color-guide{padding:11px 9px 0}.home-color-guide strong{font-size:11px!important}}

.app.home-themed .home-sky{object-fit:cover}
.app.home-themed .top-tools .icon-button,.app.home-themed .language-button{background:#2c73b533;border-color:#ffffff75}

.home-office .office-icon-action img,.home-office .office-edit-mini img{filter:none}.home-office .office-icon-action,.home-office .office-edit-mini{background:#ffffffec;border-color:#ffffff95}

@media(min-width:900px){.app.home-themed[data-page="home"]>main>*{grid-area:auto!important;min-width:0}.app.home-themed[data-page="home"]>main>:not(.home-services):not(.home-support){grid-column:1/-1!important}}

.app.home-themed .home-office{grid-area:auto!important;width:100%;min-width:0}.home-scenery-body>.home-greeting{grid-area:auto!important;min-width:0}

@media(min-width:900px){.home-scenery-body>.home-greeting{align-self:start;margin-top:0}}

/* Header tools keep circular geometry at every breakpoint, including custom photos. */
.app .top .top-tools{--header-circle:40px}
.app .top .top-tools .icon-button{width:var(--header-circle);height:var(--header-circle);min-width:var(--header-circle);min-height:var(--header-circle);max-width:var(--header-circle);max-height:var(--header-circle);flex:0 0 var(--header-circle);aspect-ratio:1;padding:0;border-radius:50%;box-sizing:border-box}
.app .top .top-tools .header-profile-photo{width:calc(var(--header-circle) - 8px)!important;height:calc(var(--header-circle) - 8px)!important;max-width:none;aspect-ratio:1;flex:none!important;border-radius:50%;object-fit:cover}
@media(min-width:900px){.app .top .top-tools{--header-circle:44px}}
@media(max-width:359px){.app .top .top-tools{--header-circle:36px}}

/* Peeking mascot rests on the action row; no floating cropped belly. */
.app.home-themed .compact-office.home-office{display:block;gap:0}
.home-office-stage{position:relative;min-width:0}
.home-office-info{box-sizing:border-box;min-height:82px;padding-right:150px;display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0}
.home-office .home-office-info .compact-office-heading{width:100%;min-width:0}
.home-office .home-office-info .compact-office-address{padding-right:0;margin:4px 0 0!important}
.home-office .home-office-info>small{padding-right:0;font-size:11px;line-height:1.5;color:#e5f0ff}
.home-office .home-office-mascot{top:auto;bottom:-18px;right:-2px;width:148px;height:156px;overflow:visible;border-radius:0;z-index:4;display:flex;align-items:end;justify-content:center}
.home-office .home-office-mascot img{width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center bottom}
.home-office .compact-office-actions{margin-top:8px;min-height:44px}
.home-office .compact-reserve{min-height:44px}
.home-office .home-office-setup{width:100%;border:0}
@media(max-width:359px){.home-office-info{min-height:78px;padding-right:133px}.home-office .home-office-mascot{right:-3px;width:130px;height:145px}.home-office .compact-office-heading h2{font-size:10px!important;padding-left:0;padding-top:26px}.home-office .compact-hikorea{width:44px;height:20px}}
@media(min-width:900px){.home-office-info{min-height:100px;padding-right:176px}.home-office .home-office-mascot{bottom:-18px;right:0;width:174px;height:182px}.home-office .compact-office-actions,.home-office .compact-reserve{min-height:46px}}

/* Extra head clearance accompanies the shorter office banner. */
.home-greeting{margin-bottom:46px}
@media(min-width:900px){.home-greeting{margin-bottom:0}.home-scenery-body{padding-top:30px}}

@media(max-width:359px){.home-office .compact-office-heading h2{font-size:9.5px!important;padding-left:38px;padding-top:0;min-height:15px}.home-office .compact-hikorea{width:32px;height:15px;padding:1px}.home-office .compact-office-heading strong{font-size:12px;line-height:1.4}}

/* Compact notice lists; full replies and settings open from each row. */
.notification-page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-page-heading .page-head{margin:0;min-width:0}.notification-page-heading .page-head h1{margin:0}.notification-page-heading .page-head p{font-size:12px;margin:5px 0 0}.notification-refresh{width:36px;min-width:36px;height:36px;min-height:36px;padding:8px;flex:none;background:var(--panel,#fff);border-radius:50%}.notification-refresh svg{width:18px;height:18px}
.app[data-page="notifications"]>main{display:block!important;max-width:820px;width:100%;margin-inline:auto}.notification-items{display:block;margin:14px 0;border:1px solid var(--line,#e0e8f4);background:var(--panel,#fff);border-radius:18px;overflow:hidden}.notification-item,.notification-item.unread{align-items:center;gap:11px;border:0;border-bottom:1px solid var(--line,#e5edf7);border-radius:0;padding:13px 14px;background:transparent;box-shadow:none;min-height:74px;color:var(--ink);text-decoration:none;text-align:start;box-sizing:border-box}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:var(--soft,#edf3ff)}.notification-symbol{display:grid;place-items:center;width:28px;height:28px;flex:none;color:var(--blue,#4778d5)}.notification-symbol svg{width:21px;height:21px}.notification-symbol .notification-art{width:28px;height:28px}.notification-copy>strong{font-size:14px;line-height:1.5;margin:0;font-weight:650}.notification-item.unread .notification-copy>strong{font-weight:800}.notification-copy>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.5;color:var(--muted);margin-top:3px}.notification-copy time{display:block;font-size:10px;margin-top:3px;color:var(--muted)}.notification-item .notification-dot{width:6px;height:6px;margin:0}.notification-item .notice-chevron{font-size:20px;color:var(--muted);font-weight:400;flex:none}
:host([data-dark]) .notification-item,:host([data-dark]) .notification-item.unread{background:transparent;border-color:var(--line,#415a79)}

.notification-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:7px}.notification-copy>strong{grid-column:1/-1}.notification-copy>small{grid-column:1;min-width:0}.notification-copy>time{grid-column:2;white-space:nowrap;align-self:end;margin-top:3px}.notification-item,.notification-item.unread{padding-top:10px;padding-bottom:10px;min-height:66px}

/* The approved mobile home is unchanged; wider screens receive their own layout. */
.home-sky-picture{display:contents}.home-desktop-intro{display:none}
@media(min-width:900px){
 .app.home-themed{position:relative;isolation:isolate;max-width:1280px;padding:0 32px 42px}.app.home-themed .home-scenery{margin:0 -32px;padding:0 32px 22px;isolation:auto}.app.home-themed .home-sky{height:900px;top:0;object-fit:cover;object-position:center top;border-radius:0;mask-image:linear-gradient(#000 60%,transparent 100%)}
 .app.home-themed .top{height:86px;min-height:86px}.app.home-themed .brand{width:226px;max-width:40%}.app.home-themed .brand img{filter:none;max-height:45px}.app.home-themed .top-tools{gap:10px}.app.home-themed .top-tools .icon-button,.app.home-themed .language-button{color:#24486c;background:#ffffffcf;border:1px solid #ffffffd9;box-shadow:0 3px 14px #4e7caa0a}.app.home-themed .language-button{font-size:15px;min-height:44px;max-width:190px;padding:9px 16px}.app.home-themed .language-button span{max-width:125px}.app.home-themed .top-tools svg{width:21px;height:21px}
 .app.home-themed .desktop-nav{position:absolute!important;left:32px;right:32px;top:88px;z-index:6;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:7px!important;margin:0!important;border-radius:20px;background:#ffffffd9;border:1px solid #ffffff;box-shadow:0 4px 20px #4778a309}.app.home-themed .desktop-nav-item{min-height:44px;gap:8px;padding:8px 9px;font-size:14px;line-height:1.4;border-radius:14px;justify-content:center}.app.home-themed .desktop-nav-item img{width:27px;height:27px;flex:none;object-fit:contain}.app.home-themed .desktop-nav-item.active{background:#e9f3ff;color:#3272b8}
 .app.home-themed .home-scenery-body{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:54px;padding:104px 0 30px;align-items:center;min-height:350px}.app.home-themed .home-greeting{margin:0!important;align-self:center;text-align:start}.app.home-themed .home-greeting h1{font-size:44px;line-height:1.28;letter-spacing:-1.4px;-webkit-text-stroke:0;color:#193958;text-shadow:none}.app.home-themed .home-greeting h1 span:last-child{color:#327bb8;margin-top:7px}.app.home-themed[lang=vi] .home-greeting h1,.app.home-themed[lang=mn] .home-greeting h1,.app.home-themed[lang=rw] .home-greeting h1{font-size:35px}.app.home-themed .home-desktop-intro{display:block;font-size:16px;line-height:1.8;color:#52718a;margin:18px 0 0;max-width:95%}
 .app.home-themed .compact-office.home-office{padding:12px 16px!important;border-radius:23px;background:linear-gradient(115deg,#4388d3,#68a5e6);box-shadow:0 12px 24px #527aa719;border-color:#77b5eb}.app.home-themed .home-office-info{min-height:128px;padding-right:194px;gap:7px}.app.home-themed .home-office .home-office-mascot{width:196px;height:208px;bottom:-18px;right:-3px}.app.home-themed .home-office .compact-hikorea{width:60px;height:26px}.app.home-themed .home-office .compact-office-heading h2{font-size:13px!important;padding-left:70px;min-height:26px;line-height:1.6}.app.home-themed .home-office .compact-office-heading strong{font-size:22px;line-height:1.45;letter-spacing:-.5px}.app.home-themed .home-office .compact-office-address{font-size:13px!important;line-height:1.65!important}.app.home-themed .home-office .compact-office-actions{gap:9px;min-height:48px}.app.home-themed .home-office .compact-reserve{font-size:14px;min-height:48px;border-radius:15px}.app.home-themed .home-office .office-icon-action,.app.home-themed .home-office .office-edit-mini{width:44px;min-width:44px;min-height:48px;border-radius:14px}.app.home-themed .home-office .office-icon-action img,.app.home-themed .home-office .office-edit-mini img{width:24px;height:24px}
 .app.home-themed>main{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}.app.home-themed[data-page="home"]>main>.home-services,.app.home-themed[data-page="home"]>main>.home-support{grid-column:1/-1!important;grid-area:auto!important;padding:26px;border-radius:24px;background:#ffffffdf;border-color:#ffffff;box-shadow:0 6px 24px #6e98b30a}.app.home-themed .home-section-heading{margin-bottom:17px}.app.home-themed .home-section-heading h2,.app.home-themed .home-support>h2{font-size:24px;line-height:1.4;font-weight:800}.app.home-themed .home-all-link{font-size:14px}.app.home-themed .home-all-link strong{font-size:14px}.app.home-themed .audiences{max-width:460px!important;margin-bottom:22px!important}.app.home-themed .audiences button{font-size:16px;min-height:42px;padding:9px 13px}.app.home-themed .home-primary-grid{gap:18px}.app.home-themed .home-primary-grid .service{min-height:158px;gap:13px;padding:15px 14px!important;border:1px solid #edf3fa;border-radius:20px;background:#f5faff}.app.home-themed .home-primary-grid .service:hover{background:#eaf4ff;border-color:#bfd8ee;box-shadow:0 5px 16px #5b91c112}.app.home-themed .home-primary-art{width:100%;max-height:none;height:102px;aspect-ratio:auto;background:transparent}.app.home-themed .home-primary-art .service-art{width:96px!important;height:96px!important;max-width:96px;max-height:96px}.app.home-themed .home-primary-grid .service strong{font-size:16px!important;line-height:1.5!important;font-weight:750}
 .app.home-themed .home-support>h2{margin-bottom:18px}.app.home-themed .home-support-rail{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:visible;padding:0;scroll-snap-type:none}.app.home-themed .home-support-card{grid-template-columns:46px minmax(0,1fr);padding:17px 15px;min-height:112px;gap:10px 13px;border-radius:18px;background:#f9fcff;box-shadow:none}.app.home-themed .home-support-card .service-art{width:46px!important;height:46px!important;grid-row:1/3}.app.home-themed .home-support-card strong{font-size:16px;line-height:1.5}.app.home-themed .home-card-cta{grid-column:2;justify-self:start;font-size:12px;padding:5px 11px;max-width:none;background:#e8f2ff;color:#3478b6}
 .app.home-themed .home-quick-guides h2{font-size:22px;margin-bottom:16px}.app.home-themed .home-quick-guides .shortcuts-grid{grid-auto-columns:calc((100% - 48px)/4);gap:16px}.app.home-themed .home-color-guide{min-height:165px;padding:18px 19px 0}.app.home-themed .home-color-guide strong{font-size:17px!important;line-height:1.55}.app.home-themed .home-color-guide img{width:110px!important;height:110px!important}
 :host([data-dark]) .app.home-themed .home-services,:host([data-dark]) .app.home-themed .home-support{background:#1e293bee;border-color:#35465a}:host([data-dark]) .app.home-themed .home-primary-grid .service,:host([data-dark]) .app.home-themed .home-support-card{background:#24364d;border-color:#415a79}
}
@media(min-width:900px) and (max-width:1099px){.app.home-themed{padding-left:24px;padding-right:24px}.app.home-themed .home-scenery{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}.app.home-themed .desktop-nav{left:24px;right:24px}.app.home-themed .home-scenery-body{gap:28px}.app.home-themed .home-greeting h1{font-size:35px}.app.home-themed[lang=vi] .home-greeting h1,.app.home-themed[lang=mn] .home-greeting h1,.app.home-themed[lang=rw] .home-greeting h1{font-size:29px}.app.home-themed .home-office-info{padding-right:162px;min-height:126px}.app.home-themed .home-office .home-office-mascot{width:160px;height:172px}.app.home-themed .home-office .compact-office-heading strong{font-size:19px}.app.home-themed .home-office .compact-office-heading h2{padding-left:0;padding-top:31px}.app.home-themed .home-office .compact-reserve{font-size:12px}.app.home-themed .home-office .office-icon-action,.app.home-themed .home-office .office-edit-mini{width:38px;min-width:38px}.app.home-themed .home-primary-grid{gap:12px}.app.home-themed .home-primary-grid .service{padding:13px 9px!important}.app.home-themed .home-support-rail{gap:10px}.app.home-themed .home-support-card{padding:14px 12px;gap:9px}.app.home-themed .home-support-card strong{font-size:14px}}

@media(min-width:900px){.app.home-themed .desktop-nav-divider{display:none!important}.app.home-themed .home-scenery-body{padding-top:116px}}

@media(min-width:900px) and (max-width:1099px){.app.home-themed .home-scenery-body{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.app.home-themed .home-office-info{padding-right:182px}.app.home-themed .home-office .home-office-mascot{width:180px;height:190px}.app.home-themed .home-office .compact-office-heading h2{padding-left:70px;padding-top:0}}

@media(min-width:900px){.app.home-themed .home-support-rail:has(>.home-support-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.app.home-themed .home-support-rail:has(>.home-support-card:only-child){grid-template-columns:minmax(0,1fr)}}

/* Exact original logo silhouette, rendered white for the blue office banner. */
.app.home-themed .home-office .compact-hikorea{width:50px;height:22px;padding:0;filter:brightness(0) invert(1);background:transparent!important;opacity:1;top:0}
.app.home-themed .home-office .compact-office-heading h2{padding-left:60px;min-height:22px;display:flex;align-items:center;font-size:11px!important;line-height:1.5}
@media(max-width:359px){.app.home-themed .home-office .compact-hikorea{width:40px;height:18px}.app.home-themed .home-office .compact-office-heading h2{padding-left:48px;min-height:18px;font-size:9.5px!important;padding-top:0}}
@media(min-width:900px){.app.home-themed .home-office .compact-hikorea{width:72px;height:31px}.app.home-themed .home-office .compact-office-heading h2{padding-left:84px;min-height:31px;font-size:13px!important;padding-top:0}}

/* Fluid PC workspace: fill wide displays while preserving readable forms. */
@media(min-width:1200px){.app{width:100%;max-width:none;padding-left:clamp(28px,2.5vw,88px);padding-right:clamp(28px,2.5vw,88px)}.app:has(.admin-shell){max-width:none}.app:not(.home-themed) .desktop-nav-item{font-size:15px}.app:not(.home-themed) .page-head h1{font-size:clamp(32px,2.2vw,42px)}}
@media(min-width:900px){
 .app.home-themed{--pc-gutter:clamp(24px,2.5vw,88px);width:100%;max-width:none;padding-left:var(--pc-gutter);padding-right:var(--pc-gutter)}.app.home-themed .home-scenery{margin-left:calc(-1 * var(--pc-gutter));margin-right:calc(-1 * var(--pc-gutter));padding-left:var(--pc-gutter);padding-right:var(--pc-gutter)}.app.home-themed .desktop-nav{left:var(--pc-gutter);right:var(--pc-gutter)}
}
@media(min-width:1100px){.app.home-themed .home-scenery-body{grid-template-columns:minmax(0,1fr) minmax(430px,560px);gap:clamp(36px,4vw,100px)}.app.home-themed .home-greeting h1{font-size:clamp(44px,3.05vw,62px);max-width:1000px}.app.home-themed[lang=vi] .home-greeting h1,.app.home-themed[lang=mn] .home-greeting h1,.app.home-themed[lang=rw] .home-greeting h1{font-size:clamp(35px,2.5vw,50px)}.app.home-themed .home-desktop-intro{font-size:17px;max-width:720px}}
@media(min-width:1500px){
 .app.home-themed>main{grid-template-columns:minmax(0,1fr) minmax(360px,480px)!important;gap:24px!important;align-items:stretch}
 .app.home-themed[data-page="home"]>main>.home-services{grid-column:1!important;grid-row:1!important}.app.home-themed[data-page="home"]>main>.home-support{grid-column:2!important;grid-row:1!important}
 .app.home-themed .home-support-rail,.app.home-themed .home-support-rail:has(>.home-support-card:nth-child(2):last-child),.app.home-themed .home-support-rail:has(>.home-support-card:only-child){grid-template-columns:minmax(0,1fr)!important;gap:12px}
 .app.home-themed .home-support-card{grid-template-columns:44px minmax(0,1fr) auto;gap:12px;min-height:81px;padding:13px 14px}.app.home-themed .home-support-card .service-art{grid-row:auto;width:44px!important;height:44px!important}.app.home-themed .home-support-card strong{font-size:16px}.app.home-themed .home-card-cta{grid-column:3;grid-row:1;font-size:12px;max-width:92px;padding:7px 10px;line-height:1.4}
}
@media(min-width:1600px){.app .job-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.app table{font-size:14px}.app th{font-size:13px}}

/* Wide seasonal artwork belongs to the hero, so its horizon stays visible. */
.app.home-themed .home-office .home-office-mascot{bottom:-24px;z-index:auto}
.home-office .home-office-mascot img{position:absolute;inset:0;z-index:1}
@media(min-width:900px){.app.home-themed .home-sky-picture{display:block;position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#b6e3fa,#d2edfc 55%,#e4f3fb);mask-image:linear-gradient(#000 calc(100% - 24px),transparent)}.app.home-themed .home-sky{height:100%;width:100%;max-width:1920px;max-height:720px;inset:auto auto 0 50%;transform:translateX(-50%);z-index:auto;object-fit:cover;object-position:center bottom;mask-image:none;border-radius:0}.app.home-themed .home-greeting h1{color:#153754;text-shadow:0 1px 3px #fff,0 0 18px #ffffffd9}.app.home-themed .home-greeting h1 span:last-child{color:#173f67}.app.home-themed .home-desktop-intro{color:#274d70;text-shadow:0 1px 6px #fff,0 0 18px #fff}}
@media(min-width:1921px){.app.home-themed .home-sky{mask-image:linear-gradient(90deg,transparent,#000 120px,#000 calc(100% - 120px),transparent)}}
@media(min-width:1900px){
 .app.home-themed .home-primary-grid .service{display:grid;grid-template-columns:104px minmax(0,1fr);gap:15px;text-align:start;min-height:180px;padding:19px!important}.app.home-themed .home-primary-art{height:104px;max-width:104px}.app.home-themed .home-primary-grid .service strong{font-size:18px!important;text-align:start}.app.home-themed .home-primary-art .service-art{width:100px!important;height:100px!important;max-width:100px;max-height:100px}
 .app.home-themed .home-color-guide{display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:center;min-height:164px;padding:16px 22px}.app.home-themed .home-color-guide strong{font-size:18px!important}.app.home-themed .home-color-guide img{width:132px!important;height:132px!important;margin:0!important;align-self:center}
}
@media(min-width:2300px){.app.home-themed>main{grid-template-columns:minmax(0,1fr) 560px!important}.app.home-themed .home-support-card strong{font-size:17px}.app.home-themed .home-card-cta{font-size:13px}.app.home-themed .home-primary-grid .service{grid-template-columns:116px minmax(0,1fr);padding:22px!important;gap:20px}.app.home-themed .home-primary-art{height:116px;max-width:116px}.app.home-themed .home-primary-art .service-art{width:112px!important;height:112px!important;max-width:112px;max-height:112px}}

@media(min-width:1200px){.app.operations-focus{width:100%;max-width:none!important;padding-left:clamp(28px,2.5vw,88px)!important;padding-right:clamp(28px,2.5vw,88px)!important}}

/* Emphasize Hi Korea before address setup; resolved office cards keep the compact mark. */
.app.home-themed .home-office:has(.home-office-setup) .compact-office-heading{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.app.home-themed .home-office:has(.home-office-setup) .compact-office-heading>div{flex:none;width:100%}
.app.home-themed .home-office:has(.home-office-setup) .compact-hikorea{position:static;width:min(100%,90px);height:auto;max-height:none;margin:0;padding:0;flex:none}
.app.home-themed .home-office:has(.home-office-setup) .compact-office-heading h2{padding-left:0;padding-top:0;min-height:0;margin:0!important;display:block}
@media(max-width:359px){.app.home-themed .home-office:has(.home-office-setup) .compact-hikorea{width:min(100%,86px)}}
@media(min-width:900px){.app.home-themed .home-office:has(.home-office-setup) .compact-hikorea{width:min(100%,116px)}.app.home-themed .home-office:has(.home-office-setup) .compact-office-heading{gap:8px}}

.job-roster-page{max-width:1100px;margin:auto}.job-roster-page select{min-height:48px;padding:10px;border:1px solid var(--line);border-radius:14px;width:100%;background:var(--panel,#fff);color:var(--ink)}.job-roster-page form{margin-top:18px}.job-roster-wish summary{cursor:pointer;font-weight:700;padding:8px 0}.job-roster-wish .work-options{margin-top:10px}.job-roster-buttons{display:flex;flex-wrap:wrap;gap:10px}.job-roster-count{font-weight:750;color:var(--blue)}.job-roster-error:empty{display:none}.job-roster-error{color:#bd3149}.job-amend-entry{margin-bottom:15px}.job-amend-info{font-size:12px}.job-roster-entry{margin:0 0 18px}.job-guest-lookup{font-size:12px;color:var(--muted)}@media(max-width:599px){.job-roster-buttons>button{width:100%}}

.job-public-actions,.publication-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.student-jobs .job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}.job-channel-note{font-weight:650;color:#3868ad}.publication-tabs button{min-height:48px;flex:1}.publication-card textarea{min-height:90px}.publication-policy summary{font-weight:650;cursor:pointer;padding:8px 0}.publication-policy form{margin-top:20px}@media(max-width:600px){.publication-tabs{gap:8px}.publication-tabs button{padding:12px 8px;font-size:14px}.job-public-actions button{width:100%}}

.student-jobs .job-grid{width:100%;margin:0!important;padding:0!important;overflow:visible}.student-jobs .job{width:100%!important;max-width:none;min-width:0}
/* One shared surface: compact transparent service art, four mobile / six PC. */
.app.home-themed .home-all-link,.app.home-themed .audiences button{min-height:44px}
.app.home-themed .home-primary-grid>.service{display:flex!important;grid-template-columns:none!important;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;min-width:44px;min-height:100px;padding:6px 0!important;border:0;border-radius:12px;background:transparent;box-shadow:none;backdrop-filter:none;text-align:center;transition:color .15s}
.app.home-themed .home-primary-grid>.service:before{display:none}.app.home-themed .home-primary-grid>.service:hover{background:transparent;box-shadow:none;transform:none}.app.home-themed .home-primary-grid>.service:focus-visible{outline:3px solid #4778d5;outline-offset:0}.app.home-themed .home-primary-grid .home-primary-art{width:clamp(48px,14vw,58px);height:clamp(48px,14vw,58px);max-width:100%;max-height:none;aspect-ratio:1;border-radius:0;background:transparent}.app.home-themed .home-primary-grid .home-primary-art .service-art{width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain;margin:0!important;transition:transform .15s}.app.home-themed .home-primary-grid>.service strong{font-size:12px!important;line-height:1.45!important;min-height:35px;max-width:100%;font-weight:700;letter-spacing:0;text-align:center!important;word-break:keep-all!important;overflow-wrap:anywhere;text-wrap:balance;color:var(--ink)}
.app.home-themed.home-service-slider .home-service-rail{display:flex!important;grid-template-columns:none!important;gap:8px;overflow-x:auto;overflow-y:hidden;min-width:0;padding:4px 3px 8px;scroll-padding-inline:3px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;direction:ltr}.home-service-rail::-webkit-scrollbar{display:none}.app.home-themed.home-service-slider .home-service-rail>.service{flex:0 0 calc((100% - 24px)/4);width:calc((100% - 24px)/4);scroll-snap-align:start;box-sizing:border-box}
.home-service-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:0;min-width:0}.home-service-controls>p{margin:0;font-size:12px;color:#667e97;line-height:1.5}.home-service-controls>div{display:flex;align-items:center;gap:6px;flex:none}.home-service-arrow{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;border:0;border-radius:50%;background:transparent;color:#477acd;padding:11px;box-shadow:none}.home-service-arrow svg{width:21px;height:21px}.home-service-arrow:disabled{opacity:.35;cursor:default}.home-service-arrow:active{transform:scale(.96)}.home-service-count{font-size:12px;font-weight:650;color:#69819e;min-width:51px;text-align:center;font-variant-numeric:tabular-nums}
@media(hover:hover){.app.home-themed .home-primary-grid>.service:hover strong{color:#2d69b0}.app.home-themed .home-primary-grid>.service:hover .service-art{transform:translateY(-2px)}.home-service-arrow:not(:disabled):hover{background:#edf4ff}}
@media(min-width:900px){.app.home-themed.home-service-slider>main{grid-template-columns:minmax(0,1fr)!important}.app.home-themed.home-service-slider[data-page="home"]>main>.home-services{grid-column:1/-1!important;grid-row:auto!important;max-width:none;width:100%;box-sizing:border-box}.app.home-themed .home-primary-grid>.service{min-height:136px;gap:8px;padding:8px 4px!important}.app.home-themed .home-primary-grid .home-primary-art{width:80px;height:80px;max-width:100%}.app.home-themed .home-primary-grid>.service strong{font-size:17px!important;line-height:1.5!important;min-height:26px}.app.home-themed.home-service-slider .home-service-rail{gap:16px}.app.home-themed.home-service-slider .home-service-rail>.service{flex-basis:calc((100% - 80px)/6);width:calc((100% - 80px)/6)}.home-service-controls{margin-top:2px}.home-service-controls>p{font-size:14px}.home-service-count{font-size:14px;min-width:65px}.home-service-controls>div{gap:10px}}
@media(prefers-reduced-motion:reduce){.app.home-themed .home-primary-grid .home-primary-art .service-art{transition:none}.app.home-themed .home-primary-grid>.service:hover .service-art{transform:none}}
:host([data-dark]) .app.home-themed .home-primary-art,:host([data-dark]) .app.home-themed .home-primary-grid>.service{background:transparent}:host([data-dark]) .home-service-arrow{color:#c2d9ff}:host([data-dark]) .app.home-themed .home-primary-grid>.service:focus-visible{outline-color:#a4c7ff}
/* Keep media taps and scrolling intact while suppressing native image save/drag menus. */
img,svg[aria-hidden="true"]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
[contenteditable] img,[contenteditable] svg,[data-image-menu] img,[data-image-menu] svg,img[data-image-menu],svg[data-image-menu]{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;-webkit-user-drag:auto}

/* Approved home headline balance and PC readability. */
@media(max-width:899px){
 .app.home-themed .home-greeting{margin:16px 0 35px}
}
@media(min-width:1100px){
 .app.home-themed .home-greeting h1{font-size:clamp(44px,3.35vw,62px)}
}
@media(min-width:900px){
 .app.home-themed .home-greeting{position:relative;isolation:isolate}
 .app.home-themed .home-greeting:before{
  content:"";position:absolute;inset:-36px -36px -34px calc(-1 * var(--pc-gutter,32px));z-index:-1;pointer-events:none;max-width:1000px;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 56%,rgba(246,251,255,.7) 78%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 20%,#000 76%,transparent 100%);
 }
 .app.home-themed .home-greeting h1{color:#12334f;text-shadow:none}
 .app.home-themed .home-greeting h1 span:last-child{color:#17446b}
 .app.home-themed .home-desktop-intro{color:#244761;font-weight:600;line-height:1.75;text-shadow:none}
}

/* Night surfaces and artwork use the member's selected display mode. */
:host([data-dark]){--bg:#000;--surface:#000;--panel:#000;--line:#2b2b2b;color-scheme:dark;background:#000}
:host([data-dark]) .app,:host([data-dark]) .flow{background:#000!important}
:host([data-dark]) .app .brand img{filter:brightness(0) invert(1)}
:host([data-dark]) .app .panel,:host([data-dark]) .app .glass,:host([data-dark]) .bottom-nav,:host([data-dark]) .dialog,:host([data-dark]) .life-card,:host([data-dark]) .flow-footer,:host([data-dark]) .app .desktop-nav,:host([data-dark]) .app .profile-layout,:host([data-dark]) .app .profile-surface,:host([data-dark]) .app.home-themed .home-services,:host([data-dark]) .app.home-themed .home-support{background:#000;border-color:var(--line)}
:host([data-dark]) .app .profile-identity,:host([data-dark]) .app .settings-card,:host([data-dark]) .app .profile-menu-list,:host([data-dark]) .app .theme-options,:host([data-dark]) .app .audiences,:host([data-dark]) .app input,:host([data-dark]) .app textarea,:host([data-dark]) .app select,:host([data-dark]) .app .language-button,:host([data-dark]) .app .icon-button{background:#101010;border-color:var(--line);color:var(--ink)}
:host([data-dark]) .app .profile-menu-list>*+*{border-top-color:var(--line)!important}
:host([data-dark]) .bottom-nav button.active,:host([data-dark]) .app .desktop-nav-item.active,:host([data-dark]) .app .theme-options .selected,:host([data-dark]) .app .audiences .active{background:#242424;color:#fff}
:host([data-dark]) .board-feed .board-post,:host([data-dark]) .board-feed .board-photo,:host([data-dark]) .board-photo-pane,:host([data-dark]) .board-post-slide,:host([data-dark]) .board-viewport{background:#000}
:host([data-dark]) .app.home-themed .home-sky-picture{background:#000}
:host([data-dark]) .app.home-themed .home-greeting:before{background:linear-gradient(90deg,#000c,transparent);opacity:.65}
:host([data-dark]) .app.home-themed .home-greeting h1,:host([data-dark]) .app.home-themed .home-greeting h1 span:last-child{color:#fff;text-shadow:0 2px 12px #000}
:host([data-dark]) .app.home-themed .home-desktop-intro{color:#e4e4e7;text-shadow:0 1px 6px #000}

/* Customer navigation: a clear central create action, with the profile at the right edge. */
.bottom-nav.customer-tabs{grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;gap:2px}
.customer-tabs button{min-width:0;min-height:68px;padding:4px 2px;border-radius:17px;gap:4px;font-size:10px}
.customer-tabs .nav-art{width:34px;height:34px;object-fit:contain}
.customer-tabs .nav-profile-art{width:34px;height:34px;box-sizing:border-box;border:1px solid var(--line)}
.customer-tabs .nav-create-art{width:45px;height:39px;display:grid;place-items:center;border-radius:13px;background:var(--ink,#19385d);color:var(--surface,#fff);font-size:34px;font-weight:300;line-height:1}
.customer-tabs .nav-create-art svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.customer-tabs .nav-create:active .nav-create-art{transform:scale(.91)}
:host([data-dark]){--soft:#000}
:host([data-dark]) .app .profile-identity,:host([data-dark]) .app .settings-card,:host([data-dark]) .app .profile-menu-list,:host([data-dark]) .app .theme-options,:host([data-dark]) .app .audiences,:host([data-dark]) .app .secondary,:host([data-dark]) .app .notice,:host([data-dark]) .app .bottom-nav button.active{background:#000;border-color:var(--line)}
:host([data-dark]) .customer-tabs .nav-create-art{background:#fff;color:#000}
:host([data-dark]) .board-feed .board-tools button,:host([data-dark]) .board-feed .board-photo-dots,:host([data-dark]) .board-feed .board-photo-position{background:#000c;color:#fff}
:host([data-dark]) .board-feed .board-photo-dots i{background:#fff}
:host([data-dark]) .board-feed .comment-panel{border-color:var(--line)}
:host([data-dark]) .board-feed .board-inline-ad,:host([data-dark]) .board-feed .board-inline-ad-image,:host([data-dark]) .board-feed .board-inline-ad-label{background:#000;color:var(--ink);border-color:var(--line)}
:host([data-dark]) .board-feed .board-inline-ad-meta{color:var(--muted)}

/* Keep customer chrome on the home screen; content pages use the bottom/side navigation. */
:host(:not([management])) .app:not([data-page="home"])>.top{display:none}
:host(:not([management])) .app:not([data-page="home"]){padding-top:max(12px,env(safe-area-inset-top,0px))}
@media(min-width:1200px){:host(:not([management])) .app:not([data-page="home"]){padding-top:24px}}

/* The customer profile entry lives in the bottom navigation. */
:host(:not([management])) .top-tools>[data-route="account"],:host(:not([management])) .top-tools>[data-route="login"]{display:none}

/* Reservation flows live beside .app: keep their text and controls readable on true black. */
:host([data-dark]) .flow{--ink:#f4f6fb;--muted:#cbd5e1;--panel:#000;--surface:#000;--soft:#101010;--line:#535b68;color:#f4f6fb;color-scheme:dark}
:host([data-dark]) .flow .flow-top,:host([data-dark]) .flow .flow-footer{background:#000;border-color:#535b68;color:#f4f6fb}
:host([data-dark]) .flow .flow-top strong,:host([data-dark]) .flow .flow-title h1,:host([data-dark]) .flow h2,:host([data-dark]) .flow h3,:host([data-dark]) .flow legend,:host([data-dark]) .flow .field>span,:host([data-dark]) .flow .field>label{color:#f4f6fb}
:host([data-dark]) .flow .flow-top small,:host([data-dark]) .flow .flow-title p,:host([data-dark]) .flow small,:host([data-dark]) .flow .muted,:host([data-dark]) .flow .footnote{color:#cbd5e1}
:host([data-dark]) .flow input,:host([data-dark]) .flow textarea,:host([data-dark]) .flow select{background:#101010;color:#f4f6fb;border-color:#697386}
:host([data-dark]) .flow input::placeholder,:host([data-dark]) .flow textarea::placeholder{color:#b4bfce;opacity:1}
:host([data-dark]) .flow .panel,:host([data-dark]) .flow .person,:host([data-dark]) .flow .choice,:host([data-dark]) .flow .trip-card,:host([data-dark]) .flow .secondary,:host([data-dark]) .flow .notice,:host([data-dark]) .flow .consent,:host([data-dark]) .flow .check-row{background:#101010;color:#f4f6fb;border-color:#535b68}
:host([data-dark]) .flow .choice.active,:host([data-dark]) .flow .trip-card.active,:host([data-dark]) .flow [aria-pressed=true]{background:#172b4d;color:#fff;border-color:#9ec5ff}
:host([data-dark]) .flow .progress{background:#303846}:host([data-dark]) .flow .progress>span{background:#9ec5ff}
:host([data-dark]) .flow .icon-button,:host([data-dark]) .flow .text-button{color:#d4e5ff}
:host([data-dark]) .flow a{color:#a8ceff}
:host([data-dark]) .flow :is(input,select,textarea,button):focus-visible{outline:3px solid #a8ceff;outline-offset:3px}
:host([data-dark]) .flow .error{background:#301214;color:#ffced1;border-color:#db8f99}

:host([data-dark]) .app .primary,:host([data-dark]) .flow .primary,:host([data-dark]) .dialog .primary{background:var(--blue);color:#101827}
:host([data-dark]) .compact-office .compact-hikorea{background:transparent!important;border-radius:0!important;padding:0}

:host([data-dark]) .flow .person-title .number{background:#172b4d;color:#d4e5ff}
:host([data-dark]) .flow .trip-card .seats{color:#d4e5ff}
.board-post-menu button{text-align:left;white-space:normal}
:host([data-dark]) .board-post-menu button{background:#000;color:#f4f6fb;border-color:#535b68}
.location-country-control{display:grid;gap:9px}.location-country-control label{display:grid;gap:7px}.location-country-control select{width:100%;min-width:0}.privacy-settings .check-row{align-items:flex-start}.privacy-entry{margin:20px auto}

:host([data-dark]) .flow-top .service-action-icon svg{stroke:currentColor}
/* Compact outline navigation, shared with the photo feed. */
.bottom-nav.customer-tabs{border-radius:0;border-inline:0;border-bottom:0;box-shadow:none;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));gap:2px}
/* Zalo Android already reserves the system navigation bar outside its WebView. */
:host([zalo-android]) .bottom-nav.customer-tabs{padding-bottom:6px}
.customer-tabs button{min-height:54px;justify-content:center;gap:3px}
.customer-tabs button.active{background:transparent;box-shadow:none}
.customer-tabs .nav-art.nav-line-icon,.customer-tabs .nav-create-art.nav-line-icon{width:27px;height:27px;margin:0;background:transparent;border-radius:0;color:inherit;fill:none;stroke:currentColor;stroke-width:1.7;box-shadow:none}
.customer-tabs .nav-profile-art{width:29px;height:29px}
.customer-tabs button.active .nav-profile-art{outline:1.5px solid currentColor;outline-offset:3px}
.app[data-page="board"]~.bottom-nav.customer-tabs{background:#fff;color:#202124;border-color:#e1e4e9}
.app[data-page="board"]~.customer-tabs button,.app[data-page="board"]~.customer-tabs button.active{color:inherit;background:transparent;box-shadow:none}
:host([data-dark]) .app[data-page="board"]~.bottom-nav.customer-tabs{background:#000;color:#fff;border-color:#303036}
.bottom-nav.customer-tabs button>span:last-child{display:none}
:host([data-dark]) .customer-tabs button,:host([data-dark]) .customer-tabs button.active{color:#fff;background:transparent;box-shadow:none}
:host([data-dark]) .customer-tabs .nav-create-art.nav-line-icon{color:inherit;background:transparent}
.customer-tabs button.active .nav-line-icon{stroke-width:2.3}

.customer-tabs button{align-items:center;line-height:1}
.customer-tabs .nav-profile-art{width:28px;height:28px;flex:none;margin:0}
.customer-tabs .nav-line-icon{display:block;flex:none}

/* Service names wrap within their own card in every supported language. */
.app .portal-grid>.service,.app .portal-grid>.portal-tile{min-width:0;height:auto}
.app .portal-grid>.service strong,.app .portal-grid>.portal-tile strong{display:block;width:100%;max-width:100%;min-width:0;min-height:2.9em;white-space:normal;word-break:normal;overflow-wrap:anywhere;line-height:1.45}
.app .portal-grid>.service img,.app .portal-grid>.portal-tile img{flex:none}
.app .portal-nav button{min-width:0;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.app.home-themed .home-primary-grid>.service strong{min-width:0;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere}
.app .home-support-card strong,.app .life-shortcuts .portal-tile strong{min-width:0;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere;line-height:1.45}
@media(max-width:359px){.app .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app .portal-grid.recent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* All-service icons share the unboxed living-service presentation in both themes. */
.app[data-page="all"] .portal-grid>:is(.service,.portal-tile),
:host([data-dark]) .app[data-page="all"] .portal-grid>:is(.service,.portal-tile){background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none;border-radius:0;color:var(--ink);gap:8px;min-height:124px;padding:12px 6px;transition:transform .18s}
.app[data-page="all"] .portal-grid>:is(.service,.portal-tile)::before,
.app[data-page="all"] .portal-grid>:is(.service,.portal-tile)::after{content:none;display:none}
.app[data-page="all"] .portal-grid>:is(.service,.portal-tile):hover{background:transparent!important;box-shadow:none!important;transform:translateY(-2px)}
.app[data-page="all"] .portal-grid>:is(.service,.portal-tile) img{background:transparent;border:0;box-shadow:none;margin-bottom:0}
.app[data-page="all"] .portal-grid>:is(.service,.portal-tile):focus-visible{outline:3px solid #7a9cf9;outline-offset:3px;border-radius:12px}

/* The sky is a backdrop, with the office floating across its lower edge. */
.app.home-themed .home-scenery{--home-overlap:84px;background:transparent;isolation:isolate}
.app.home-themed .home-sky-picture{display:block;position:absolute;inset:0 0 var(--home-overlap);z-index:-1;overflow:hidden;pointer-events:none;background:#c4e9fc;border-radius:0 0 24px 24px;mask-image:none}
.app.home-themed .home-sky{display:block;position:static;inset:auto;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center bottom;transform:none;border-radius:0;mask-image:none;z-index:auto}
.app.home-themed .home-scenery-body{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0;align-items:center;min-height:0}
.app.home-themed .home-greeting{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:150px;width:100%;max-width:none;margin:0!important;padding-inline-end:0;text-align:center;position:relative;isolation:isolate}
.app.home-themed .home-greeting:before{display:block;content:"";position:absolute;inset:4px -6px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#ffffffd9 20%,#ffffff85 65%,transparent 82%);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
.app.home-themed .home-greeting h1{font-size:clamp(23px,6.8vw,29px);color:#12334f;text-shadow:0 1px 2px #fff9;-webkit-text-stroke:0;margin-inline:auto}
.app.home-themed .home-greeting h1 span:last-child{color:#17446b}



.app.home-themed .brand img{filter:none}
.app.home-themed .top-tools .icon-button,.app.home-themed .language-button{color:#24486c;background:#ffffffd9;border-color:#ffffffb3}
.app.home-themed .compact-office.home-office{width:100%;max-width:none;grid-column:1/-1!important;border-color:var(--home-art-accent,#d5a94d);z-index:2}
.app.home-themed .home-office-stage{padding-top:0;overflow:visible}
.app.home-themed .home-office-info{padding-right:146px!important;min-height:68px;gap:6px}
.app.home-themed .home-office .home-office-mascot{position:absolute;top:auto;right:-28px;bottom:calc(100% - 28px);left:auto;width:240px;height:auto;aspect-ratio:21/22;max-height:none;margin:0;display:block;overflow:visible;z-index:4;pointer-events:none;user-select:none;border-radius:0}
.app.home-themed .home-office .home-office-mascot img{position:static;inset:auto;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;clip-path:none;pointer-events:none}
.app.home-themed .home-office:has(.home-office-setup) .home-office-mascot{bottom:calc(100% - 46px)}
/* The complete uncut coiled image stays in front of controls; pointer events pass through. */
.app.home-themed .home-office .home-office-mascot,.app.home-themed .home-office .home-office-mascot img{border:0!important;outline:none!important;box-shadow:none!important;filter:none!important}
.app.home-themed .home-office .home-office-mascot img{clip-path:none}
.app.home-themed .home-office .compact-office-heading{width:100%}
.app.home-themed .home-office .compact-office-address{padding-right:0}
.app.home-themed .home-office .compact-office-actions{position:relative;z-index:3;margin-top:8px;padding-top:0;overflow:visible}
.app.home-themed .home-office .compact-office-actions>:is(button,a){position:relative;z-index:1}
.app.home-themed .home-office .compact-office-actions>:is(button,a):focus-visible{z-index:5}
:host([data-dark]) .app.home-themed .brand img{filter:brightness(0) invert(1)}
:host([data-dark]) .app.home-themed .home-greeting:before{background:radial-gradient(ellipse,#000d 20%,#0007 65%,transparent 82%);opacity:1}
:host([data-dark]) .app.home-themed .home-greeting h1,:host([data-dark]) .app.home-themed .home-greeting h1 span:last-child{color:#fff;text-shadow:0 1px 5px #000}
:host([data-dark]) .app.home-themed .top-tools .icon-button,:host([data-dark]) .app.home-themed .language-button{color:var(--ink);background:var(--panel);border-color:var(--line)}
@media(max-width:359px){.app.home-themed .home-office-info{padding-right:132px!important}.app.home-themed .home-office .home-office-mascot{width:210px;right:-20px;bottom:calc(100% - 24px)}.app.home-themed .home-greeting{padding-inline-end:0;min-height:148px}.app.home-themed .home-greeting h1{font-size:23px}}
@media(min-width:900px){.app.home-themed .home-scenery{--home-overlap:92px}.app.home-themed .home-scenery>.desktop-nav{position:static!important;width:100%;margin:0 0 10px!important;background:#ffffffdf}.app.home-themed .home-scenery-body{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}.app.home-themed .home-greeting{align-self:center;min-height:190px;padding-inline-end:0;margin:0}.app.home-themed .home-greeting:before{inset:-8px 0;max-width:1000px;margin-inline:auto}.app.home-themed .home-greeting h1{font-size:clamp(39px,3.35vw,62px);max-width:850px}.app.home-themed .home-desktop-intro{display:block;max-width:720px;margin-inline:auto;text-align:center}.app.home-themed .home-office{grid-column:1/-1}.app.home-themed .compact-office.home-office{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,45%);gap:24px}.app.home-themed .home-office-info{padding-right:0!important;min-height:66px}.app.home-themed .home-office .compact-office-actions{align-self:end}.app.home-themed .home-office .home-office-mascot{width:280px;right:-26px;bottom:calc(100% - 30px)}}
:host([data-dark]) .app.home-themed .home-scenery>.desktop-nav{background:#000c}
.emergency-call-wrap{padding-top:78px}.emergency-call-wrap .emergency-peek{width:132px;height:88px;top:2px;z-index:2}.emergency-call-wrap a{z-index:1;box-sizing:border-box;padding:16px 0 10px}.emergency-call-wrap a:focus-visible{z-index:3}

/* Shared home service grid, formerly recreated inside each render. */
.app.home-themed.home-service-fixed .home-primary-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-flow:row;gap:10px 8px;overflow:visible;scroll-snap-type:none;padding:4px 0}
.app.home-themed.home-service-fixed .home-primary-grid>.service{width:auto;min-width:0;box-sizing:border-box}
@media(min-width:900px){.app.home-themed.home-service-fixed>main{grid-template-columns:minmax(0,1fr)!important}.app.home-themed.home-service-fixed[data-page="home"]>main>.home-services{grid-column:1/-1!important;grid-row:auto!important;width:100%;max-width:none;box-sizing:border-box}.app.home-themed.home-service-fixed .home-primary-grid{gap:16px 24px}}
/* Shared compact office card, kept after the grid in the same cascade order. */
.my-office-card.compact-office{padding:14px 16px!important;border-radius:22px;margin:12px 0 20px;min-width:0}.compact-office-heading{display:flex;align-items:center;gap:12px;min-width:0}.compact-hikorea{width:82px;height:38px;object-fit:contain;background:transparent!important;border-radius:0!important;flex:none}.compact-office-heading>div{flex:1;min-width:0}.compact-office-heading h2{font-size:12px!important;margin:0 0 4px!important;color:var(--muted)}.compact-office-heading strong{font-size:14px;line-height:1.5;display:block;overflow-wrap:anywhere}.compact-office-heading .text-button{font-size:12px;min-height:44px;max-width:42%;line-height:1.5}.office-edit-mini{width:44px;min-height:44px;padding:0;background:transparent;color:var(--muted);font-size:20px;flex:none}.compact-office .compact-office-address{font-size:12px;line-height:1.6;margin:8px 0 10px;color:var(--muted);overflow-wrap:anywhere}.compact-office-actions{display:flex;gap:8px;align-items:stretch}.office-icon-action{width:44px;min-height:44px;padding:10px;display:grid;place-items:center;box-sizing:border-box;flex:none;text-decoration:none}.office-icon-action img{width:30px;height:30px;display:block}.office-icon-action{background:var(--panel,#fff);border-radius:14px;padding:7px;box-shadow:0 3px 9px #4778d512}.office-edit-mini{display:grid;place-items:center;background:var(--panel,#fff);border-radius:14px}.office-edit-mini img{display:block;width:28px;height:28px}.compact-reserve{flex:1;min-width:0;min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;line-height:1.5;text-decoration:none;box-sizing:border-box}.compact-office-info{font-size:11px;margin-top:8px;color:var(--muted)}.compact-office-info summary{cursor:pointer;min-height:24px}.compact-office-info small,.compact-office-info a{display:block;margin-top:6px;line-height:1.7}.compact-relocation{display:block;margin-top:8px;line-height:1.6}

/* PC home restoration 20261028: preserve mobile and the centered hero/office. */
@media(min-width:900px){
 .app.home-themed~.bottom-nav.customer-tabs{display:none}
 .app.home-themed.home-service-fixed .home-primary-grid>.service{min-height:148px;gap:12px;padding:14px 10px!important;border:1px solid var(--line,#dce7f4);border-radius:18px;background:var(--panel,#fff);text-align:center;box-shadow:none}
 .app.home-themed.home-service-fixed .home-primary-grid .home-primary-art{width:80px;height:80px;max-width:100%}
 .app.home-themed.home-service-fixed .home-primary-grid>.service strong{font-size:16px!important;line-height:1.5!important;min-height:26px}
 .app.home-themed .home-support-rail,.app.home-themed .home-support-rail:has(>.home-support-card:nth-child(2):last-child),.app.home-themed .home-support-rail:has(>.home-support-card:only-child){grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
}
@media(min-width:1100px){
 .app.home-themed.home-service-fixed .home-primary-grid{grid-template-columns:repeat(auto-fit,minmax(124px,1fr))!important;gap:16px}
}
@media(min-width:1200px){
 .app.home-themed .home-scenery>.desktop-nav{gap:8px;padding:10px!important}
 .app.home-themed.home-service-fixed[data-page="home"]:has(>main>.home-support)>main{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr)!important;align-items:start}
 .app.home-themed.home-service-fixed[data-page="home"]:has(>main>.home-support)>main>.home-services{grid-column:1!important;grid-row:auto!important}
 .app.home-themed.home-service-fixed[data-page="home"]:has(>main>.home-support)>main>.home-support{grid-column:2!important;grid-row:auto!important}
 .app.home-themed.home-service-fixed[data-page="home"]:has(>main>.home-support) .home-support-rail{grid-template-columns:minmax(0,1fr)!important}
 .app.home-themed[data-page="home"]>main>.promotion-slot{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;margin:0}
 .app.home-themed[data-page="home"]>main>.promotion-slot>.promotion-item:not(.promotion-compact){display:flex;flex-direction:column;align-items:stretch}
 .app.home-themed[data-page="home"]>main>.promotion-slot .promotion-gallery{aspect-ratio:3/2;align-content:center;box-sizing:border-box}
 .app.home-themed[data-page="home"]>main>.promotion-slot .promotion-copy{display:flex;flex-direction:column;flex:1}
 .app.home-themed[data-page="home"]>main>.promotion-slot .promotion-cta{margin-top:auto}
}

/* Approved peek rests on the actual HiKorea reservation CTA, not the surrounding service card. */
.app.home-themed .home-office{--home-peek-width:184px;position:relative;isolation:isolate;overflow:visible}
.app.home-themed .home-office .home-office-perch:is(button,a){position:relative;z-index:2;overflow:visible}
.app.home-themed .home-office .home-office-perch>.home-office-mascot{top:calc(var(--home-peek-width) * -330 / 420);bottom:auto;right:-36px;left:auto;width:var(--home-peek-width);height:calc(var(--home-peek-width) * 440 / 420);aspect-ratio:21/22;max-height:none;z-index:4;pointer-events:none;overflow:visible;transform:none}
.app.home-themed .home-office .home-office-perch>.home-office-mascot img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;clip-path:none}
@media(max-width:359px){.app.home-themed .home-office{--home-peek-width:156px}}
@media(max-width:899px){.app.home-themed .home-greeting{box-sizing:border-box;min-height:190px;padding-bottom:40px}}
@media(min-width:900px){.app.home-themed .home-office{--home-peek-width:260px}}

/* Keep the address above the rear body arc and reserve a clear label area beside the foreground tail. */
.app.home-themed .home-office .compact-office-actions{margin-top:12px}

/* Keep native content alignment; only the character extends over the adjacent edit button. */
.app.home-themed .home-office .compact-office-actions:has(>.home-office-setup) .home-office-perch>.home-office-mascot{right:-16px}
.app.home-themed .home-office .compact-office-actions:has(>.office-edit-mini) .home-office-perch>.home-office-mascot{right:-52px}

/* Keep the home title directly over the illustration, without a white halo. */
.app.home-themed .home-greeting:before{content:none;display:none}
.app.home-themed .home-greeting h1,.app.home-themed .home-desktop-intro{text-shadow:none}

/* Public job directory: compact filters and full-width cards. */
.student-jobs{min-width:0;--muted:#64748b}
:host([data-dark]) .student-jobs{--muted:#b8c4d8}
.student-jobs .job-listing-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.student-jobs .job-listing-heading .page-head{margin:0}
.student-jobs .job-listing-heading .job-public-actions{margin:0;gap:8px}
.student-jobs .job-public-actions>button{width:auto;min-height:44px;padding:10px 16px;font-size:13px}
.student-jobs .job-listing-notice{margin:0 0 20px;padding:14px 16px;font-size:12px;line-height:1.7;border-radius:16px}
.job-listing-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:12px}
.student-jobs .job-listing-search{margin:0;min-width:0;min-height:58px;border-radius:16px;background:var(--panel,#fff);gap:10px}
.student-jobs .job-listing-search input{width:100%;min-width:0;padding:16px 0;font-size:14px;color:var(--ink);box-shadow:none}
.job-listing-search>svg{width:20px;height:20px;flex:none;color:var(--muted)}
.job-industry-field{display:flex;align-items:center;position:relative;min-width:0;min-height:58px;border:1px solid var(--line);border-radius:16px;background:var(--panel,#fff)}
.job-industry-field>span{padding-inline-start:16px;font-size:12px;color:var(--muted);flex:none;pointer-events:none}
.job-industry-field select{appearance:none;-webkit-appearance:none;background:transparent;border:0;border-radius:16px;color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.5;min-width:0;flex:1;min-height:56px;padding:15px 36px 15px 12px;cursor:pointer;box-shadow:none}
.job-industry-field select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.job-industry-field>svg{width:18px;height:18px;position:absolute;right:14px;pointer-events:none;color:var(--muted)}
.job-industry-field option{background:var(--panel,#fff);color:var(--ink);font-weight:400}
.job-listing-results{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-height:58px;padding:12px 0}
.job-listing-results>p:first-child{font-weight:750;font-size:14px;color:var(--ink)}
.job-listing-results .text-button{padding:7px 4px;min-height:36px}
.job-listing-results .job-listing-original{margin-inline-start:auto;color:var(--muted);font-size:11px;line-height:1.5}
.student-jobs .job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;scroll-snap-type:none}
.student-jobs .job-grid>.empty{grid-column:1/-1;width:100%;box-sizing:border-box}
.student-jobs .job-listing-card{display:flex;flex-direction:column;align-items:stretch;gap:0;box-sizing:border-box;padding:22px;border:1px solid var(--line);border-radius:22px;min-height:0;max-width:none;background:var(--panel,#fff);box-shadow:0 4px 18px #20365b05;backdrop-filter:none;text-align:start;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden}
.student-jobs .job-listing-card:before,.student-jobs .job-listing-card:after{display:none}
.job-listing-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-bottom:14px}
.job-listing-labels{display:flex;align-items:flex-start;flex-direction:column;gap:7px;min-width:0}
.job-listing-industry{font-size:12px;font-weight:650;color:var(--blue);line-height:1.4;overflow-wrap:anywhere}
.job-listing-labels .badge{font-size:10px;line-height:1.4;white-space:normal;padding:4px 7px;border-radius:6px}
.job-listing-art{flex:none;width:48px;height:48px}
.job-listing-art img{display:block;width:100%;height:100%;object-fit:contain}
.student-jobs .job-listing-company{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 5px;overflow-wrap:anywhere}
.student-jobs .job-listing-card h3{font-size:19px;line-height:1.45;letter-spacing:-.035em;color:var(--ink);margin:0 0 16px;font-weight:750;word-break:keep-all;overflow-wrap:anywhere}
.job-listing-pay{border-radius:12px;background:var(--soft,#edf3fc);color:var(--blue);padding:12px 14px;margin-bottom:16px;font-size:15px;font-weight:750;line-height:1.6;overflow-wrap:anywhere}
.job-listing-meta{display:grid;gap:9px;margin-bottom:18px}
.student-jobs .job-listing-meta p{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:12px;line-height:1.65;margin:0}
.job-listing-meta svg{width:16px;height:16px;flex:none;margin-top:2px}
.job-listing-meta span{min-width:0;overflow-wrap:anywhere}
.job-listing-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 12px;border-top:1px solid var(--line);margin-top:auto;padding-top:14px}
.job-listing-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;color:var(--muted);font-size:11px;line-height:1.5}
.job-listing-dorm{padding:3px 7px;background:var(--soft,#edf3fc);border-radius:6px;color:var(--blue)}
.job-listing-open{display:inline-flex;align-items:center;gap:5px;color:var(--blue);font-size:11px;font-weight:700;margin-inline-start:auto}
.job-listing-open svg{width:17px;height:17px}
.student-jobs .job-listing-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(hover:hover){.student-jobs .job-listing-card:hover{border-color:var(--blue);box-shadow:0 8px 24px #20365b0d;transform:translateY(-2px)}}
@media(max-width:1100px){.student-jobs .job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .student-jobs .job-listing-heading{display:block;margin-bottom:16px}
 .student-jobs .job-listing-heading .job-public-actions{margin-top:14px;display:grid;grid-template-columns:1fr 1fr}
 .student-jobs .job-public-actions>button{width:100%;padding:10px;font-size:12px;line-height:1.5;border-radius:13px}
 .job-listing-filters{grid-template-columns:minmax(0,1fr);gap:10px}
 .job-industry-field{min-height:52px}
 .job-industry-field select{min-height:50px;padding-top:13px;padding-bottom:13px}
 .job-listing-results{min-height:0;padding:16px 0 12px;gap:4px 10px}
 .job-listing-results .job-listing-original{flex-basis:100%;margin:0;font-size:10px}
 .student-jobs .job-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .student-jobs .job-listing-card{padding:20px;border-radius:20px}
 .job-listing-top{margin-bottom:12px}
 .job-listing-labels{flex-direction:row;align-items:center;flex-wrap:wrap;gap:7px}
 .student-jobs .job-listing-card h3{font-size:20px;margin-bottom:14px}
 .job-listing-pay{font-size:15px;padding:11px 12px;margin-bottom:14px}
 .job-listing-meta{gap:7px;margin-bottom:16px}
}
@media(max-width:359px){.student-jobs .job-listing-card{padding:16px}.job-listing-labels{flex-direction:column;align-items:flex-start}.student-jobs .job-listing-card h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.student-jobs .job-listing-card{transition:none}.student-jobs .job-listing-card:hover{transform:none}}

/* Crisp pixel mascot rendering; landscape backdrops retain their original sampling. */
img[src^="/assets/crow-pixel-20261102-v1/"]:not([src*="/backgrounds/"]),.home-mascot-body,.guide-dragon{image-rendering:pixelated}
