:root{--color-primary:#1b6797;--color-main:#358dcc;--color-sub-dark:#436c89;--color-sub:#b8ddf9;--color-sub-2:#436c89;--color-border:#dae2f0;--color-background:#f1f3f5;--color-text:#1e1e1e;--color-text-sub:#64686e;--color-yellow:#fec107;--color-pink:#ff5077}.app-shell{background:var(--color-background);border-inline:1px solid var(--color-border);width:100%;max-width:480px;height:100dvh;margin:0 auto;position:relative;overflow:hidden}.auth-check-screen,.login-screen{background:var(--color-background);width:100%;max-width:480px;min-height:100dvh;margin:0 auto}.auth-check-screen{color:var(--color-text-sub);place-items:center;padding:24px;font-size:14px;font-weight:700;display:grid}.login-screen{padding:calc(34px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex}.login-hero{flex-direction:column;gap:8px;padding:8px 4px 4px;display:flex}.login-hero img{object-fit:contain;width:46px;height:46px}.login-hero span{color:var(--color-main);margin-top:8px;font-size:13px;font-weight:800}.login-hero h1{color:var(--color-text);margin:0;font-size:28px;line-height:1.2}.login-hero p{color:var(--color-text-sub);margin:0;font-size:14px;line-height:1.5}.login-card,.login-help-card{background:#fff;border-radius:12px;box-shadow:0 1px #1423330a}.login-card{flex-direction:column;gap:18px;padding:22px 18px 18px;display:flex}.login-field{flex-direction:column;gap:10px;display:flex}.login-field>span{color:var(--color-text);font-size:14px;font-weight:800}.login-field input{background:var(--color-background);width:100%;height:50px;color:var(--color-text);font:inherit;border:0;border-radius:10px;outline:none;padding:0 14px;font-size:15px;font-weight:700}.login-field input::placeholder{color:#9aa2ad;font-weight:600}.login-password-input{background:var(--color-background);border-radius:10px;grid-template-columns:minmax(0,1fr) 58px;align-items:center;display:grid}.login-password-input input{background:0 0}.login-password-input button{height:38px;color:var(--color-sub-dark);cursor:pointer;background:#fff;border-radius:8px;margin-right:6px;font-size:12px;font-weight:800}.login-guide{color:var(--color-text-sub);text-align:center;flex-direction:column;gap:3px;font-size:12px;line-height:1.4;display:flex}.login-error{color:var(--color-pink);background:#fff0f4;border-radius:10px;margin:0;padding:11px 12px;font-size:13px;font-weight:700;line-height:1.45}.login-submit-button{background:var(--color-sub);height:50px;color:var(--color-primary);cursor:pointer;border-radius:10px;font-size:16px;font-weight:800}.login-submit-button:disabled{cursor:default;opacity:.68}.login-help-card{flex-direction:column;gap:10px;padding:16px;display:flex}.login-help-card a{color:#fff;border-radius:10px;justify-content:center;align-items:center;min-height:46px;font-size:14px;font-weight:800;text-decoration:none;display:flex}.login-help-card a:first-child{background:var(--color-sub-dark)}.login-help-card a:last-child{color:var(--color-text-sub);border:1px solid var(--color-border);background:#fff}.app-header{z-index:20;width:100%;max-width:480px;height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f7f8d1;border-bottom:1px solid #dae2f0d9;grid-template-columns:56px 1fr 56px;align-items:end;display:grid;position:fixed;top:0;left:50%;transform:translate(-50%)}.app-header h1{color:var(--color-text);text-align:center;margin:0;padding-bottom:16px;font-size:17px;font-weight:700;line-height:1}.header-button{width:56px;height:56px;color:var(--color-text);cursor:pointer;background:0 0;place-items:center;padding:0 0 5px;font-size:34px;line-height:1;display:grid}.header-button:disabled{color:#0000;cursor:default}.header-spacer{width:56px;height:56px}.page-stack{width:100%;height:100%;padding-top:calc(56px + env(safe-area-inset-top));padding-bottom:calc(72px + env(safe-area-inset-bottom));position:relative;overflow:hidden}.page-screen{inset:calc(56px + env(safe-area-inset-top)) 0 calc(72px + env(safe-area-inset-bottom));background:var(--color-background);touch-action:pan-y;will-change:transform;backface-visibility:hidden;position:absolute;overflow:hidden;transform:translateZ(0)}.detail-page-screen{inset:calc(56px + env(safe-area-inset-top)) 0 0}.page-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;overflow-y:auto}.page-content,.app-page{flex-direction:column;gap:18px;min-height:100%;padding:18px 18px 34px;display:flex}.page-content h2,.app-page h2{color:var(--color-text);margin:0;font-size:28px;line-height:1.2}.page-content p,.app-page p{color:var(--color-text-sub);margin:0;font-size:15px;line-height:1.55}.app-card{background:#fff;border:0;border-radius:10px;width:100%;padding:18px;box-shadow:0 1px #1423330a}.section-title,.app-page .section-title{color:var(--color-text-sub);margin:0 0 9px;font-size:13px;font-weight:700;line-height:1.4}.metric-card,.metric-card>div,.metric-card dl,.metric-card dl div{align-items:center;display:flex}.metric-card{justify-content:space-between;gap:12px}.metric-card>div{gap:8px;min-width:0}.metric-card-title{color:var(--color-text);font-size:15px;font-weight:700}.metric-dot{border-radius:999px;flex:none;width:8px;height:8px}.metric-dot.blue{background:var(--color-main)}.metric-dot.yellow{background:var(--color-yellow)}.metric-dot.pink{background:var(--color-pink)}.metric-dot.green{background:#1d9345}.metric-card dl{flex:none;gap:12px;margin:0}.metric-card dl div{gap:6px}.metric-card dt,.metric-card dd{margin:0;font-size:12px}.metric-card dt{color:var(--color-text-sub)}.metric-card dd{color:var(--color-sub-dark);font-weight:700}.action-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.action-tile{color:#fff;border-radius:10px;min-height:84px;padding:10px;text-decoration:none}.action-tile strong,.action-tile span{display:block}.action-tile strong{font-size:13px;line-height:1.35}.action-tile span{opacity:.82;margin-top:4px;font-size:12px}.action-tile.main{background:var(--color-main)}.action-tile.pink{background:var(--color-pink)}.action-tile.yellow{background:var(--color-yellow)}.action-tile.sub{background:var(--color-sub-dark)}.action-tile.green{background:#1d9345}.status-badge{color:#fff;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.status-badge.main{background:var(--color-main)}.status-badge.sub{background:var(--color-sub-2)}.status-badge.pink{background:var(--color-pink)}.status-badge.yellow{background:var(--color-yellow)}.status-badge.gray{background:var(--color-text-sub)}.status-badge.green{background:#1d9345}.list-card{flex-direction:column;padding-block:10px;padding-inline:20px;display:flex}.list-row{border-bottom:1px solid var(--color-border);min-height:64px;color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;text-decoration:none;display:grid}.list-row:last-child{border-bottom:0}.list-row-leading{background:#f1f3f5;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.list-row-leading img{object-fit:contain;width:22px;height:22px}.list-row-body{flex-direction:column;gap:5px;min-width:0;display:flex}.list-row-body strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.list-row-body span{color:var(--color-text-sub);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.45;overflow:hidden}.list-row-trailing{justify-content:flex-end;align-items:center;gap:8px;display:flex}.list-row-trailing>span:not(.status-badge){color:var(--color-text-sub);font-size:12px;font-weight:600}.chevron-text{color:var(--color-text-sub);font-size:24px;line-height:1}.list{flex-direction:column;gap:10px;padding-top:4px;display:flex}.list-item{min-height:72px;color:inherit;background:#fff;border:0;border-radius:10px;flex-direction:column;justify-content:center;gap:6px;padding:14px;text-decoration:none;display:flex}.list-item strong{color:var(--color-text);font-size:16px}.list-item span{color:var(--color-text-sub);font-size:14px}.primary-button{background:var(--color-primary);color:#fff;cursor:pointer;border-radius:8px;width:100%;height:48px;font-weight:700}.home-page{gap:16px}.home-profile{justify-content:space-between;align-items:center;padding:10px 2px 0;display:flex}.home-profile h2{color:var(--color-text);margin:4px 0 6px;font-size:25px;line-height:1.2}.home-profile p,.home-eyebrow{color:var(--color-text-sub);font-size:14px;font-weight:600}.home-profile img{object-fit:contain;width:46px;height:46px}.safe-number-card{background:linear-gradient(135deg, var(--color-primary), var(--color-main));color:#fff;flex-direction:column;gap:14px;display:flex}.safe-number-main,.safe-number-sub{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.safe-number-main span,.safe-number-sub span{color:#ffffffc7;font-size:13px;font-weight:700}.safe-number-main strong{letter-spacing:0;grid-column:1;font-size:27px}.safe-number-main .status-badge{background:#fff3;grid-area:1/2/span 2}.safe-number-sub{border-top:1px solid #ffffff3d;padding-top:12px}.safe-number-sub strong{font-size:15px}.worktime-card{position:relative}.worktime-card:before{background:var(--color-main);content:"";border-radius:0 999px 999px 0;width:4px;height:42px;position:absolute;top:20px;left:0}.home-card-row,.home-info-row{align-items:center;display:flex}.home-card-row{justify-content:space-between;margin-bottom:14px}.home-card-title{color:var(--color-text);font-size:15px;font-weight:700}.home-card-row strong{color:var(--color-primary);font-size:15px}.home-info-row{color:var(--color-text-sub);justify-content:space-between;font-size:13px;line-height:1.9}.home-info-row strong{color:var(--color-text-sub);font-size:13px}.home-usage-list{flex-direction:column;gap:9px;display:flex}.safe-call-page{gap:16px}.safe-call-notice,.message-init-card,.more-greeting{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:17px;display:flex}.safe-call-notice{background:#eaf6ff;flex-direction:column;align-items:flex-start}.safe-call-notice span,.message-init-card span,.more-greeting span{color:var(--color-text-sub);font-size:13px;font-weight:700}.safe-call-notice strong,.message-init-card strong,.more-greeting strong{color:var(--color-text);font-size:17px;line-height:1.35}.caller-card{padding:0}.caller-number-button{cursor:pointer;text-align:left;background:#fff;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:6px;width:100%;min-height:72px;padding:16px 18px;display:grid}.caller-number-button span{color:var(--color-text-sub);font-size:13px;font-weight:700}.caller-number-button strong{color:var(--color-primary);grid-column:1;font-size:18px}.caller-number-button img{grid-area:1/2/span 2;width:24px;height:24px}.call-display{background:#fff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:88px;display:flex}.call-display span{color:var(--color-text-sub);font-size:13px;font-weight:700}.call-display strong{color:var(--color-text);letter-spacing:0;font-size:29px}.call-keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.call-key{min-height:57px;color:var(--color-text);cursor:pointer;background:#fff;border-radius:14px;place-items:center;font-size:24px;font-weight:700;display:grid}.call-action-row{grid-template-columns:1fr 76px 1fr;align-items:center;gap:14px;display:grid}.call-sub-button{min-height:44px;color:var(--color-sub-dark);cursor:pointer;background:#fff;border-radius:12px;font-size:14px;font-weight:700}.call-main-button{background:var(--color-main);cursor:pointer;border-radius:999px;place-items:center;width:76px;height:76px;display:grid;box-shadow:0 12px 26px #358dcc47}.call-main-button img{filter:brightness(0)invert();width:32px;height:32px}.recent-call-card{padding-block:8px}.messages-page,.call-history-page{gap:15px}.message-init-card{grid-template-columns:38px minmax(0,1fr) auto;display:grid}.message-init-card img{width:34px;height:34px}.message-init-card div{flex-direction:column;gap:4px;min-width:0;display:flex}.message-init-card button,.message-summary-card button{background:var(--color-primary);color:#fff;cursor:pointer;border-radius:999px;height:34px;padding:0 14px;font-size:12px;font-weight:700}.message-search{height:44px;color:var(--color-text-sub);background:#fff;border-radius:10px;padding:0 16px;font-size:14px;line-height:44px}.history-filter-card{background:#fff;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px;display:grid}.history-filter-card button{height:36px;color:var(--color-text-sub);cursor:pointer;background:0 0;border-radius:9px;font-size:13px;font-weight:700}.history-filter-card button.active{background:var(--color-primary);color:#fff}.history-date-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.history-date-row button{height:42px;color:var(--color-text);cursor:pointer;background:#fff;border-radius:10px;font-size:13px;font-weight:700}.history-date-row span{color:var(--color-text-sub);font-size:13px}.more-greeting{min-height:74px}.more-greeting>div{flex-direction:column;gap:5px;display:flex}.message-summary-card{justify-content:space-between;align-items:center;min-height:82px;display:flex}.message-summary-card div{flex-direction:column;gap:6px;display:flex}.message-summary-card span{color:var(--color-text-sub);font-size:13px;font-weight:700}.message-summary-card strong{color:var(--color-text);font-size:21px}.message-summary-card button{background:var(--color-main);color:#fff;cursor:pointer;border-radius:999px;height:40px;padding:0 16px;font-size:13px;font-weight:700}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.metric-grid .metric-card{flex-direction:column;align-items:flex-start}.metric-grid .metric-card dl{justify-content:space-between;width:100%}.ment-page{padding-bottom:96px;position:relative}.ment-section{flex-direction:column;gap:0;display:flex}.ment-section h2{color:var(--color-text-sub);font-size:14px;font-weight:600}.ment-list{flex-direction:column;gap:0;padding-block:10px;display:flex}.ment-item{border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr) 40px;align-items:center;gap:10px;min-height:60px;display:grid}.ment-item:last-child{border-bottom:0}.ment-item strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.ment-item button{cursor:pointer;background:0 0;border-radius:999px;place-items:center;width:40px;height:40px;display:grid}.ment-item button img{width:28px;height:28px}.floating-plus-button{right:max(18px,50vw - 222px);bottom:calc(24px + env(safe-area-inset-bottom));z-index:25;background:var(--color-main);color:#fff;cursor:pointer;border-radius:14px;place-items:center;width:56px;height:56px;font-size:32px;line-height:1;display:grid;position:fixed;box-shadow:0 10px 24px #1b679742}.more-page{gap:17px}.more-greeting{padding:18px}.more-greeting span{color:var(--color-text-sub);font-size:13px;font-weight:600}.more-greeting strong{color:var(--color-text);font-size:20px}.more-menu-section,.menu-detail-section{flex-direction:column;gap:0;display:flex}.more-menu-section .section-title{color:var(--color-sub-dark);margin-bottom:7px;font-size:14px}.more-menu-section .list-card{padding-block:6px}.more-menu-section .list-row{gap:10px;min-height:52px}.more-menu-section .list-row-body strong{font-size:14px;font-weight:650}.more-menu-section .chevron-text{font-size:20px}.logout-button{width:100%;min-height:46px;color:var(--color-pink);cursor:pointer;background:#fff;border-radius:10px;font-size:14px;font-weight:800}.detail-page{background:#f9fafb}.detail-box{color:#fff;background:#111827;border-radius:8px;flex-direction:column;justify-content:center;gap:10px;min-height:128px;padding:18px;display:flex}.detail-box strong{font-size:18px}.detail-box span{color:#d1d5db;font-size:14px;line-height:1.5}.menu-detail-page{gap:18px}.menu-detail-hero{background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:18px 18px 20px;display:flex}.menu-detail-hero span{color:var(--color-main);font-size:13px;font-weight:700}.menu-detail-hero h2{font-size:25px}.menu-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;display:grid}.menu-detail-summary div{background:#f7f9fb;border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:12px 8px;display:flex}.menu-detail-summary span{color:var(--color-text-sub);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.menu-detail-summary strong{color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.bottom-nav{z-index:20;width:100%;max-width:480px;height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f7f8d1;border-top:1px solid #dae2f0d9;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav-item{color:var(--color-text-sub);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item img{object-fit:contain;width:24px;height:24px}.sheet-layer{z-index:50;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:#00000059;position:absolute;inset:0}.bottom-sheet{z-index:1;width:100%;max-width:480px;padding:10px 20px calc(20px + env(safe-area-inset-bottom));touch-action:none;background:#fff;border-radius:16px 16px 0 0;position:relative;box-shadow:0 -12px 40px #00000024}.sheet-handle{background:#d1d5db;border-radius:999px;width:44px;height:5px;margin:0 auto 18px}.bottom-sheet h2{color:#111827;margin:0 0 16px;font-size:20px}.sheet-menu{flex-direction:column;gap:8px;display:flex}.sheet-menu button{color:#111827;cursor:pointer;text-align:left;background:#f3f4f6;border-radius:8px;height:48px;padding:0 14px}@media (width<=480px){.app-shell,.app-header,.bottom-nav,.bottom-sheet{border-inline:0;max-width:none}.floating-plus-button{right:18px}}:root{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f4f6;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}button,a{font:inherit;-webkit-tap-highlight-color:transparent}button{border:0}
