:root{--primary-color:#f75c82;--primary-hover:#e04469;--primary-light:#fff0f4;--text-main:#1d1d1f;--text-muted:#86868b;--bg-page:#f5f5f7;--bg-glass:#ffffffb3;--border-color:#00000014;--shadow-sm:0 4px 12px #0000000d;--shadow-md:0 8px 30px #00000014}*{box-sizing:border-box;margin:0;padding:0;font-family:Pretendard,sans-serif}body,html{background-color:var(--bg-page);height:100%;min-height:100dvh;overflow:hidden}body{color:var(--text-main);background-image:radial-gradient(circle at 0 0,#ffe3ec 0%,#0000 40%),radial-gradient(circle at 100% 100%,#eaf2ff 0%,#0000 40%)}.app-container{flex-direction:column;height:100dvh;min-height:100dvh;display:flex}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.glass-heavy{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-md);background:#ffffffd9;border:1px solid #ffffff80}.top-nav{border-bottom:1px solid var(--border-color);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:.8rem 2rem;display:flex}.logo-text{align-items:center;gap:8px;font-size:1.2rem;font-weight:700;display:flex}.badge{background-color:var(--primary-light);color:var(--primary-color);border-radius:12px;padding:4px 8px;font-size:.75rem;font-weight:600}.nav-actions{gap:12px;display:flex}button{cursor:pointer;border:none;outline:none;font-weight:600;transition:all .2s}.btn-primary{background-color:var(--primary-color);color:#fff;border-radius:8px;padding:10px 20px;font-size:.9rem}.btn-text{color:var(--text-muted);background:0 0;padding:10px 16px;font-size:.9rem}.btn-submit{background-color:var(--text-main);color:#fff;border-radius:12px;width:100%;margin-top:10px;padding:14px;font-size:1rem}.btn-submit:disabled{cursor:not-allowed;background-color:#ddd}.notice{border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;font-size:.92rem;line-height:1.5;display:flex}.notice-info{color:#1d4ed8;background:#eff6ff}.notice-error{color:#be123c;background:#fff1f2}.notice-success{color:#047857;background:#ecfdf5}.notice-close{color:inherit;background:0 0;padding:0;font-size:.95rem;line-height:1}.view-container{flex:1;justify-content:center;align-items:center;height:calc(100dvh - 60px);min-height:0;padding:2rem;display:flex;overflow:hidden}.view-container.auth-view{align-items:flex-start;overflow:hidden auto}.login-box{border-radius:20px;width:100%;max-width:420px;padding:2.5rem}.view-container.auth-view .login-box{margin:clamp(1rem,4vh,2.25rem) auto 2rem}.auth-shell{max-width:460px}.login-header{margin-bottom:2rem}.login-header h2{letter-spacing:-.5px;margin-bottom:.5rem;font-size:1.6rem}.login-header p{color:var(--text-muted);font-size:.95rem;line-height:1.5}.auth-tabs{background:#ffffffa6;border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:1.4rem;padding:6px;display:grid}.auth-tab{color:var(--text-muted);background:0 0;border-radius:10px;padding:10px 12px;font-size:.92rem}.auth-tab.active{color:var(--text-main);box-shadow:var(--shadow-sm);background:#fff}.input-group{flex-direction:column;gap:6px;margin-bottom:1.5rem;display:flex}.input-group label{color:var(--text-main);font-size:.85rem;font-weight:600}.input-group input{border:1px solid var(--border-color);border-radius:12px;padding:14px 16px;font-size:1rem}.input-hint{color:var(--text-muted);font-size:.8rem;line-height:1.5}.checklist-card{border:1px solid var(--border-color);background:#ffffff8c;border-radius:14px;flex-direction:column;gap:12px;margin-top:10px;padding:14px 16px;display:flex}.checklist-row{color:var(--text-main);align-items:flex-start;gap:10px;font-size:.92rem;line-height:1.6;display:flex}.checklist-row input{margin-top:4px}.auth-secondary-action{width:fit-content;color:var(--primary-color);margin:-4px 0 14px;padding:0}.signup-feedback{z-index:2;box-shadow:var(--shadow-md);margin:14px 0 0;position:sticky;bottom:12px}.admin-dashboard{width:100%;max-width:600px;box-shadow:var(--shadow-sm);text-align:center;background:#ffffffe6;border-radius:20px;padding:3rem}.chat-layout{width:100%;max-width:1000px;height:85%;box-shadow:var(--shadow-md);border:1px solid #fff6;border-radius:20px;margin:auto;display:flex;overflow:hidden}.chat-sidebar{border-right:1px solid var(--border-color);flex-direction:column;width:280px;padding:2rem 1.5rem;display:flex}.mobile-app-layout{border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);width:100%;max-width:1000px;height:100%;min-height:0;margin:0 auto;display:flex;position:relative;overflow:hidden}.inbox-view{border-right:1px solid var(--border-color);background:#fff9;flex-direction:column;width:320px;display:flex}.inbox-header{border-bottom:1px solid var(--border-color);padding:20px}.inbox-header h2{font-size:1.2rem}.inbox-list{flex:1;overflow-y:auto}.empty-inbox{text-align:center;color:var(--text-muted);padding:3rem 1.5rem;font-size:.9rem}.inbox-item{border-bottom:1px solid var(--border-color);cursor:pointer;gap:12px;padding:16px 20px;transition:all .2s;display:flex}.inbox-item:hover{background:#ffffffe6}.avatar-sm{background-color:var(--primary-light);width:48px;height:48px;color:var(--primary-color);border-radius:20px;justify-content:center;align-items:center;display:flex}.inbox-info h4{justify-content:space-between;align-items:center;margin-bottom:4px;font-size:1rem;display:flex}.inbox-info h4 span{color:#888;font-size:.75rem;font-weight:400}.inbox-info p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.85rem;overflow:hidden}.mobile-app-layout .chat-main{border:none;border-radius:0}.empty-chat-state{color:var(--text-muted);flex:1;justify-content:center;align-items:center;height:100%;font-size:1.1rem;display:flex}.chat-mobile-header{border-bottom:1px solid var(--border-color);background:#fff;align-items:center;gap:12px;padding:16px;display:flex}.btn-back{color:var(--text-main);background:0 0;padding:8px;display:none}.chat-main{background:#fffffff2;flex-direction:column;flex:1;height:100%;min-height:0;display:flex;position:relative}.chat-messages{flex-direction:column;flex:1;gap:12px;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.message-system{text-align:center;margin:10px 0}.message-system span{color:var(--text-muted);background:#0000000a;border-radius:12px;padding:4px 12px;font-size:.75rem}.msg-bubble{flex-direction:column;max-width:65%;display:flex}.msg-bubble.me{align-self:flex-end;align-items:flex-end}.msg-bubble.other{align-self:flex-start;align-items:flex-start}.msg-text{word-break:break-all;border-radius:16px;padding:10px 14px;font-size:.95rem;line-height:1.4}.msg-bubble.me .msg-text{background-color:var(--primary-color);color:#fff;border-top-right-radius:4px;box-shadow:0 4px 10px #f75c8233}.msg-bubble.other .msg-text{color:var(--text-main);background-color:#f1f1f2;border-top-left-radius:4px}.msg-time{color:var(--text-muted);margin-top:4px;padding:0 4px;font-size:.7rem}.chat-input-area{padding:12px 1.5rem calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border-color);background:#ffffffe6}.chat-input-row{align-items:flex-end;gap:12px;display:flex}.chat-attach-button{cursor:pointer;background:#f1f1f2;border-radius:50%;flex:none;justify-content:center;align-items:center;min-width:52px;min-height:52px;padding:14px;font-size:1.15rem;transition:all .2s;display:flex}.chat-composer{border:1px solid var(--border-color);resize:none;border-radius:20px;outline:none;flex:1;width:100%;min-width:0;min-height:52px;max-height:140px;padding:12px 16px;font-size:.95rem;line-height:1.45;transition:all .2s;box-shadow:0 2px 6px #00000005}.chat-composer:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px var(--primary-light)}.chat-composer::placeholder{color:#8c8c91}.btn-send{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:20px;min-width:50px;font-size:.9rem}.chat-send-button{white-space:nowrap;flex:none;justify-content:center;align-items:center;min-height:52px;padding:0 24px;display:inline-flex}@media screen and (width<=768px){.top-nav{padding:.8rem 1rem}.logo-text{font-size:1rem}.badge{display:none}.view-container{height:calc(100dvh - 60px);padding:0}.view-container.auth-view .login-box{margin:0 auto 1.25rem;padding:1.5rem}.chat-layout{height:100%;box-shadow:none;border:none;border-radius:0;flex-direction:column}.chat-sidebar{display:none}.mobile-app-layout{border:none;flex-direction:row;width:100%}.inbox-view{background:#fff;flex-shrink:0;width:100%}.chat-main{flex-shrink:0;width:100%}.btn-back{justify-content:center;align-items:center;margin-right:8px;display:flex}.chat-mobile-header{gap:10px;padding:14px 16px}.chat-mobile-header h3{flex:1;min-width:0;line-height:1.3}.chat-messages{padding:1rem}.chat-input-area{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.chat-input-row{align-items:center;gap:10px}.chat-attach-button{min-width:46px;min-height:46px;padding:0}.chat-composer{min-height:56px;padding:12px 14px;font-size:.94rem}.chat-send-button{border-radius:16px;min-height:46px;padding:0 18px}.hidden-mobile{display:none!important}}@media screen and (width<=560px){.chat-mobile-header{padding:12px 14px}.chat-mobile-header h3{overflow-wrap:anywhere;font-size:1.05rem!important}.chat-input-area{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.chat-input-row{grid-template-columns:46px minmax(0,1fr);align-items:end;gap:8px 10px;display:grid}.chat-attach-button{grid-area:1/1/span 2;align-self:end}.chat-composer{grid-area:1/2;min-height:54px;max-height:120px;padding:11px 13px}.chat-send-button{grid-area:2/2;width:100%;min-height:44px;padding:0 16px}}.fade-up{animation:.6s forwards fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lawyer-profile{text-align:center;margin-bottom:2rem}.bg-pink{background-color:var(--primary-light);color:var(--primary-color)}.avatar-lg{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:2rem;font-weight:700;display:flex}.role-badge{color:var(--text-muted);background:#eee;border-radius:12px;padding:4px 10px;font-size:.8rem;display:inline-block}.room-status{border-top:1px solid var(--border-color);justify-content:center;align-items:center;gap:8px;margin-top:auto;padding-top:20px;font-size:.85rem;font-weight:600;display:flex}.status-indicator{background-color:#34c759;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #34c75980}
