@charset "UTF-8";
:root { --ink:#111a48; --muted:#7d8592; --line:#e5e7eb; --paper:#fff; --canvas:#f5f6f8; --accent:#f0a04b; --gold:#a98554; }
* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--ink); font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.55; }
button:focus-visible,a:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px #f0a04b26; }
input,select,textarea { display:block; width:100%; min-width:0; min-height:40px; padding:9px 11px; color:#303747; background:#fff; border:1px solid var(--line); border-radius:8px; transition:border-color .15s,box-shadow .15s; }
input::placeholder,textarea::placeholder { color:#9da3ad; }
input:disabled,select:disabled { background:#f7f8fa; color:#747b87; }
textarea { resize:vertical; }
label { display:block; min-width:0; color:#646c7c; font-size:12px; font-weight:500; }
label input,label select,label textarea { margin-top:5px; font-size:14px; }
label small { display:block; margin-top:4px; color:#969ca7; font-weight:400; }
h1,h2,h3,p { margin:0; }
h1 { margin:9px 0; font-size:30px; letter-spacing:-1.2px; line-height:1.4; }
h2 { font-size:21px; letter-spacing:-.6px; }
h3 { font-size:15px; letter-spacing:-.3px; }
em { color:#c47728; font-style:normal; }
.muted { color:var(--muted); font-size:13px; }
.eyebrow { font-size:10px; letter-spacing:1.8px; font-weight:700; color:var(--gold); }
.eyebrow span { margin-left:16px; padding-left:22px; border-left:24px solid #e6e0d5; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:19px 28px; background:#fff; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.brand strong { font-size:20px; letter-spacing:-1px; }
.brand>span:last-child { font-size:12px; color:#646b7b; }
.brand-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; transform:rotate(-9deg); background:var(--ink); color:#f9dba8; font-size:26px; font-weight:900; }
.top-actions { display:flex; align-items:center; gap:18px; font-size:12px; }
.account { color:var(--muted); }
.account:before { content:""; display:inline-block; margin-right:7px; width:7px; height:7px; border-radius:50%; background:#76ab90; box-shadow:0 0 0 3px #eef6f0; }
main { max-width:1600px; margin:auto; padding:36px 28px 40px; }
.hero { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:30px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:6px; min-height:40px; padding:9px 16px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; font-size:12px; font-weight:600; white-space:nowrap; }
.button>svg { flex:0 0 16px; width:16px; height:16px; }
.button:hover { border-color:#c8cbd2; }
.button.primary { background:var(--ink); color:#fff; border-color:var(--ink); }
.button.accent { background:#e9a64f; border-color:#e9a64f; color:#35230d; min-width:110px; }
.button.accent:hover { background:var(--accent); }
.button.subtle { background:#f7f8fa; border-color:transparent; }
.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.stat { display:flex; flex-direction:column; align-items:flex-start; padding:18px 22px; min-height:116px; background:#fff; border:1px solid var(--line); border-radius:13px; text-align:left; box-shadow:0 8px 25px #202a401f; color:var(--ink); }
.stat>span { width:100%; font-size:12px; font-weight:600; }
.stat strong { font-size:29px; line-height:1.5; }
.stat small { color:var(--muted); font-size:11px; }
.stat.active { border-color:#d6a163; box-shadow:inset 0 0 0 1px #d6a163; }
.stat.dark { background:var(--ink); color:#fff; }
.stat.dark small { color:#bcc0d0; }
.stat i { float:right; color:#e1b478; font-style:normal; }
.stat i svg { width:15px; height:15px; }
.desk-layout { display:grid; grid-template-columns:345px minmax(0,1fr); align-items:start; gap:20px; }
.panel { background:var(--paper); border:1px solid var(--line); border-radius:13px; box-shadow:0 8px 30px #202a4008; overflow:hidden; }
.panel-top { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:22px 20px 16px; }
.panel-top h2 { font-size:18px; }
.customer-panel-actions{display:flex;align-items:center;gap:7px}.mobile-customer-new{display:none}
#list-count { color:#9196a0; font-size:12px; }
.icon-button { display:inline-grid; place-items:center; flex:0 0 34px; width:34px; height:34px; padding:0; background:#f7f8fa; border:0; border-radius:7px; color:#88919e; font-size:25px; line-height:1; }
.icon-button svg { width:18px; height:18px; }
.filters { padding:0 20px 12px; }
.search-field { display:flex; align-items:center; background:#fafbfc; border:1px solid var(--line); border-radius:8px; padding-left:10px; }
.search-field span { display:grid; place-items:center; flex:0 0 20px; color:#9199a5; }
.search-field span svg { width:17px; height:17px; }
.search-field input { background:transparent; border:0; margin:0; font-size:12px; }
.filter-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:10px 0 8px; }
.filters select { font-size:12px; min-height:37px; padding:7px 9px; }
.group-filter { display:flex; gap:8px; }
.group-filter select { flex:1; }
.group-filter .button { min-height:37px; padding:6px 15px; }
.search-button { width:100%; margin-top:8px; }
.list-caption { display:flex; justify-content:space-between; padding:5px 20px 12px; color:#9a9fa9; font-size:11px; border-bottom:1px solid var(--line); }
#customer-list { list-style:none; padding:0; margin:0; max-height:660px; overflow-y:auto; }
.customer-item { display:flex; width:100%; align-items:flex-start; gap:12px; padding:17px 18px; background:#fff; border:0; border-bottom:1px solid #f0f1f3; text-align:left; color:inherit; }
.customer-item:hover { background:#fafbfc; }
.customer-item.selected { background:#fff8ef; box-shadow:inset 3px 0 var(--accent); }
.avatar { display:grid; place-items:center; flex:0 0 35px; height:35px; border-radius:12px; color:#686674; background:#f0eff3; }
.customer-summary { min-width:0; flex:1; font-size:12px; color:#7b8391; }
.customer-summary>span,.customer-summary>small { display:block; overflow-wrap:anywhere; }
.customer-line { display:flex!important; gap:8px; align-items:center; margin-bottom:4px; }
.customer-line strong { color:var(--ink); font-size:15px; }
.badge { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:20px; padding:2px 7px; border-radius:5px; background:#fff1df; color:#9d702f; font-size:10px; line-height:1.2; white-space:nowrap; vertical-align:middle; }
.badge.managed { background:#edf5ef; color:#60866c; }
.chevron { color:#aaa; font-size:23px; }
.customer-summary .upcoming { color:#ab7435; margin-top:3px; }
.pagination { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; font-size:12px; border-top:1px solid var(--line); }
.pagination .button { min-height:30px; padding:4px 10px; }
.pagination button:disabled { cursor:default; }
.panel-foot { padding:15px 20px; color:#9a9fa9; border-top:1px solid var(--line); font-size:10px; }
.editor-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 26px; border-bottom:1px solid var(--line); }
.editor-heading .muted { margin-top:3px; font-size:11px; }
.editor-body { padding:0 26px; }
.form-section { padding:23px 0; border-bottom:1px solid var(--line); }
.form-section:last-child { border:0; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.section-heading p { font-size:11px; color:#9298a3; margin-top:2px; }
.form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px 14px; }
.insurance-result { display:flex; flex-wrap:wrap; gap:7px 14px; align-items:center; min-height:40px; padding:10px 12px; border-radius:8px; background:#fff8ef; color:#7d6a51; font-size:12px; }
.insurance-result span { width:1px; height:14px; background:#dfd3c4; }
.insurance-result strong { color:var(--ink); }
.address-search { display:flex; gap:7px; margin-top:5px; }
.address-search input { margin-top:0; }
.address-search .button { flex:0 0 auto; }
.span-2 { grid-column:span 2; }
.span-3 { grid-column:1/-1; }
.text-button { padding:6px 0; border:0; background:transparent; color:#a17a45; font-size:12px; font-weight:600; white-space:nowrap; }
.chips { display:flex; flex-wrap:wrap; gap:7px; }
.chip { position:relative; cursor:pointer; }
.chip input { position:absolute; opacity:0; width:1px; height:1px; min-height:0; margin:0; padding:0; }
.chip span { display:block; padding:6px 12px; border:1px solid var(--line); border-radius:22px; color:#646b76; background:#fff; font-size:12px; }
.chip input:checked+span { background:#fff3e3; color:#9d631f; border-color:#e2ae6d; }
.chip input:focus-visible+span { outline:3px solid var(--accent); outline-offset:2px; }
.group-selection { margin-top:18px; }
.field-label { display:block; color:#646c7c; font-size:12px; margin-bottom:8px; }
.tip { background:#fff8ef; color:#987342; border-radius:6px; padding:9px 12px; font-size:11px; margin-bottom:13px; }
.row-empty { text-align:center; color:#9ca2ac; background:#fcfcfd; border:1px dashed #e4e7eb; border-radius:9px; padding:19px 12px; font-size:12px; }
.repeat-row { margin-bottom:12px; border:1px solid #e9eaee; border-radius:9px; padding:16px; background:#fcfcfd; }
.repeat-row:last-child { margin-bottom:0; }
.row-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:12px; }
.remove-row { border:0; background:transparent; color:#a06b64; padding:5px; font-size:11px; }
.save-bar { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:18px 26px; background:#fbfcfd; border-top:1px solid var(--line); }
.save-bar span { font-size:11px; color:#8d94a0; }
.empty { padding:48px 18px; color:#949ba7; text-align:center; }
.welcome { padding:90px 20px; }
.welcome h2 { color:var(--ink); }
.welcome p { margin:10px 0 22px; }
.welcome-icon { font-size:50px; color:#b2a38e; }
.footer { max-width:1600px; display:flex; gap:14px; align-items:center; margin:0 auto; padding:10px 28px 25px; color:#8b929e; font-size:11px; }
.footer strong { color:var(--ink); }
.notice { padding:12px 18px; background:#edf5ef; border:1px solid #cfe1d4; border-radius:8px; margin-bottom:20px; color:#37694a; }
.notice.error { background:#fff2ee; color:#9a4434; border-color:#f0d0c8; }
.error { color:#a14636; }
dialog { width:min(440px,calc(100% - 32px)); padding:0 24px 24px; border:1px solid var(--line); border-radius:14px; color:var(--ink); box-shadow:0 20px 80px #111a4840; }
dialog::backdrop { background:#111a4860; }
dialog .panel-top { padding-left:0; padding-right:0; }
dialog label { margin:12px 0; }
dialog .error { margin:10px 0; }
.import-help { margin-bottom:16px; color:var(--muted); font-size:12px; }
.dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }
.skip-link { position:absolute; left:12px; top:-100px; background:#fff; padding:10px; z-index:10; }
.skip-link:focus { top:10px; }
[hidden] { display:none!important; }
@media(max-width:1150px) { .desk-layout { grid-template-columns:290px minmax(0,1fr); gap:16px; } .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .editor-body { padding:0 20px; } .span-2 { grid-column:1/-1; } }
@media(max-width:850px) { main { padding:26px 16px; } .topbar { padding:14px 16px; } .account { display:none; } .top-actions { gap:10px; } .top-actions>a { font-size:11px; } .hero { align-items:flex-start; } h1 { font-size:25px; } .eyebrow span { display:none; } .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .stat { min-height:104px; padding:14px 16px; } .desk-layout { grid-template-columns:1fr; } #customer-list { max-height:360px; } .editor { scroll-margin-top:12px; } .editor-heading { padding:20px; } .footer { padding:10px 16px 22px; } }
@media(max-width:540px) { .brand strong { font-size:17px; } .brand>span:last-child { display:none; } .brand-icon { width:28px; height:28px; } .top-actions>a,.account { display:none; } .top-actions { gap:5px; } .top-actions .button { padding:7px 9px; } .hero { flex-direction:column; gap:16px; } .hero>.button { width:100%; } .form-grid { grid-template-columns:1fr; } input,select,textarea { font-size:15px!important; } input::placeholder,textarea::placeholder { font-size:13px; opacity:1; } .editor-heading { align-items:flex-start; } .editor-heading h2 { font-size:19px; } .editor-heading .button { min-width:86px; padding:9px 10px; } .repeat-row { padding:12px; } .save-bar { flex-direction:column; padding:16px 20px; } .save-bar .button { width:100%; } .footer { flex-wrap:wrap; } .stat small { font-size:10px; } .stat strong { font-size:26px; } .insurance-result { display:grid; grid-template-columns:auto 1fr; } .insurance-result span { display:none; } }
.quick-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:20px 0 0; }
.quick-actions>a { display:flex; align-items:center; gap:10px; min-width:0; padding:13px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:#fff; text-decoration:none; transition:.18s ease; }
.quick-actions>a:hover,.quick-actions>a:focus-visible { border-color:#e3a85e; box-shadow:0 5px 18px #68420e12; transform:translateY(-1px); outline:0; }
.quick-actions strong,.quick-actions small { display:block; }
.quick-actions strong { font-size:12px; }
.quick-actions small { margin-top:3px; color:var(--muted); font-size:10px; white-space:nowrap; }
.action-icon { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:10px; color:#9a672b; background:#fff3e3; }
.action-icon.kakao { color:#493d00; background:#fee500; }
.action-icon.sms { color:#33735a; background:#e8f5ee; }
.action-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.quick-actions.pending { display:block; padding:13px 15px; margin-top:20px; border-radius:9px; color:var(--muted); background:#f8f9fa; font-size:11px; }
.quick-actions.pending p { margin:0; }
@media(max-width:1150px) { .quick-actions { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .quick-actions { gap:7px; } .quick-actions>a { padding:10px; } .action-icon { flex-basis:30px; height:30px; } .quick-actions small { white-space:normal; } }
.history-main { max-width:1240px; }
.history-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:20px; }
.history-hero h1 { margin:5px 0; }
.history-contact { display:flex; align-items:center; gap:10px; padding-bottom:5px; }
.history-shortcuts { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.history-shortcuts a { padding:9px 13px; border:1px solid var(--line); border-radius:20px; color:#5d6571; background:#fff; text-decoration:none; font-size:11px; font-weight:700; }
.history-shortcuts a:hover,.history-shortcuts a:focus-visible { border-color:var(--accent); outline:0; }
.history-layout { display:grid; grid-template-columns:minmax(300px,420px) minmax(0,1fr); gap:18px; align-items:start; }
.consultation-entry { padding:24px; position:sticky; top:18px; }
.consultation-entry h2 { margin:4px 0 18px; }
.consultation-entry .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.history-submit { width:100%; margin-top:16px; }
.consultation-list { overflow:hidden; }
.consultation-list .panel-top h2 span { color:var(--muted); font-size:13px; }
.timeline { padding:0 24px 26px; }
.timeline article { position:relative; margin-left:8px; padding:0 0 28px 24px; border-left:1px solid #e1e4e8; }
.timeline article:last-child { padding-bottom:0; }
.timeline-dot { position:absolute; left:-5px; top:4px; width:9px; height:9px; border:2px solid #fff; border-radius:50%; background:var(--accent); box-shadow:0 0 0 1px #e4aa63; }
.timeline-head { display:flex; justify-content:space-between; gap:12px; }
.timeline-head strong,.timeline-head small { display:block; }
.timeline-head small { margin-top:4px; color:var(--muted); font-size:10px; }
.timeline article p { margin:12px 0 0; color:#555e6b; font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
.next-contact { display:inline-block; margin-top:10px; padding:5px 9px; border-radius:16px; color:#8e5f26; background:#fff3e3; font-size:10px; font-weight:700; }
@media(max-width:850px) { .history-layout { grid-template-columns:1fr; } .consultation-entry { position:static; } }
@media(max-width:540px) { .history-hero { align-items:flex-start; flex-direction:column; } .history-contact { padding:0; } .consultation-entry { padding:20px; } .consultation-entry .form-grid { grid-template-columns:1fr; } .timeline { padding:0 18px 22px; } }
.activity-tabs { display:flex; gap:5px; margin-bottom:18px; padding:5px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.activity-tabs a { flex:1; padding:11px 14px; border-radius:8px; color:#6b7280; text-align:center; text-decoration:none; font-size:12px; font-weight:700; }
.activity-tabs a[aria-current="page"] { color:#fff; background:var(--ink); box-shadow:0 4px 12px #18213d20; }
.consent-status-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }
.consent-status-grid article { display:flex; align-items:center; gap:12px; padding:18px; }
.consent-status-grid small,.consent-status-grid strong,.consent-status-grid span { display:block; }
.consent-status-grid small { color:var(--muted); font-size:10px; }.consent-status-grid strong { margin:3px 0; font-size:14px; }.consent-status-grid div>span { color:#9197a1; font-size:9px; }
.consent-mark { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:50%; font-weight:800; }.consent-mark.yes { color:#28734f; background:#e8f5ee; }.consent-mark.no { color:#8a6a43; background:#f5eee6; }
.consent-link strong,.consent-link small { display:block; }.consent-link div { display:flex; gap:7px; margin:8px 0; }.consent-link input { margin:0; }.consent-link small { font-size:10px; }
.consent-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }.consent-work { padding:24px; }.consent-work h2 { margin:4px 0 5px; }.consent-work form { margin-top:18px; }.consent-work label { margin-top:13px; }.consent-work label>small { color:var(--muted); }.consent-primary { width:100%; margin-top:16px; }.confirm-check { display:flex!important; align-items:flex-start; gap:8px; padding:11px; border-radius:8px; background:#f7f8fa; font-size:11px!important; }.confirm-check input { width:auto; min-height:0; margin:1px 0 0; }
.consent-history { margin-top:18px; overflow:hidden; }.simple-history { padding:0 24px 24px; }.simple-history article { display:flex; gap:12px; padding:14px 0; border-top:1px solid var(--line); }.simple-history article>div { min-width:0; }.simple-history strong,.simple-history small { display:block; }.simple-history small { margin-top:3px; color:var(--muted); font-size:10px; }.simple-history p { margin:6px 0 0; color:#626a76; font-size:11px; overflow-wrap:anywhere; }
.send-status { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:16px 20px; margin-bottom:14px; }.send-status>div { display:flex; align-items:center; gap:12px; }.send-status strong,.send-status small { display:block; }.send-status small { margin-top:3px; color:var(--muted); }.send-channel { display:grid; place-items:center; width:48px; height:34px; border-radius:9px; font-size:10px; font-weight:800; }.send-channel.alimtalk { color:#493d00; background:#fee500; }.send-channel.sms { color:#277052; background:#e6f5ed; }.send-consent { padding:6px 10px; border-radius:16px; font-size:10px; font-weight:800; }.send-consent.ready { color:#28734f; background:#e8f5ee; }.send-consent.blocked { color:#98493b; background:#fff0ec; }
.message-preview-notice { display:flex; gap:10px; align-items:center; }.message-preview-notice span { font-size:11px; }.message-compose-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:22px; align-items:start; }.message-compose { padding:26px; }.message-compose h2 { margin:4px 0; }.template-picker { margin-top:20px; }.send-form>label { margin-top:16px; }.recipient-box { display:flex; align-items:center; gap:10px; margin-top:6px; padding:11px; border:1px solid var(--line); border-radius:9px; }.recipient-box .avatar { width:34px; height:34px; }.recipient-box strong,.recipient-box small { display:block; }.recipient-box small { color:var(--muted); font-size:10px; }.recipient-box b { margin-left:auto; color:#9b6b30; font-size:10px; }.count { display:block; text-align:right; color:var(--muted); }.template-content { margin-top:18px; padding:16px; border-radius:9px; background:#f7f8fa; }.template-content>span { color:var(--muted); font-size:10px; }.template-content p { margin:8px 0 0; line-height:1.7; white-space:normal; }.send-check { display:flex; align-items:center; gap:8px; margin:20px 0; padding:13px; border-radius:9px; background:#fff8ef; }.send-check>span { display:grid; place-items:center; flex:0 0 23px; height:23px; border-radius:50%; color:#fff; background:#c58c47; font-size:10px; }.send-check p { margin:0; }.send-check strong,.send-check small { display:block; }.send-check strong { font-size:10px; }.send-check small { color:#8a765d; font-size:9px; }.send-check i { flex:1; height:1px; background:#e3c69f; }.send-submit { width:100%; }.send-submit:disabled { opacity:.55; cursor:not-allowed; }
.phone-preview { position:sticky; top:18px; min-height:545px; padding:18px 16px 24px; border:8px solid #202633; border-radius:34px; background:#f2f3f5; box-shadow:0 18px 40px #17203820; }.phone-speaker { width:70px; height:5px; margin:0 auto 15px; border-radius:5px; background:#242a35; }.phone-head { display:flex; justify-content:space-between; align-items:center; padding:5px 3px 14px; font-size:12px; }.phone-date { color:#969ca5; text-align:center; font-size:9px; }.message-bubble { margin-top:12px; padding:15px; border-radius:4px 15px 15px 15px; background:#fff; box-shadow:0 3px 12px #2029380d; }.message-bubble.alimtalk { border-top:4px solid #fee500; }.message-bubble strong { font-size:11px; }.message-bubble p { margin:10px 0; color:#444c58; font-size:11px; line-height:1.65; white-space:normal; overflow-wrap:anywhere; }.message-bubble button { width:100%; padding:9px; border:0; border-radius:5px; background:#f1f2f4; color:#555; font-size:10px; }.phone-caption { margin-top:18px; color:#9ba1aa; text-align:center; font-size:9px; }
@media(max-width:850px) { .message-compose-layout { grid-template-columns:1fr; }.phone-preview { position:static; width:min(310px,100%); min-height:480px; margin:0 auto; }.consent-layout { grid-template-columns:1fr; } }
@media(max-width:540px) { .activity-tabs { overflow-x:auto; }.activity-tabs a { min-width:82px; padding:10px 8px; }.consent-status-grid { grid-template-columns:1fr; gap:7px; }.message-compose { padding:20px; }.send-status { align-items:flex-start; }.send-consent { white-space:nowrap; }.message-preview-notice { align-items:flex-start; flex-direction:column; } }
.desktop-footer { max-width:1600px; display:flex; gap:14px; align-items:center; margin:0 auto; padding:10px 28px 25px; color:#8b929e; font-size:11px; }
.desktop-footer strong { color:var(--ink); }
.mobile-bottom-nav { display:none; }
@media(max-width:700px) {
    body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
    .app-header { position:sticky; top:0; z-index:30; min-height:56px; padding-top:max(10px,env(safe-area-inset-top)); }
    .app-header .top-actions { display:none; }
    .desktop-footer { display:none; }
    .mobile-bottom-nav { position:fixed; z-index:40; left:0; right:0; bottom:0; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; padding:7px 8px calc(7px + env(safe-area-inset-bottom)); border-top:1px solid #dfe2e7; background:#fffffff2; box-shadow:0 -8px 24px #1c243218; backdrop-filter:blur(14px); }
    .mobile-bottom-nav a,.mobile-bottom-nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; min-height:48px; padding:4px 2px; border:0; border-radius:9px; color:#858c98; background:transparent; text-decoration:none; font-size:9px; font-weight:700; }
    .mobile-bottom-nav a[aria-current="page"] { color:#9b6728; background:#fff4e5; }
    .mobile-bottom-nav svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .activity-tabs { display:none; }
}
.mobile-editor-nav { display:none; }
.today-main { max-width:1050px; }.today-date { color:#8d6a3f; font-size:14px; }.today-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }.today-summary article { display:flex; justify-content:space-between; align-items:center; padding:18px 20px; }.today-summary span { color:var(--muted); font-size:11px; }.today-summary strong { font-size:25px; }.today-summary .overdue strong { color:#b5523f; }.task-section { margin-bottom:14px; }.task-section h2 span { color:var(--muted); font-size:12px; }.task-list { padding:0 20px 16px; }.task-list>a { display:flex; align-items:center; gap:12px; padding:13px 0; border-top:1px solid var(--line); color:var(--ink); text-decoration:none; }.task-list>a>span:nth-child(2) { min-width:0; flex:1; }.task-list strong,.task-list small { display:block; overflow-wrap:anywhere; }.task-list small { margin-top:4px; color:var(--muted); font-size:10px; }.task-list b { color:#a0a6af; font-size:20px; }.task-type { flex:0 0 68px; padding:5px; border-radius:14px; text-align:center; color:#8b622f; background:#fff1df; font-size:9px; font-weight:800; }.task-type.consultation { color:#32684e; background:#e8f5ee; }.task-type.exemption { color:#6d5792; background:#f1ecf8; }.task-type.schedule { color:#35668b; background:#e9f3fa; }.empty.compact { padding:24px; }
@media(max-width:700px) {
    .mobile-editor-nav { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 16px; border-bottom:1px solid var(--line); background:#fff; }.mobile-editor-nav button { border:0; color:#7a592f; background:transparent; font-weight:700; }.mobile-editor-nav span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
    body.mobile-detail-open .hero,body.mobile-detail-open .stats,body.mobile-detail-open .customer-panel { display:none; }
    body:not(.mobile-detail-open) .desk-layout .editor { display:none; }
    body.mobile-detail-open .desk-layout { display:block; }
    body.mobile-detail-open main { padding-top:12px; }
    .today-summary { grid-template-columns:repeat(3,1fr); gap:7px; }.today-summary article { padding:14px 11px; }.today-summary strong { font-size:21px; }.task-list { padding:0 16px 12px; }
}
.message-channel-switch { display:flex; gap:7px; margin-bottom:12px; }.message-channel-switch a { padding:8px 16px; border:1px solid var(--line); border-radius:18px; color:var(--muted); background:#fff; text-decoration:none; font-size:10px; font-weight:800; }.message-channel-switch a[aria-current="page"] { color:#fff; border-color:var(--ink); background:var(--ink); }
/* Shared header shell: desktop navigation and mobile app bar are independently managed. */
.desktop-header { display:flex; align-items:center; justify-content:space-between; gap:15px; width:100%; }
.mobile-app-bar { display:none; }
.hero { margin-bottom:20px; }
.hero h1 { margin:4px 0; font-size:28px; }
@media(max-width:700px) {
    .app-header { display:block; min-height:54px; padding:0; }
    .desktop-header { display:none; }
    .mobile-app-bar { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; min-height:54px; padding-top:env(safe-area-inset-top); }
    .mobile-app-bar>strong { overflow:hidden; text-align:center; text-overflow:ellipsis; white-space:nowrap; font-size:15px; letter-spacing:-.3px; }
    .mobile-back,.mobile-menu>summary { display:grid; place-items:center; width:44px; height:44px; color:var(--ink); cursor:pointer; list-style:none; }
    .mobile-back svg,.mobile-menu>summary svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
    .mobile-menu>summary::-webkit-details-marker { display:none; }
    .mobile-menu>nav { position:absolute; z-index:55; top:calc(50px + env(safe-area-inset-top)); right:10px; width:min(260px,calc(100vw - 20px)); padding:8px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 16px 44px #151d352b; }
    .mobile-menu>nav a,.mobile-menu>nav button { display:block; width:100%; min-height:42px; padding:10px 12px; border:0; border-radius:8px; color:#3f4754; background:transparent; text-align:left; font-size:12px; }
    .mobile-menu>nav a:hover,.mobile-menu>nav button:hover { background:#f6f7f9; }
    .mobile-menu>nav>span { display:block; margin:7px 8px 3px; color:#a07b4e; font-size:9px; font-weight:800; letter-spacing:.8px; }
    .hero { margin-bottom:14px; }
    .hero h1 { font-size:22px; }
    .hero .muted { font-size:11px; }
    .mobile-bottom-nav button[aria-disabled="true"] { cursor:default; opacity:.55; }
    .mobile-bottom-nav span { line-height:1.15; }
    .mobile-bottom-nav small { display:block; margin-top:2px; font-size:7px; font-weight:500; }
}
@media(max-width:700px) {
    main { padding-top:16px; }
    main:not(.history-main):not(.today-main)>.hero { display:none; }
    .today-main>.history-hero { display:none; }
    .history-main>.history-hero { align-items:center; flex-direction:row; margin-bottom:12px; padding:0 2px; }
    .history-main>.history-hero .eyebrow,.history-main>.history-hero .muted,.history-main>.history-hero .activity-title { display:none; }
    .history-main>.history-hero h1 { margin:0; font-size:18px; }
    .history-main>.history-hero .history-contact { padding:0; }
}
.group-manager { width:min(580px,calc(100% - 32px)); }.group-manager form { padding-bottom:18px; border-bottom:1px solid var(--line); }.group-manage-list { padding-top:18px; }.group-manage-list h3 { margin-bottom:8px; }.group-manage-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 0; border-top:1px solid var(--line); }.group-manage-row strong,.group-manage-row small { display:block; }.group-manage-row small { color:var(--muted); font-size:9px; }.group-manage-row>span:last-child { display:flex; gap:5px; }.group-manage-row button { padding:5px 8px; border:1px solid var(--line); border-radius:6px; background:#fff; color:#646c78; font-size:10px; }.group-manage-row button:disabled { cursor:not-allowed; }
.mypage-main { max-width:1200px; }.mypage-welcome { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px; }.mypage-welcome h1 { margin:4px 0; }.mypage-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }.mypage-overview>a { display:block; padding:20px; }.mypage-overview span,.mypage-overview strong,.mypage-overview small { display:block; }.mypage-overview span { color:var(--muted); font-size:11px; }.mypage-overview strong { margin:4px 0; font-size:28px; }.mypage-overview small { color:#9097a2; font-size:10px; }.mypage-overview .urgent strong { color:#b95640; }.mypage-overview .status-text { font-size:18px; }.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.service-card { display:flex; align-items:center; gap:14px; padding:19px; }.service-card>div { min-width:0; flex:1; }.service-card h2 { font-size:15px; }.service-card p { margin-top:3px; color:var(--muted); font-size:11px; }.service-card>b { color:#9b6b31; font-size:10px; white-space:nowrap; }.service-card-icon { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:12px; color:#8b602e; background:#fff1df; font-size:10px; font-weight:800; }.service-card.coming { opacity:.65; }
@media(max-width:850px) { .mypage-overview { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .mypage-welcome { display:flex; margin-bottom:12px; }.mypage-welcome>div { display:none; }.mypage-welcome .account-actions { width:100%; justify-content:flex-end; }.mypage-overview { gap:8px; }.mypage-overview>a { padding:15px; }.mypage-overview strong { font-size:23px; }.service-grid { grid-template-columns:1fr; gap:8px; }.service-card { padding:15px; } }
.mobile-menu-link,.mobile-page-header a { display:grid; place-items:center; color:inherit; }.mobile-menu-link { width:44px; height:44px; }.mobile-menu-link svg { width:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.workspace-main { max-width:1180px; }.workspace-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px; }.workspace-heading h1 { margin:4px 0; }.workspace-section { margin-top:22px; }.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; margin-bottom:12px; }.section-heading>p { color:var(--muted); font-size:11px; }.membership-summary { display:grid; grid-template-columns:repeat(4,1fr); padding:0; }.membership-summary>div { padding:20px; border-right:1px solid var(--line); }.membership-summary>div:last-child { border:0; }.membership-summary span,.membership-summary strong { display:block; }.membership-summary span { color:var(--muted); font-size:10px; }.membership-summary strong { margin-top:7px; font-size:16px; }.plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.plan-card { display:flex; min-height:250px; padding:22px; flex-direction:column; }.plan-card h3 { margin:8px 0 4px; font-size:18px; }.plan-card>div>span { color:#9b6b31; font-size:10px; font-weight:800; }.plan-card>div>strong { font-size:25px; }.plan-card>p { flex:1; margin:18px 0; color:var(--muted); font-size:11px; line-height:1.7; }.plan-card form,.plan-card button { width:100%; }.membership-cancel { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:18px; padding:18px 20px; }.membership-cancel p { margin-top:3px; color:var(--muted); font-size:11px; }.workspace-empty { padding:40px; text-align:center; color:var(--muted); }.workspace-empty h2 { color:var(--ink); }
.ga-affiliation-panel { margin-top:18px; padding:24px; }.ga-affiliation-panel>p { color:#59616d; font-size:12px; }.ga-affiliation-form { display:grid; grid-template-columns:90px minmax(240px,1fr) auto; align-items:center; gap:10px; margin-top:18px; }.ga-affiliation-form label { margin:0; font-size:11px; font-weight:800; }.ga-affiliation-form select { min-height:40px; }.ga-affiliation-actions { margin-top:16px; }
.schedule-legend { display:flex; gap:16px; margin-bottom:12px; color:var(--muted); font-size:10px; }.schedule-legend span { display:flex; align-items:center; gap:5px; }.schedule-legend i,.task-dot { width:8px; height:8px; border-radius:50%; background:#4475a5; }.schedule-legend .consultation,.task-dot.consultation { background:#e29a36; }.schedule-legend .insurance,.task-dot.insurance { background:#7658a5; }.schedule-legend .anniversary,.task-dot.anniversary { background:#c45b7c; }.desk-calendar { padding:18px; }.fc .fc-button-primary { background:#3e4651; border-color:#3e4651; }.fc .fc-toolbar-title { font-size:18px; }.fc .fc-daygrid-day-number { color:var(--ink); }.check-field { flex-direction:row; align-items:center; gap:8px; }.check-field input { width:auto; }.button.danger { color:#a33; }
.count-pill { padding:8px 13px; border-radius:20px; color:#8b602e; background:#fff1df; font-size:13px; }.pool-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.pool-card { display:block; padding:18px; }.pool-card-head { display:flex; align-items:center; gap:11px; }.pool-card-head>span:nth-child(2) { min-width:0; flex:1; }.pool-card-head strong,.pool-card-head small { display:block; }.pool-card-head small { color:var(--muted); font-size:10px; }.pool-card-head>b { padding:5px 8px; border-radius:12px; color:#2d7255; background:#e8f5ee; font-size:9px; }.profile-avatar { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:50%; color:#fff; background:#d89546; font-weight:800; }.pool-card-stats { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:16px 0; }.pool-card-stats span { padding:10px; border-radius:8px; background:#f7f5f1; color:var(--muted); font-size:9px; }.pool-card-stats strong { display:block; margin-top:3px; color:var(--ink); font-size:14px; }.pool-card footer { display:flex; justify-content:space-between; color:var(--muted); font-size:10px; }.pool-detail-grid { display:grid; grid-template-columns:340px 1fr; gap:12px; }.pool-profile,.pool-note { padding:22px; }.pool-profile { text-align:center; }.pool-profile>.profile-avatar { margin:0 auto 20px; width:62px; height:62px; }.pool-profile dl>div { display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-top:1px solid var(--line); text-align:left; font-size:11px; }.pool-profile dt { color:var(--muted); }.pool-contracts,.pool-history { margin-top:12px; }.responsive-table { overflow:auto; }.responsive-table table { width:100%; border-collapse:collapse; }.responsive-table th,.responsive-table td { padding:12px 16px; border-top:1px solid var(--line); text-align:left; font-size:10px; }.pool-history article { display:flex; gap:12px; margin:0 20px; padding:15px 0; border-top:1px solid var(--line); }.pool-history article>i { flex:0 0 9px; height:9px; margin-top:5px; border-radius:50%; background:#d89546; }.pool-history time { color:var(--muted); font-size:9px; }.pool-history h3 { margin:3px 0; font-size:13px; }.pool-history p { font-size:11px; }
.account-actions { display:flex; gap:7px; }.account-logout,.menu-logout { color:#9a4c41; }.service-card-icon { flex-basis:50px; height:50px; }.service-card-icon svg,.menu-grid svg { width:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }.five-day { margin-bottom:18px; padding:18px; }.five-day-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }.day-card { min-width:0; padding:12px; border:1px solid var(--line); border-radius:10px; }.day-card.today { border-color:#e0a25b; background:#fffaf3; }.day-card header { display:grid; grid-template-columns:1fr auto; position:relative; padding-right:25px; }.day-card header span { color:var(--muted); font-size:9px; }.day-card header strong { grid-row:2; font-size:15px; }.day-card header b { position:absolute; right:0; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#f1eee8; font-size:9px; }.day-card>div { margin-top:10px; }.day-card>div>a { display:flex; gap:6px; padding:7px 0; border-top:1px solid var(--line); }.day-card>div>a>span { min-width:0; font-size:10px; }.day-card>div small { display:block; overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.day-card>div p { padding-top:8px; color:#a5a8ae; font-size:9px; }.task-dot { flex:0 0 7px; margin-top:3px; }.promo-slot { min-height:120px; margin-bottom:18px; }
.mobile-page-header { display:grid; grid-template-columns:44px 1fr 44px; align-items:center; height:58px; padding:0 12px; border-bottom:1px solid var(--line); background:#fff; text-align:center; }.mobile-page-header a { font-size:28px; }.menu-main { max-width:720px; }.menu-profile { display:flex; align-items:center; gap:12px; padding:18px; }.menu-profile>div { min-width:0; flex:1; }.menu-profile strong,.menu-profile small { display:block; }.menu-profile small { color:var(--muted); font-size:10px; }.menu-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }.menu-grid>a { display:flex; min-height:145px; padding:18px; flex-direction:column; }.menu-grid>a>span { display:grid; place-items:center; width:45px; height:45px; margin-bottom:auto; border-radius:13px; color:#8b602e; background:#fff1df; }.menu-grid strong { margin-top:14px; }.menu-grid small { margin-top:2px; color:var(--muted); font-size:9px; }.menu-services { margin-top:25px; }.menu-services h2 { margin-bottom:10px; font-size:13px; }.menu-services>div { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }.menu-services a,.menu-services span { padding:13px 5px; border-radius:9px; background:#efeee9; text-align:center; color:var(--muted); font-size:10px; }.menu-services .active { color:#fff; background:#3d4651; }.menu-services small { display:block; margin-top:2px; font-size:7px; }.menu-logout { display:block; margin:26px auto 0; text-align:center; font-size:11px; }
.access-page { background:#f3f0e9; }.access-main { display:grid; grid-template-columns:1.05fr .95fr; width:min(1000px,calc(100% - 40px)); min-height:620px; margin:7vh auto; padding:0; overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 24px 80px #29303b18; }.access-visual { position:relative; overflow:hidden; padding:34px; background:#3e4651; }.access-brand { display:flex; align-items:center; gap:9px; color:#fff; }.access-brand span { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:#eea24c; }.access-graphic { position:absolute; inset:110px 35px 40px; }.graphic-person { position:absolute; top:20%; left:38%; width:120px; height:120px; border:22px solid #f0a04b; border-radius:50%; box-shadow:0 110px 0 40px #f0a04b; }.graphic-card { position:absolute; padding:13px 20px; border-radius:13px; background:#fff; box-shadow:0 10px 35px #12182030; color:#4a515a; font-size:11px; font-weight:800; }.graphic-card.one { top:5%; left:3%; }.graphic-card.two { top:38%; right:2%; }.graphic-card.three { bottom:6%; left:5%; }.access-copy { display:flex; justify-content:center; padding:70px; flex-direction:column; }.access-copy h1 { margin:10px 0 18px; font-size:40px; }.access-copy>p:not(.eyebrow) { color:var(--muted); line-height:1.7; }.access-features { display:flex; flex-wrap:wrap; gap:7px; margin:25px 0; }.access-features span { padding:7px 10px; border-radius:15px; background:#f4f1eb; font-size:9px; }.access-login { display:block; padding:13px; text-align:center; }.access-join { margin-top:14px; text-align:center; color:var(--muted); font-size:10px; }
@media(max-width:850px){.membership-summary{grid-template-columns:repeat(2,1fr)}.membership-summary>div:nth-child(2){border-right:0}.plan-grid,.pool-card-grid{grid-template-columns:repeat(2,1fr)}.pool-detail-grid{grid-template-columns:1fr}.five-day-grid{overflow-x:auto;grid-template-columns:repeat(5,170px);padding-bottom:4px}.access-main{grid-template-columns:1fr;max-width:560px}.access-visual{min-height:260px}.access-graphic{inset:70px 25px 15px}.access-copy{padding:42px}}
@media(max-width:700px){.workspace-heading{align-items:center}.workspace-heading .muted{display:none}.workspace-heading h1{font-size:20px}.membership-summary{gap:8px;background:transparent;border:0;box-shadow:none}.membership-summary>div{padding:14px;border:1px solid var(--line)!important;border-radius:10px;background:#fff}.plan-grid,.pool-card-grid{grid-template-columns:1fr}.desk-calendar{padding:8px}.fc .fc-toolbar{gap:6px}.fc .fc-toolbar-title{font-size:15px}.pool-detail-grid{display:block}.pool-note{margin-top:8px}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-height:118px;padding:13px;align-items:flex-start;flex-direction:column}.service-card-icon{flex:0 0 42px;width:42px;height:42px}.service-card p,.service-card>b{display:none}.service-card h2{font-size:11px}.menu-main{padding-top:18px}.menu-grid{grid-template-columns:repeat(3,1fr)}.menu-grid>a{min-height:125px;padding:13px}.menu-services>div{grid-template-columns:repeat(2,1fr)}.access-main{width:100%;min-height:100vh;margin:0;border-radius:0}.access-visual{min-height:230px}.access-copy{padding:35px 24px}.access-copy h1{font-size:32px}}
@media(max-width:700px){body{background:#f6f4ef}.app-header{position:sticky;top:0;z-index:50}.workspace-main,.mypage-main{padding-left:14px;padding-right:14px}.mypage-overview{margin:0 -2px 14px}.mypage-overview>a{min-height:105px;border:0;border-radius:16px;box-shadow:none}.mypage-overview>a:nth-child(1){background:#3f4853;color:#fff}.mypage-overview>a:nth-child(1) span,.mypage-overview>a:nth-child(1) small{color:#d9dde1}.mypage-overview>a:nth-child(2){background:#fff1df}.five-day{margin-left:-14px;margin-right:-14px;padding:18px 14px;border:0;border-radius:0;box-shadow:none}.five-day-grid{scroll-snap-type:x mandatory}.day-card{scroll-snap-align:start;background:#fff}.service-grid{gap:9px}.service-card{border:0;border-radius:17px;box-shadow:0 8px 22px #3038450b}.service-card:nth-child(2) .service-card-icon{color:#4f6590;background:#edf1fb}.service-card:nth-child(3) .service-card-icon{color:#39705a;background:#e8f5ee}.service-card:nth-child(4) .service-card-icon{color:#7a5791;background:#f2ebf7}.service-card:nth-child(5) .service-card-icon{color:#a04f69;background:#f9eaf0}.membership-summary>div:first-child{grid-column:1/-1;padding:22px;color:#fff;background:linear-gradient(135deg,#3f4853,#65717d)}.membership-summary>div:first-child span{color:#d9dde1}.membership-summary>div:first-child strong{font-size:22px}.plan-grid{display:flex;overflow-x:auto;margin:0 -14px;padding:0 14px 8px;scroll-snap-type:x mandatory}.plan-card{flex:0 0 82vw;min-height:280px;border:0;border-radius:20px;scroll-snap-align:center}.schedule-main{padding-left:0;padding-right:0}.schedule-main .workspace-heading,.schedule-main .schedule-legend{padding-left:14px;padding-right:14px}.desk-calendar{border:0;border-radius:0;box-shadow:none}.fc .fc-list{border:0}.pool-card-grid{display:block;margin:0 -14px;background:#fff}.pool-card{display:block;padding:15px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.pool-card-stats{display:flex;margin:9px 0}.pool-card-stats span{padding:0;background:none}.pool-card footer{padding-top:8px}.pool-main .count-pill{background:#3f4853;color:#fff}.pool-profile,.pool-note,.pool-contracts,.pool-history{border:0;border-radius:16px}.menu-main{min-height:calc(100vh - 58px);padding-bottom:40px}.menu-profile{border:0;border-radius:18px;background:#3f4853;color:#fff}.menu-profile small{color:#d9dde1}.menu-profile .button{border-color:#707983;color:#fff;background:#59636e}.menu-grid>a{border:0;border-radius:17px;box-shadow:none}.mobile-bottom-nav{background:#fffdfbea;backdrop-filter:blur(16px)}}
@media(max-width:540px){label{font-size:11px}label input,label select,label textarea{margin-top:3px;line-height:1.25}input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select{min-height:36px;padding:6px 9px;border-radius:7px}textarea{min-height:76px;padding:7px 9px;border-radius:7px}.form-grid{gap:10px}.editor-body{padding-left:14px;padding-right:14px}.form-section{padding:17px 0}.repeat-row{padding:10px}.button{min-height:38px;padding:7px 13px}.address-search{gap:6px}.group-selection{margin-top:14px}.field-label{margin-bottom:6px;font-size:11px}}
.task-section,.consultation-list,.consent-history,.pool-contracts,.pool-history{border-width:1px 0 0;border-radius:0;background:transparent;box-shadow:none}.task-section .panel-top,.consultation-list .panel-top,.consent-history .panel-top,.pool-contracts .panel-top,.pool-history .panel-top{padding-left:4px;padding-right:4px}
@media(max-width:700px){.editor.panel{margin-left:-14px;margin-right:-14px;border:0;border-radius:0;box-shadow:none}.editor-heading{padding-left:14px;padding-right:14px}.consultation-entry,.message-compose,.consent-work,.pool-note{padding-left:2px;padding-right:2px;border:0;border-radius:0;background:transparent;box-shadow:none}.consultation-list,.consent-history,.pool-contracts,.pool-history,.task-section{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.timeline,.simple-history,.task-list{padding-left:0;padding-right:0}.consent-status-grid{gap:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.consent-status-grid article{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.consent-status-grid article:last-child{border-bottom:0}.pool-profile{box-shadow:0 8px 24px #3038450d}.pool-note{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);border-radius:0}.pool-contracts,.pool-history,.task-section{border-top:1px solid var(--line);background:transparent}.task-section+.task-section{margin-top:22px}.send-status.panel{border-width:0 0 1px;border-radius:0;box-shadow:none}}
.company-footer{margin-top:34px;border-top:1px solid #e0e2e5;background:#eef0f2;color:#737b86}.company-footer-inner{max-width:1600px;margin:0 auto;padding:27px 28px}.company-footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.company-footer-brand{color:#303949;font-size:16px;font-weight:800;letter-spacing:-.5px}.company-footer nav{display:flex;flex-wrap:wrap;gap:16px;font-size:10px}.company-footer nav a:nth-child(2){color:#353e4b;font-weight:700}.company-info{display:flex;flex-wrap:wrap;gap:5px 16px;margin-top:15px;font-size:9px}.company-info b{color:#555e6a;font-weight:700}.company-copy{margin-top:10px;color:#9298a1;font-size:9px}
@media(max-width:700px){.company-footer{margin-top:24px;background:#eceeef}.company-footer-inner{padding:23px 16px 26px}.company-footer-top{align-items:flex-start;flex-direction:column;gap:10px}.company-footer nav{gap:7px 13px}.company-info{display:grid;grid-template-columns:1fr;gap:3px;margin-top:13px}.company-copy{margin-top:12px}.access-page .company-footer{margin-top:0}.menu-main+.company-footer{margin-top:0}}
.history-main,.today-main,.mypage-main,.workspace-main,.menu-main{max-width:1600px}
.admin-link{color:#815528!important;font-weight:800}.pool-desk-layout{display:grid;grid-template-columns:345px minmax(0,1fr);align-items:start;gap:20px}.pool-list-panel{overflow:hidden}.pool-filters{padding-bottom:14px}.pool-filters>select{margin-top:8px}.pool-list{max-height:720px;overflow:auto;border-top:1px solid var(--line)}.pool-list-item{display:flex;align-items:flex-start;gap:11px;padding:15px 16px;border-bottom:1px solid #f0f1f3;color:inherit;text-decoration:none}.pool-list-item:hover,.pool-list-item.active{background:#fff8ee}.pool-list-item>span:nth-child(2){min-width:0;flex:1}.pool-list-item strong,.pool-list-item small,.pool-list-item em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pool-list-item small{margin-top:2px;color:var(--muted);font-size:10px}.pool-list-item em{margin-top:5px;color:#8a765e;font-size:9px;font-style:normal}.pool-list-item>b{padding:5px 7px;border-radius:12px;color:#2d7255;background:#e8f5ee;font-size:8px;white-space:nowrap}.pool-detail{min-width:0}.pool-detail-heading{padding:4px 4px 16px}.pool-detail-heading h2{margin:4px 0}.pool-welcome{display:grid;place-items:center;min-height:480px;text-align:center}.pool-welcome p{margin-top:8px;color:var(--muted)}
@media(max-width:1150px){.pool-desk-layout{grid-template-columns:290px minmax(0,1fr);gap:16px}}
@media(max-width:850px){.pool-desk-layout{grid-template-columns:1fr}.pool-list{max-height:360px}}
@media(max-width:700px){.pool-main>.workspace-heading{margin-bottom:12px}.pool-desk-layout{display:block;margin:0 -14px}.pool-list-panel{border:0;border-radius:0;box-shadow:none}.pool-detail{padding:0 14px}.pool-detail-heading{padding-top:14px}.pool-detail-open .pool-list-panel{display:none}body:not(.pool-detail-open) .pool-detail{display:none}.pool-detail-open .pool-main>.workspace-heading{display:none}.pool-list{max-height:none}.pool-list-item{padding-left:16px;padding-right:16px}.pool-welcome{min-height:300px}.mobile-editor-nav a{color:#7a592f;font-weight:700}.mypage-welcome .account-actions{flex-wrap:wrap}}
@media(max-width:700px){.schedule-legend{gap:6px;overflow-x:auto;padding:0 14px 4px;scrollbar-width:none}.schedule-legend span{flex:0 0 auto;padding:6px 9px;border-radius:14px;background:#fff;border:1px solid #ebe5da;color:#626975}.desk-calendar .fc{color:#39414d}.fc .fc-toolbar{margin:0!important;padding:11px 10px;border-bottom:1px solid #eee7dc;background:linear-gradient(180deg,#fffaf3,#fff)}.fc .fc-button{min-height:30px;padding:4px 7px!important;border-radius:9px!important;font-size:11px!important;box-shadow:none!important}.fc .fc-prev-button,.fc .fc-next-button{width:30px;padding:4px!important;border-color:#efd7b9!important;background:#fff1df!important;color:#8b602e!important}.fc .fc-icon{width:1em;height:1em;font-size:1em!important;line-height:1em}.fc .fc-today-button{padding-left:9px!important;padding-right:9px!important;border-color:#3f4853!important;background:#3f4853!important;color:#fff!important}.fc .fc-toolbar-title{color:#343c48;font-weight:800}.fc .fc-list{border:0!important}.fc .fc-list-day-cushion{padding:9px 12px!important;background:#f1eee8!important;color:#59616d}.fc .fc-list-event td{padding-top:11px!important;padding-bottom:11px!important;border-color:#f0ece5!important;background:#fff}.fc .fc-list-event:hover td{background:#fffaf3!important}.fc .fc-list-event-dot{border-color:#e09a45!important}.fc .fc-day-today{background:#fff8ed!important}}
/* Lifescanner app palette and visual hierarchy */
:root{--ink:#303946;--muted:#737c89;--line:#e5e1da;--canvas:#f5f3ee;--accent:#ef9f48;--gold:#9a7040}
body{background:linear-gradient(180deg,#faf6ef 0,#f5f6f7 280px) fixed}.topbar{border-color:#ebe4da;background:#fffdfbea;box-shadow:0 5px 20px #49351d0a;backdrop-filter:blur(16px)}.brand-icon{background:linear-gradient(145deg,#303946,#596574);color:#ffd59f;box-shadow:0 7px 16px #30394622}.panel{border-color:#e7e2da;box-shadow:0 10px 28px #4a3a240a}.button{border-color:#e3ded6}.button.primary{background:linear-gradient(135deg,#303946,#505c6b);border-color:#303946}.button.accent{background:linear-gradient(135deg,#f2aa55,#ed9840);border-color:#ed9840;box-shadow:0 6px 15px #d8812824}.button.subtle{background:#f4f1ec}.stat{position:relative;overflow:hidden;border-color:#e7e2da;box-shadow:0 9px 24px #4a3a240d}.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#e3a45e}.stat:nth-child(2):before{background:#70a789}.stat:nth-child(3):before{background:#7b8fbd}.stat.dark{background:linear-gradient(135deg,#303946,#4d5968)}.search-field{border-color:#e5e0d8;background:#faf8f4}.customer-item.selected,.pool-list-item.active{background:linear-gradient(90deg,#fff2df,#fffaf4);box-shadow:inset 3px 0 #ef9f48}.avatar,.profile-avatar{background:linear-gradient(145deg,#f2b15f,#d98738);color:#fff}.badge{background:#fff0dc;color:#956125}.badge.managed{background:#e9f4ed;color:#4f7b60}.count-pill{background:#fff0dc;color:#8b5c26}.mypage-overview>a:nth-child(1){border-top:3px solid #e49a47}.mypage-overview>a:nth-child(2){border-top:3px solid #cf7461}.mypage-overview>a:nth-child(3){border-top:3px solid #68a080}.mypage-overview>a:nth-child(4){border-top:3px solid #7087b2}.service-card-icon,.menu-grid>a>span{color:#986124;background:#fff0dc}.service-card:nth-child(2) .service-card-icon,.menu-grid>a:nth-child(3n+2)>span{color:#526d9e;background:#eaf0fb}.service-card:nth-child(3) .service-card-icon,.menu-grid>a:nth-child(3n)>span{color:#39725b;background:#e6f4ec}.service-card:nth-child(4) .service-card-icon{color:#79558f;background:#f1e9f6}.service-card:nth-child(5) .service-card-icon{color:#a04e69;background:#fae8ef}.day-card.today{border-color:#e2a057;background:linear-gradient(180deg,#fff5e8,#fff)}.pool-profile{background:linear-gradient(180deg,#fff7ec 0,#fff 145px)}.menu-profile{background:linear-gradient(135deg,#303946,#566473);color:#fff}.menu-profile small{color:#dce1e6}.company-footer{background:#ebe8e2}
@media(max-width:700px){body{background:linear-gradient(180deg,#fbf7f0,#f4f3ef 240px) fixed}.mobile-app-bar{background:linear-gradient(90deg,#fffdf9,#fff8ef)}.mobile-bottom-nav{border-color:#e8dfd3;background:#fffdf9ed}.mobile-bottom-nav a[aria-current="page"]{color:#8f5b20;background:linear-gradient(180deg,#fff4e5,#ffead0)}.mypage-overview>a:nth-child(1){border-top:0;background:linear-gradient(135deg,#303946,#596675)}.mypage-overview>a:nth-child(2){border-top:0;background:linear-gradient(135deg,#fff0dc,#fff8ef)}.pool-list-item{background:#fff}.pool-list-item.active{background:linear-gradient(90deg,#fff0dc,#fff9f1)}.menu-grid>a:nth-child(4n+1){background:#fff9f0}.menu-grid>a:nth-child(4n+2){background:#f4f7fc}.menu-grid>a:nth-child(4n+3){background:#f1f8f4}.menu-grid>a:nth-child(4n){background:#f8f2fa}}
/* Brand refresh: logo orange, neutral surfaces, dashboard and directory separation. */
:root{--brand:#ff3b00;--brand-dark:#d93200;--ink:#151515;--muted:#6f7680;--line:#e7e8eb;--canvas:#f5f6f8;--accent:#ff3b00;--gold:#ff3b00}
body{background:#f5f6f8}.topbar{border-color:#ececef;background:#fffffff2;box-shadow:0 4px 18px #0000000a}.brand-symbol{display:block;width:27px;height:32px}.brand strong{color:#111;text-transform:uppercase;letter-spacing:.2px}.brand>span:last-child{color:#7b8088}.brand-icon{display:none}.eyebrow{color:var(--brand)}.button.primary,.button.accent{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:none}.button.primary:hover,.button.accent:hover{border-color:var(--brand-dark);background:var(--brand-dark)}.button.subtle{background:#f3f4f6}.panel{border-color:#e7e8eb;box-shadow:0 8px 24px #1118270a}.stat{border-color:#e7e8eb;box-shadow:0 8px 22px #1118270a}.stat:before{background:var(--brand)}.stat:nth-child(2):before,.stat:nth-child(3):before{background:#2f343a}.stat.dark{background:#151515}.customer-item.selected,.pool-list-item.active{background:#fff5f2;box-shadow:inset 3px 0 var(--brand)}.avatar,.profile-avatar{background:#202124}.badge,.count-pill{color:var(--brand-dark);background:#fff}.badge{border:1px solid #ffc2b0}.badge.managed{color:#23734a;border-color:#bfe3cf;background:#fff}.admin-link{color:var(--brand)!important}.mypage-overview>a{border-top:0!important}.mypage-overview>a:nth-child(1){background:#151515;color:#fff}.mypage-overview>a:nth-child(1) span,.mypage-overview>a:nth-child(1) small{color:#c7c7c7}.mypage-overview>a:nth-child(2){background:#fff;border-color:#ffb29b}.mypage-overview>a:nth-child(2) strong{color:var(--brand)}.mypage-overview>a:nth-child(3),.mypage-overview>a:nth-child(4){background:#fff}.mypage-service-section{margin-top:22px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#fff}.mypage-service-section>.section-heading>a{color:var(--brand);font-size:11px;font-weight:800}.mypage-service-section .service-grid{gap:0;border-top:1px solid var(--line)}.mypage-service-section .service-card{min-height:76px;padding:14px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.mypage-service-section .service-card:nth-child(odd){padding-right:22px}.mypage-service-section .service-card:nth-child(even){padding-left:22px;border-left:1px solid var(--line)}.mypage-service-section .service-card-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:0;border-radius:0;color:#202124;background:transparent}.mypage-service-section .service-card-icon svg{width:23px}.mypage-service-section .service-card:hover .service-card-icon{color:var(--brand)}.mypage-service-section .service-card>b{color:#a3a7ad}.mypage-service-section .service-card.coming{opacity:.45}.menu-main{max-width:1600px}.menu-profile{border:0;background:#151515;color:#fff;box-shadow:none}.menu-profile .profile-avatar{color:var(--brand);background:#fff}.menu-profile small{color:#aaa}.menu-directory{margin-top:22px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:0;border-top:1px solid var(--line)}.menu-grid>a{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;grid-template-rows:auto auto;align-items:center;min-height:76px;padding:14px 10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff!important;box-shadow:none}.menu-grid>a:nth-child(odd){padding-right:22px}.menu-grid>a:nth-child(even){padding-left:22px;border-left:1px solid var(--line)}.menu-grid>a>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;margin:0;border:0;border-radius:0;color:#252525;background:transparent}.menu-grid>a:hover>span{color:var(--brand)}.menu-grid strong{grid-column:2;margin:0}.menu-grid small{grid-column:2;margin:1px 0 0}.menu-grid b{grid-column:3;grid-row:1/3;color:#a4a7ac;font-size:18px}.menu-services .active{background:#151515}.company-footer{background:#f0f1f3}.company-footer-brand{display:flex;align-items:center;gap:8px;text-transform:uppercase}.company-footer-brand img{width:18px;height:22px}.access-page{background:#f2f3f5}.access-visual{background:#111}.access-brand img{width:24px;height:29px}.access-brand span{display:none}.access-graphic .graphic-person{border-color:var(--brand);box-shadow:0 110px 0 40px var(--brand)}.access-brand strong{text-transform:uppercase;letter-spacing:.4px}.access-features span{background:#f1f2f4}.pool-profile{background:#fff}.fc .fc-button-primary{border-color:#202124;background:#202124}.fc .fc-list-event-dot{border-color:var(--brand)!important}
@media(max-width:700px){body{background:#f5f6f8}.mobile-app-bar{background:#fff}.mobile-back,.mobile-menu-link{color:#202124}.mobile-bottom-nav{border-color:#e7e8eb;background:#fffffff2}.mobile-bottom-nav a[aria-current="page"]{color:var(--brand);background:transparent}.mypage-overview>a:nth-child(1){background:#151515}.mypage-overview>a:nth-child(2){background:#fff}.mypage-service-section{margin:18px -14px 0;padding:20px 14px;border-width:1px 0;border-radius:0}.mypage-service-section .service-grid{display:block}.mypage-service-section .service-card{min-height:68px;padding:12px 0!important;border-left:0!important}.mypage-service-section .service-card p{display:block}.mypage-service-section .service-card-icon{flex-basis:30px;width:30px;height:30px}.menu-main{padding-left:14px;padding-right:14px}.menu-profile{border-radius:14px}.menu-directory{margin:18px -14px 0;padding:20px 14px;border-width:1px 0;border-radius:0}.menu-grid{display:block}.menu-grid>a{min-height:66px;padding:11px 0!important;border-left:0!important}.menu-grid>a>span{color:#202124}.pool-list-item.active{background:#fff5f2}.schedule-legend span{border-color:#e6e7ea;background:#fff}.fc .fc-prev-button,.fc .fc-next-button{border-color:#ddd!important;background:#fff!important;color:#202124!important}.fc .fc-today-button{border-color:var(--brand)!important;background:var(--brand)!important}.fc .fc-toolbar{border-color:#e7e8eb;background:#fff}.fc .fc-list-day-cushion{background:#f1f2f4!important}.company-footer{background:#eff0f2}}
@media(max-width:700px){.mobile-customer-new{display:inline-flex;min-height:34px;padding:6px 10px;border-color:var(--brand);background:var(--brand);color:#fff;font-size:11px}.customer-panel .panel-top{padding-right:14px}}
/* All navigation and action glyphs use the same background-free outline treatment. */
.action-icon,.action-icon.kakao,.action-icon.sms,.service-card-icon,.menu-grid>a>span{border:0!important;border-radius:0!important;color:#202124!important;background:transparent!important;box-shadow:none!important}.action-icon svg,.service-card-icon svg,.menu-grid>a>span svg,.mobile-bottom-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.quick-actions>a:hover .action-icon,.mypage-service-section .service-card:hover .service-card-icon,.menu-grid>a:hover>span{color:var(--brand)!important}
.brand-wordmark{display:block;width:148px;height:auto}.company-footer-brand img{width:158px;height:auto}.access-brand img{width:42px;height:auto}.access-wordmark{display:block;width:min(240px,80%);height:auto;margin:0 0 24px}.access-copy>.eyebrow{margin-top:0}@media(max-width:850px) and (min-width:701px){.brand-wordmark{width:128px}.brand>span:last-child{display:none}}@media(max-width:700px){.company-footer-brand img{width:142px}.access-wordmark{width:210px;margin-bottom:20px}}

/* Header/footer use a compact lockup; full artwork remains inside content pages. */
.brand-lockup,.company-footer-brand{display:inline-flex;align-items:center;gap:7px}
.brand-lockup-symbol,.brand-lockup-type,.company-footer-brand .brand-lockup-symbol,.company-footer-brand .brand-lockup-type{display:block;width:auto;height:30px;object-fit:contain}
.company-footer-brand .brand-lockup-symbol,.company-footer-brand .brand-lockup-type{height:32px}
@media(max-width:850px) and (min-width:701px){.brand-lockup-symbol,.brand-lockup-type{height:27px}.brand>span:last-child{display:none}}
@media(max-width:700px){.company-footer-brand .brand-lockup-symbol,.company-footer-brand .brand-lockup-type{height:28px}}

/* Login visual: a calm preview of the member workspace. */
.access-visual:before{content:"";position:absolute;right:-110px;bottom:-130px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,#ff4d1642 0,#ff4d1600 68%)}
.access-preview{position:relative;z-index:1;margin:78px auto 0;padding:24px;width:min(100%,410px);border:1px solid #ffffff1f;border-radius:20px;background:#1b1b1b;box-shadow:0 28px 65px #0008;color:#fff}
.preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:19px;border-bottom:1px solid #ffffff17}
.preview-heading>div{display:flex;flex-direction:column;gap:5px}.preview-heading small{color:#ff6a3d;font-size:8px;font-weight:800;letter-spacing:1.4px}.preview-heading strong{font-size:18px;letter-spacing:-.5px}.preview-heading>span{padding:6px 9px;border-radius:20px;background:#ffffff10;color:#b8b8b8;font-size:8px}
.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.preview-stats>div{padding:13px 12px;border-radius:12px;background:#242424}.preview-stats small{display:block;margin-bottom:7px;color:#949494;font-size:8px}.preview-stats b{font-size:21px}.preview-stats em{margin-left:3px;color:#888;font-size:8px;font-style:normal}
.preview-list{border-radius:14px;background:#fff;color:#191919;overflow:hidden}.preview-list>div{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px}.preview-list>div+div{border-top:1px solid #ededed}.preview-list p{display:flex;min-width:0;flex-direction:column;gap:3px}.preview-list p b{font-size:10px}.preview-list p small{overflow:hidden;color:#929292;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.preview-list em{padding:4px 7px;border-radius:9px;background:#f1f2f3;color:#60646a;font-size:7px;font-style:normal}
.preview-icon{position:relative;width:30px;height:30px;border-radius:9px;background:#fff0eb}.preview-icon:before,.preview-icon:after{content:"";position:absolute}.preview-icon.customer:before{top:6px;left:11px;width:8px;height:8px;border:1.5px solid var(--brand);border-radius:50%}.preview-icon.customer:after{bottom:5px;left:7px;width:14px;height:7px;border:1.5px solid var(--brand);border-bottom:0;border-radius:9px 9px 0 0}.preview-icon.schedule:before{inset:7px 6px 6px;border:1.5px solid var(--brand);border-radius:3px}.preview-icon.schedule:after{top:11px;left:7px;width:16px;border-top:1.5px solid var(--brand)}.preview-icon.message:before{inset:7px 6px 8px;border:1.5px solid var(--brand);border-radius:4px}.preview-icon.message:after{left:10px;bottom:6px;width:6px;height:6px;border-left:1.5px solid var(--brand);transform:skew(-28deg)}
.preview-progress{display:flex;align-items:center;gap:12px;margin-top:17px}.preview-progress>span{display:block;width:92px;height:5px;border-radius:4px;background:#343434;overflow:hidden}.preview-progress i{display:block;width:67%;height:100%;border-radius:inherit;background:var(--brand)}.preview-progress p{display:flex;flex-direction:column;gap:2px}.preview-progress b{font-size:9px}.preview-progress small{color:#777;font-size:7px}.access-visual-caption{position:absolute;z-index:1;left:34px;bottom:28px;margin:0;color:#777;font-size:9px;letter-spacing:.4px}
@media(max-width:850px){.access-preview{margin-top:20px;max-width:420px}.access-visual-caption{display:none}.access-visual{padding-bottom:28px}.preview-list>div:nth-child(3){display:none}}
@media(max-width:700px){.access-preview{margin-top:18px;padding:17px;border-radius:16px}.preview-heading{padding-bottom:13px}.preview-stats{margin:12px 0}.preview-stats>div{padding:9px}.preview-stats small{margin-bottom:3px}.preview-stats b{font-size:17px}.preview-list>div{padding:9px 10px}.preview-progress{margin-top:12px}}

.access-tour{position:relative;z-index:1}.access-tour-track{min-height:410px}.access-tour-slide[hidden]{display:none}.access-tour-slide.is-active{animation:tour-in .35s ease both}@keyframes tour-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.access-tour-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:14px auto 0;color:#fff}.tour-arrow{display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid #ffffff24;border-radius:50%;background:#ffffff0a;color:#aaa;font:20px/1 Arial;cursor:pointer}.tour-arrow:hover,.tour-arrow:focus{border-color:#ffffff70;color:#fff}.tour-dots{display:flex;align-items:center;gap:7px}.tour-dots button{width:6px;height:6px;padding:0;border:0;border-radius:8px;background:#ffffff38;cursor:pointer;transition:.2s}.tour-dots button.is-active{width:20px;background:var(--brand)}
.access-tour-link{display:block;margin-top:9px;padding:12px;border-color:#dfe1e4;background:#fff;text-align:center}.access-tour-link:hover{border-color:#aeb2b8;background:#f7f7f8}
.tour-slide-copy{margin:16px 1px 0;color:#8d8d8d;font-size:9px;line-height:1.6}.tour-customer{display:grid;grid-template-columns:.9fr 1.1fr;min-height:245px;margin-top:18px;overflow:hidden;border-radius:14px;background:#fff;color:#191919}.tour-customer-list{padding:9px;background:#f0f1f3}.tour-customer-list>span{display:flex;align-items:center;gap:8px;padding:10px 8px;border-radius:9px}.tour-customer-list>span.active{background:#fff;box-shadow:0 5px 14px #1111}.tour-customer-list i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#202124;color:#fff;font-size:9px;font-style:normal}.tour-customer-list .active i{background:var(--brand)}.tour-customer-list b{display:flex;min-width:0;flex-direction:column;gap:2px;font-size:9px}.tour-customer-list small{color:#929292;font-size:7px;font-weight:400}.tour-customer-detail{padding:22px 17px}.tour-customer-detail>small{color:var(--brand);font-size:7px;font-weight:800}.tour-customer-detail>strong{display:block;margin:6px 0 18px;font-size:15px}.tour-customer-detail dl{margin:0}.tour-customer-detail dl div{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid #eee;font-size:8px}.tour-customer-detail dt{color:#929292}.tour-customer-detail dd{margin:0;font-weight:700}.tour-customer-detail>span{display:block;margin-top:17px;color:var(--brand);font-size:8px;font-weight:700}
.tour-calendar{margin-top:18px;padding:18px;border-radius:14px;background:#fff;color:#202124}.tour-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:11px}.tour-calendar-head span{color:#999}.tour-week,.tour-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.tour-week{margin-bottom:7px;color:#a1a1a1;font-size:7px}.tour-days{row-gap:5px;font-size:8px}.tour-days>span{position:relative;display:grid;place-items:center;height:25px;border-radius:50%}.tour-days .today{background:var(--brand);color:#fff;font-weight:800}.tour-days .event i{position:absolute;bottom:2px;width:3px;height:3px;border-radius:50%;background:var(--brand)}
.tour-flow{display:flex;min-height:250px;padding:18px 8px;align-items:center;flex-direction:column;justify-content:center}.tour-flow>div{display:grid;grid-template-columns:34px 1fr auto;align-items:center;width:100%;gap:10px;padding:12px;border:1px solid #ffffff14;border-radius:12px;background:#242424}.tour-flow>div p{display:flex;flex-direction:column;gap:3px}.tour-flow>div p b{font-size:10px}.tour-flow>div p small{color:#898989;font-size:8px}.tour-flow>div i{padding:4px 7px;border-radius:10px;background:#ffffff0a;color:#aaa;font-size:7px;font-style:normal}.tour-flow>b{height:16px;color:#555;font-size:10px}
@media(max-width:850px){.access-tour-track{min-height:385px}.access-tour-controls{margin-top:8px}.access-visual{min-height:500px}.access-preview{margin-top:20px}.access-tour-link{display:block}}
@media(min-width:851px){.access-tour-link{display:none}}
@media(max-width:700px){.access-visual{min-height:470px}.access-tour-track{min-height:355px}.access-tour-controls{margin-top:5px}.tour-customer{min-height:218px}.tour-customer-detail{padding:17px 13px}.tour-calendar{padding:14px}.tour-flow{min-height:218px}.tour-slide-copy{margin-top:11px}}
@media(prefers-reduced-motion:reduce){.access-tour-slide.is-active{animation:none}}

.access-brand{position:relative;z-index:3;display:inline-flex;align-items:center;gap:7px}.access-brand .access-brand-symbol,.access-brand .access-brand-type{display:block;width:auto;height:29px;object-fit:contain}.access-brand .access-brand-type{height:27px}.access-tour-close,.mobile-tour-actions{display:none}
.company-footer-name{color:#747b84;font-size:12px;font-weight:800;letter-spacing:1.4px}.company-footer-name:hover{color:#4f5660}
.access-copy h1{font-size:clamp(28px,3.15vw,40px);letter-spacing:-1.7px;white-space:nowrap}
@media(max-width:700px){
  .access-page .access-main{display:flex;min-height:100svh;flex-direction:column}.access-page .access-copy{min-height:100svh;box-sizing:border-box;justify-content:center}
  .access-page .access-visual{display:none}
  .access-page.tour-open{overflow:hidden}.access-page.tour-open .access-visual{position:fixed;z-index:1000;inset:0;display:block;min-height:100svh;padding:22px 18px calc(96px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:0;background:#111}
  .tour-open .access-brand .access-brand-symbol{height:27px}.tour-open .access-brand .access-brand-type{height:25px}
  .access-tour-close{position:absolute;z-index:4;top:18px;right:18px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #ffffff2b;border-radius:50%;background:#ffffff0d;color:#fff;font:22px/1 Arial;cursor:pointer}
  .tour-open .access-tour{margin-top:8px}.tour-open .access-preview{margin-top:18px}.tour-open .access-tour-track{min-height:365px}.tour-open .access-tour-controls{margin-top:8px}
  .mobile-tour-actions{position:fixed;z-index:5;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));left:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid #ffffff1f;border-radius:16px;background:#181818eF;box-shadow:0 -12px 34px #0007;backdrop-filter:blur(12px)}
  .mobile-tour-actions .button{display:block;padding:12px;border-color:#ffffff2b;background:#2a2a2a;color:#fff;text-align:center}.mobile-tour-actions .accent{border-color:var(--brand);background:var(--brand)}
}

/* Desktop navigation, consistent mobile forms and in-app postcode search. */
.desktop-header{gap:28px}.desktop-header .brand{flex:0 0 auto}.desktop-primary-nav{display:flex;align-items:stretch;align-self:stretch;gap:4px}.desktop-primary-nav a{position:relative;display:flex;align-items:center;padding:0 13px;color:#70757d;font-size:12px;font-weight:700}.desktop-primary-nav a:hover{color:#202124}.desktop-primary-nav a[aria-current="page"]{color:#111}.desktop-primary-nav a[aria-current="page"]:after{content:"";position:absolute;right:13px;bottom:-19px;left:13px;height:3px;border-radius:3px 3px 0 0;background:var(--brand)}.desktop-utilities{margin-left:auto;gap:9px}.desktop-text-action{min-height:36px;padding:7px 9px;border:0;background:transparent;color:#6d737c;font-size:11px;font-weight:700}.desktop-text-action:hover{color:#111}.desktop-new-customer{min-width:0;min-height:36px;padding:7px 13px}.desktop-admin{padding:6px 8px;font-size:10px;font-weight:800}.desktop-account{display:flex;min-width:92px;padding-left:12px;border-left:1px solid var(--line);flex-direction:column;line-height:1.25}.desktop-account span{color:#30343a;font-size:11px;font-weight:800}.desktop-account small{color:#969ba3;font-size:8px}
.form-grid>label{margin:0}.check-field{min-height:40px;align-self:end;white-space:nowrap;line-height:1.2}.check-field input{flex:0 0 18px;width:18px;height:18px;min-height:0;margin:0}.address-dialog{width:min(560px,calc(100% - 32px));padding-bottom:20px}.postcode-layer{height:470px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}#schedule-dialog{width:min(680px,calc(100% - 32px))}
@media(max-width:1050px) and (min-width:701px){.desktop-header{gap:12px}.desktop-primary-nav{gap:0}.desktop-primary-nav a{padding:0 8px;font-size:11px}.desktop-primary-nav a[aria-current="page"]:after{right:8px;left:8px}.desktop-utilities{gap:5px}.desktop-text-action{padding:7px 5px}.desktop-account{min-width:76px;padding-left:8px}.desktop-new-customer{padding:7px 9px}}
@media(max-width:540px){dialog{max-height:calc(100svh - 24px);padding:0 16px 16px;overflow-y:auto}.form-grid>label{margin:0}.check-field{display:flex;min-height:34px;padding:2px 0;align-items:center;gap:8px;font-size:11px;white-space:nowrap}.check-field input{width:18px;height:18px;margin:0}.dialog-actions{margin-top:14px}.address-dialog{width:calc(100% - 16px);max-height:calc(100svh - 16px);padding-right:8px;padding-left:8px}.address-dialog .panel-top{padding-right:4px;padding-left:4px}.postcode-layer{height:calc(100svh - 118px);min-height:430px;border-radius:8px}#schedule-dialog .form-grid{gap:9px}#schedule-dialog textarea{min-height:68px}}
@media(min-width:1151px){main,.history-main,.today-main,.mypage-main,.workspace-main,.menu-main{width:100%;max-width:none;padding-right:18px;padding-left:18px}.footer,.desktop-footer,.company-footer-inner{width:100%;max-width:none;padding-right:18px;padding-left:18px}}
@media(min-width:701px){.app-header{height:64px;min-height:64px;padding:12px 28px}.desktop-header{height:39px}.desktop-primary-nav a[aria-current="page"]:after{bottom:-13px}.check-field{display:flex;align-items:center;gap:8px;white-space:nowrap}}
@media(max-width:1050px) and (min-width:701px){.app-header{padding-right:16px;padding-left:16px}}
.fc .fc-col-header-cell.fc-day-sun a,.fc .fc-day-sun .fc-daygrid-day-number,.fc .is-holiday .fc-daygrid-day-number{color:#d92d20!important}.fc .fc-col-header-cell.fc-day-sat a,.fc .fc-day-sat .fc-daygrid-day-number{color:#2563eb!important}.fc .is-holiday{background:#fff5f4}.fc .fc-event[data-event-id^="holiday-"]{font-weight:700}

.message-tabs{display:flex;gap:5px;margin:0 0 18px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow-x:auto}
.message-tabs a{flex:1;min-width:88px;padding:11px 12px;border-radius:8px;color:#6b7280;text-align:center;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}
.message-tabs a[aria-current="page"]{color:#fff;background:var(--ink);box-shadow:0 4px 12px #18213d20}
.membership-tabs{margin-bottom:20px}
.membership-billing-panel{margin-top:18px}
.message-quota{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.message-quota article{padding:18px 20px}
.message-quota span,.message-quota strong,.message-quota small{display:block}
.message-quota span{color:var(--muted);font-size:11px}
.message-quota strong{margin:6px 0 2px;font-size:26px}
.message-quota small{color:#9097a2;font-size:11px;line-height:1.55}
.message-list{display:flex;flex-direction:column;gap:10px}
.message-item{padding:18px 20px}
.message-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.message-item-head>div{min-width:0}
.message-item-head strong,.message-item-head small{display:block}
.message-item-head small{margin-top:4px;color:var(--muted);font-size:11px}
.message-item p{margin:10px 0 0;color:#555e6b;font-size:13px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}
.message-item p.muted,.message-desk-form .muted{color:var(--muted);font-size:12px}
.message-quota .send-channel{margin-bottom:10px}
.message-compose .notice,.message-desk-form .notice{margin-top:16px}
.message-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}
.message-actions form{display:inline-flex;margin:0}
.message-desk-form{padding:22px 24px}
.message-desk-form h2{margin:4px 0;font-size:18px}
.message-desk-form .form-grid{margin-top:16px}
.message-desk-form .muted{margin-top:8px}
.message-desk-form details{margin-top:16px}
.message-desk-form summary{cursor:pointer;font-weight:700}
.template-buttons{display:grid;gap:10px;margin-top:12px}
.template-buttons fieldset{margin:0;padding:14px;border:1px solid var(--line);border-radius:10px}
.template-buttons legend{padding:0 6px;color:var(--muted);font-size:11px;font-weight:700}
.message-pager{display:flex;gap:8px}
#message-preview{white-space:pre-wrap}
.message-purchase{overflow:hidden}
.message-purchase-head{padding:22px 24px 0}
.message-purchase-head h2{margin:4px 0;font-size:18px}
.message-purchase-head .muted{margin-top:6px}
.message-purchase-form{margin-top:4px}
.message-purchase-fields{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px 16px;padding:18px 24px 0}
.quantity-field{display:flex;align-items:center;gap:4px;margin-top:5px;padding-right:12px;border:1px solid var(--line);border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}
.quantity-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #f0a04b26}
.quantity-field input{flex:1;margin-top:0;border:0;border-radius:8px;box-shadow:none;text-align:right;font-variant-numeric:tabular-nums}
.quantity-field input:focus{border:0;box-shadow:none}
.quantity-field em{flex:0 0 auto;color:var(--muted);font-style:normal;font-size:13px;font-weight:700}
.message-purchase-fields label>small{margin-top:6px}
.message-purchase-estimate{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 24px 0;padding:14px 16px;border-radius:10px;background:#fff8ef}
.message-purchase-estimate span{color:#8a765d;font-size:12px;font-weight:700}
.message-purchase-estimate strong{font-size:18px;font-variant-numeric:tabular-nums}
.message-purchase-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:16px 24px;border-top:1px solid var(--line);background:#fbfcfd}
.message-purchase-actions p{margin:0;color:#8d94a0;font-size:11px;line-height:1.5}
.message-purchase-actions .button{min-width:148px;flex:0 0 auto}
.message-purchase-meta{display:flex;gap:10px;margin-top:12px}
.message-purchase-meta span{display:inline-flex;align-items:baseline;gap:4px;padding:8px 12px;border-radius:8px;background:#f7f8fa;color:var(--muted);font-size:11px}
.message-purchase-meta b{color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums}
@media(max-width:850px){.message-quota{grid-template-columns:1fr}.message-purchase-fields{grid-template-columns:1fr}}
@media(max-width:700px){.message-tabs{display:flex}.message-desk-form{padding:18px 16px}.message-purchase-head{padding:18px 16px 0}.message-purchase-fields{padding:16px 16px 0}.message-purchase-estimate{margin:16px 16px 0}.message-purchase-actions{align-items:stretch;flex-direction:column;padding:14px 16px}.message-purchase-actions .button{width:100%}}

.hero-actions { display:flex; align-items:center; gap:8px; }
.stats-main .message-tabs { margin-bottom:14px; }
.stat-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.stat-panel-wide { grid-column:1 / -1; }
.stat-panel .panel-top { padding-bottom:8px; }
.stat-panel .panel-top h2 { font-size:16px; }
.stat-list { padding-bottom:8px; }
.stat-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 20px; border-top:1px solid var(--line); }
.stat-row span { color:var(--muted); font-size:13px; }
.stat-row strong { font-size:16px; font-variant-numeric:tabular-nums; }
.stat-bars { display:grid; gap:10px; padding:4px 20px 18px; }
.stat-bar-row { display:grid; grid-template-columns:minmax(72px,140px) minmax(0,1fr) auto; align-items:center; gap:12px; }
.stat-bar-row span { color:#4d5563; font-size:13px; }
.stat-bar { height:8px; border-radius:99px; background:#f0f1f4; overflow:hidden; }
.stat-bar i { display:block; height:100%; border-radius:inherit; background:var(--ink); }
.stat-bar-row strong { min-width:3ch; font-size:13px; font-variant-numeric:tabular-nums; text-align:right; }
.stat-empty { margin:0; padding:8px 20px 20px; color:var(--muted); }
.stats a.stat { text-decoration:none; }
@media(max-width:850px) { .stat-board { grid-template-columns:1fr; } }
@media(max-width:700px) {
    .hero-actions { width:100%; }
    .hero-actions .button { flex:1; }
    .stat-bar-row { grid-template-columns:minmax(64px,92px) minmax(0,1fr) auto; gap:8px; }
}

.public-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; }
.public-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.public-hero h1 { margin:4px 0; }
.public-copy { padding:0 20px 20px; color:var(--muted); }
@media(max-width:700px) {
    .public-home .public-hero { align-items:flex-start; flex-direction:column; }
    .public-home .public-hero .button { width:100%; }
}
