
.subpage{height:100%;min-height:0;padding:18px clamp(16px,4vw,28px) calc(var(--nav-h) + 28px + env(safe-area-inset-bottom));background:#f5f7f6;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.page_top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.page_top h2{font-size:clamp(24px,4vw,32px);letter-spacing:-.05em}.page_top p{margin-top:6px;color:#777e79;font-size:12px;line-height:1.5}.page_badge{height:30px;display:flex;align-items:center;padding:0 11px;border-radius:15px;background:#e7f7ed;color:var(--green-deep);font-size:11px;font-weight:800;white-space:nowrap}
.app_card{background:#fff;border:1px solid #e8ece9;border-radius:18px;box-shadow:0 8px 22px rgba(20,29,23,.05);overflow:hidden}.app_card+.app_card{margin-top:12px}.card_pad{padding:18px}.section_title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section_title strong{font-size:15px}.section_title a,.section_title button{color:var(--green);font-size:11px;font-weight:800}
.form_stack{display:grid;gap:11px}.field{display:grid;gap:6px}.field label{font-size:11px;color:#666d68;font-weight:700}.field_box{height:48px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:0 12px;border:1px solid #e0e5e2;border-radius:12px;background:#fbfcfb}.field_box .i{width:20px;height:20px;color:#59605b}.field_box input{width:100%;font-size:14px}.field_value{font-size:14px;font-weight:700}.field_hint{font-size:10px;color:#8a908c}
.chip_row{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.chip_row::-webkit-scrollbar{display:none}.choice_chip{height:34px;padding:0 13px;border:1px solid #dfe4e1;border-radius:17px;background:#fff;white-space:nowrap;font-size:11px;font-weight:700}.choice_chip.selected{background:#eaf8ef;border-color:#acd9bf;color:var(--green-deep)}
.primary_wide,.outline_wide{width:100%;height:50px;border-radius:12px;font-size:15px;font-weight:800}.primary_wide{background:linear-gradient(135deg,#079755,#04894a);color:#fff;box-shadow:0 9px 18px rgba(7,151,85,.14)}.outline_wide{border:1.5px solid var(--green);background:#fff;color:var(--green)}
.soft_notice{padding:12px 14px;border-radius:13px;background:#eef7f2;color:#3c684f;font-size:11px;line-height:1.55}
.route_card{display:grid;grid-template-columns:1fr auto;gap:12px}.route_main strong{display:block;font-size:17px}.route_main span{display:block;margin-top:7px;color:#656c67;font-size:12px}.route_price{text-align:right;color:var(--green);font-size:24px;font-weight:800}.route_meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mini_tag{height:25px;display:inline-flex;align-items:center;padding:0 9px;border-radius:7px;background:#f1f4f2;color:#636a65;font-size:10px;font-weight:700}.mini_tag.green{background:#eaf8ef;color:var(--green-deep)}
.proposal_card{display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center;padding:16px}.avatar_circle{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e7f7ed;color:var(--green);font-weight:800}.proposal_info strong{display:block;font-size:14px}.proposal_info span{display:block;margin-top:4px;color:#737a75;font-size:10px}.proposal_price{text-align:right}.proposal_price strong{display:block;color:var(--green);font-size:21px}.proposal_price small{color:#8b918d;font-size:9px}.proposal_actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}.proposal_actions button{height:41px;border-radius:10px;font-size:12px;font-weight:800}
.timeline{display:grid;gap:0}.timeline_item{display:grid;grid-template-columns:28px 1fr;gap:10px;min-height:62px}.timeline_mark{position:relative}.timeline_mark:before{content:"";position:absolute;left:13px;top:25px;bottom:-4px;width:2px;background:#e1e6e3}.timeline_item:last-child .timeline_mark:before{display:none}.timeline_dot{position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#edf1ee;color:#87908a}.timeline_item.done .timeline_dot{background:#e4f6eb;color:var(--green)}.timeline_item.current .timeline_dot{background:var(--green);color:#fff;box-shadow:0 0 0 6px rgba(7,151,85,.1)}.timeline_dot .i{width:15px;height:15px}.timeline_copy strong{display:block;font-size:13px}.timeline_copy span{display:block;margin-top:5px;color:#808681;font-size:10px}
.stats_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat_box{padding:15px 8px;border-radius:13px;background:#f7f9f8;text-align:center}.stat_box span{display:block;color:#7d837f;font-size:10px}.stat_box strong{display:block;margin-top:6px;font-size:16px}
.menu_list{display:grid}.menu_row{height:57px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;border-top:1px solid #edf0ee;text-align:left}.menu_row:first-child{border-top:0}.menu_row .i{width:21px;height:21px;color:#4f5751}.menu_row strong{font-size:13px}.menu_row span{display:block;margin-top:3px;color:#8a908c;font-size:9px}.menu_row .chev_i{width:16px;height:16px;color:#9ba09d}
.segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;border-radius:12px;background:#eef1ef}.segmented button{height:36px;border-radius:9px;font-size:11px;font-weight:800;color:#727873}.segmented button.active{background:#fff;color:#151a16;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.login_page{min-height:100dvh;display:grid;place-items:center;padding:28px 20px;background:linear-gradient(180deg,#fff 0%,#f3f7f5 100%)}.login_box{width:min(100%,430px)}.login_brand{text-align:center;margin-bottom:32px}.login_logo{width:72px;height:72px;display:grid;place-items:center;margin:0 auto;border-radius:50%;background:linear-gradient(145deg,#02934f,#0aac64);color:#fff;font-size:31px;font-weight:800;box-shadow:0 14px 30px rgba(7,151,85,.18)}.login_brand h1{margin-top:15px;font-size:29px;letter-spacing:-.05em}.login_brand p{margin-top:8px;color:#727975;font-size:12px}.sns_btn{height:54px;width:100%;display:grid;grid-template-columns:30px 1fr 30px;align-items:center;padding:0 15px;border-radius:13px;font-size:14px;font-weight:800}.sns_btn+.sns_btn{margin-top:10px}.sns_btn.kakao{background:#fee500;color:#171717}.sns_btn.google{background:#fff;border:1px solid #dfe4e1;color:#222}.sns_icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-weight:900}.sns_btn.kakao .sns_icon{background:#171717;color:#fee500;font-size:12px}.sns_btn.google .sns_icon{border:1px solid #d8ddda;color:#4285f4}.login_note{margin-top:18px;text-align:center;color:#969b98;font-size:10px;line-height:1.55}
.onboard_steps{display:flex;align-items:center;gap:5px;margin-bottom:20px}.onboard_steps span{height:5px;flex:1;border-radius:4px;background:#dfe5e1}.onboard_steps span.on{background:var(--green)}
.role_cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role_card{padding:18px;border:1px solid #e0e5e2;border-radius:16px;background:#fff;text-align:left}.role_card.selected{border-color:#9ed4b6;background:#eff9f3}.role_icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#f0f4f2;color:#4f5b54}.role_card.selected .role_icon{background:#dff4e8;color:var(--green)}.role_icon .i{width:24px}.role_card strong{display:block;margin-top:13px;font-size:15px}.role_card p{margin-top:6px;color:#767d78;font-size:10px;line-height:1.5}
.chat_page_stream{height:auto;min-height:0;flex:1 1 auto;overflow:auto;padding:14px}.chat_page_compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid #edf0ee}.chat_page_compose input{height:45px;padding:0 12px;border:1px solid #dfe5e1;border-radius:11px;background:#fbfcfb}.chat_page_compose button{height:45px;padding:0 16px;border-radius:10px;background:var(--green);color:#fff;font-weight:800}
.history_item{padding:16px;border-top:1px solid #edf0ee}.history_item:first-child{border-top:0}.history_item_top{display:flex;justify-content:space-between;gap:10px}.history_item strong{font-size:14px}.history_item em{font-style:normal;color:var(--green);font-size:16px;font-weight:800}.history_item p{margin-top:6px;color:#747b76;font-size:10px}.history_item .route_meta{margin-top:9px}
.pay_summary{display:grid;gap:10px}.pay_line{display:flex;align-items:center;justify-content:space-between;font-size:12px}.pay_line span{color:#737a75}.pay_total{padding-top:12px;border-top:1px solid #e8ece9}.pay_total strong{font-size:20px;color:var(--green)}
.admin_shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#f4f6f5}.admin_side{background:#112119;color:#fff;padding:28px 22px}.admin_logo{font-size:22px;font-weight:800}.admin_logo b{color:#2ac97c}.admin_side p{margin-top:5px;color:#a7b7af;font-size:11px}.admin_nav{display:grid;margin-top:28px}.admin_nav a{padding:13px 5px;border-bottom:1px solid #263930;color:#dce4df;font-size:13px}.admin_main{padding:28px}.admin_top{display:flex;justify-content:space-between;align-items:center}.admin_top h1{font-size:25px}.admin_top span{padding:7px 10px;border-radius:15px;background:#e5f7ec;color:#087f49;font-size:10px;font-weight:800}.admin_cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}.admin_card{padding:18px;border:1px solid #e4e9e6;border-radius:15px;background:#fff}.admin_card span{color:#7e8580;font-size:10px}.admin_card strong{display:block;margin-top:7px;font-size:24px}.admin_table{margin-top:14px;border:1px solid #e4e9e6;border-radius:15px;background:#fff;overflow:hidden}.admin_row{display:grid;grid-template-columns:1.2fr 1fr 1fr .7fr;gap:12px;padding:13px 16px;border-top:1px solid #edf0ee;font-size:11px}.admin_row:first-child{border-top:0;background:#f8faf9;font-weight:800}
@media(max-width:720px){.admin_shell{grid-template-columns:1fr}.admin_side{display:none}.admin_main{padding:18px}.admin_cards{grid-template-columns:1fr 1fr}.admin_row{grid-template-columns:1.2fr 1fr .8fr}.admin_row span:nth-child(3){display:none}}

/* clean shared action sheet */
.global_action_sheet{display:none;position:fixed;z-index:520;inset:0}.global_action_sheet.show{display:block}.global_action_backdrop{position:absolute;inset:0;background:rgba(6,10,8,.43)}.global_action_panel{position:absolute;left:50%;bottom:0;width:min(100%,820px);transform:translateX(-50%);padding:0 clamp(18px,4vw,28px) calc(22px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -16px 44px rgba(10,18,13,.2)}.global_action_handle{width:100%;height:27px;display:grid;place-items:center}.global_action_handle span{width:43px;height:5px;border-radius:4px;background:#d5dad7}.global_action_head{display:flex;align-items:center;justify-content:space-between;padding:4px 0 15px}.global_action_kicker{display:block;color:var(--green);font-size:10px;font-weight:800}.global_action_head h3{margin-top:4px;font-size:21px}.global_action_x{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#f5f7f6}.global_action_body{padding:16px;border-radius:14px;background:#f5f8f6;color:#5d655f;font-size:12px;line-height:1.65}.global_action_buttons{margin-top:14px}.global_action_buttons button{width:100%;height:47px;border-radius:11px;font-weight:800}.action_primary{background:var(--green);color:#fff}

body[data-page="chat"] #container{background:#f5f7f6}
body[data-page="chat"] .subpage{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px)}
body[data-page="chat"] .page_top{flex:0 0 auto}
body[data-page="chat"] .chat_shell_card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body[data-page="chat"] .proposal_card{flex:0 0 auto}
body[data-page="chat"] .quick_replies{flex:0 0 auto;padding:0 12px 10px}
body[data-page="chat"] .chat_page_compose{flex:0 0 auto;background:#fff;padding:10px 12px 12px}
.menu_row>.mini_tag{display:inline-flex;align-items:center;justify-content:center;margin:0;min-width:42px;height:25px;padding:0 9px;line-height:1;color:var(--green-deep);font-size:10px;font-weight:800}
@media(max-width:389px){body[data-page="chat"] .subpage{padding-left:12px;padding-right:12px}body[data-page="chat"] .chat_page_compose{grid-template-columns:minmax(0,1fr) auto}}
