*{box-sizing:border-box}:root{--bg:#0e0f13;--surface:#1a1c22;--surface-2:#23262f;--border:#2a2d36;--border-weak:#3a3e4a;--text:#f2f2f0;--body:#e9e9e6;--muted:#9aa0aa;--micro:#676c77;--gold:#c9a227;--gold-strong:#e7c24a;--warm:#b79a4a;--mid:#7a7e88;--cold:#5b6270;--ng:#c77e54;--ng-text:#e7af8c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.45 Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body{min-height:100%}#root{min-height:100svh}body{overscroll-behavior:none;background:radial-gradient(circle at 50% -120px,#c9a2271f,#0000 320px),#08090c;margin:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}input,textarea{color:var(--text);caret-color:var(--gold)}input::placeholder,textarea::placeholder{color:#5c616c}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #c9a227b3}@media (width<=430px){body{background:var(--bg)}}.app-stage{place-items:center;min-height:100svh;padding:22px 12px;display:grid}.phone-shell{background:var(--bg);border:1px solid #0000006b;border-radius:40px;flex-direction:column;width:375px;height:812px;max-height:calc(100svh - 44px);display:flex;position:relative;overflow:hidden;box-shadow:0 34px 80px #14120c52,0 8px 22px #14120c2e}.status-bar{height:44px;color:var(--text);z-index:20;flex:none;justify-content:space-between;align-items:center;padding:0 22px 0 26px;display:flex;position:relative}.status-bar>span{letter-spacing:0;font-size:13px;font-weight:600}.status-icons,.signal,.battery{align-items:center;display:inline-flex}.status-icons{gap:6px}.signal{align-items:flex-end;gap:1.5px;height:10px}.signal i{background:var(--text);border-radius:1px;width:3px;display:block}.signal i:first-child{height:4px}.signal i:nth-child(2){height:6px}.signal i:nth-child(3){height:8px}.signal i:nth-child(4){height:10px}.battery{gap:2px}.battery span{border:1px solid #f2f2f0cc;border-radius:3px;width:20px;height:11px;padding:1.5px;display:inline-flex}.battery i{background:var(--text);border-radius:1px;width:72%;height:100%;display:block}.battery b{background:#f2f2f0cc;border-radius:1px;width:1.5px;height:4px}.screen-fade{animation:.2s both fadeIn}.screen-push{animation:.22s both pushIn}.scroll-area{scrollbar-width:none}.scroll-area::-webkit-scrollbar{width:0;height:0}.lock-screen{flex-direction:column;flex:1;align-items:center;min-height:0;padding:0 34px 30px;display:flex}.pin-cluster{flex-direction:column;align-items:center;margin-top:44px;display:flex}.pin-cluster.shake{animation:.45s shake}.lock-dot{background:var(--surface);border:1px solid var(--border);border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.lock-dot:before{content:"";background:var(--gold);opacity:.85;border-radius:50%;width:9px;height:9px}.lock-label{color:var(--muted);letter-spacing:0;margin-top:20px;font-size:14px}.pin-dots{gap:17px;margin-top:20px;display:flex}.pin-dots i{border:1.5px solid var(--border-weak);border-radius:50%;width:13px;height:13px;display:block}.pin-dots i.filled{background:var(--gold);border-color:var(--gold)}.pin-dots i.error{border-color:#c77e5499}.pin-dots i.filled.error{background:var(--ng)}.pin-error{color:var(--ng);opacity:0;height:16px;margin-top:14px;font-size:12px}.pin-error.visible{opacity:1}.pin-keypad{grid-template-columns:repeat(3,66px);justify-content:center;gap:18px 26px;margin-top:auto;display:grid}.pin-key,.pin-tool{width:66px;height:66px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;display:grid}.pin-key{border:1px solid var(--border);background:#ffffff0d;font-size:26px}.pin-tool{color:var(--gold);background:0 0;border:0}.pin-tool.muted{color:var(--muted)}.calc-link{height:30px;color:var(--muted);opacity:.5;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:24px;display:flex}.calc-link span{font-size:11px}.calculator-screen{flex-direction:column;flex:1;min-height:0;padding:0 15px 22px;display:flex}.calc-display{min-height:110px;color:var(--text);white-space:nowrap;flex:1;justify-content:flex-end;align-items:flex-end;padding:16px 14px 20px;font-size:64px;font-weight:300;line-height:1;display:flex;overflow:hidden}.calc-grid{grid-template-columns:repeat(4,1fr);gap:11px;display:grid}.calc-key{background:var(--surface-2);height:60px;color:var(--text);cursor:pointer;border:0;border-radius:50%;font-size:24px}.calc-key.function{color:#e7eaf0;background:#33363f;font-size:22px;font-weight:500}.calc-key.operator{background:#484c57;font-size:28px}.calc-key.zero{text-align:left;border-radius:30px;grid-column:span 2;padding-left:26px}.app-body{flex-direction:column;flex:1;min-height:0;display:flex}.screen-stack{flex:1;min-height:0;position:relative;overflow:hidden}.list-screen,.today-screen,.detail-screen,.form-screen{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.list-screen{position:relative}.list-header{flex:none;justify-content:space-between;align-items:center;height:56px;padding:6px 20px 10px;display:flex}.title-count{color:var(--text);font-size:23px;font-weight:700}.title-count span{color:var(--micro);margin-left:2px;font-size:14px;font-weight:500}.header-actions{gap:8px;display:flex}.icon-button,.back-button,.close-button,.trash-button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.icon-button{background:var(--surface);border:1px solid var(--border);width:40px;height:40px}.search-box{background:var(--surface);border:1px solid var(--border);height:44px;color:var(--micro);border-radius:12px;flex:none;align-items:center;gap:9px;margin:0 16px 12px;padding:0 13px;display:flex}.search-box input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:14px}.filter-row{scrollbar-width:none;flex:none;gap:6px;padding:0 16px 14px;display:flex;overflow:hidden}.filter-row::-webkit-scrollbar{display:none}.filter-chip{border:1px solid var(--border);background:var(--surface);color:#c9cdd6;white-space:nowrap;cursor:pointer;border-radius:10px;flex:1 1 0;place-items:center;min-width:0;height:38px;padding:0 8px;font-size:12px;font-weight:500;display:grid}.filter-chip.active{background:var(--gold);border-color:var(--gold);color:var(--bg);font-weight:600}.customer-list{flex-direction:column;flex:1;gap:10px;min-height:0;padding:0 16px 20px;display:flex;overflow-y:auto}.customer-card{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:13px;width:100%;padding:13px 58px 13px 14px;display:flex}.avatar{background:var(--surface-2);color:var(--gold);border-radius:12px;flex:none;place-items:center;font-weight:700;display:grid}.avatar-sm{border-radius:11px;width:40px;height:40px;font-size:16px}.avatar-md{width:44px;height:44px;font-size:17px}.avatar-lg{border:1px solid var(--border);background:var(--surface);border-radius:14px;width:46px;height:46px;font-size:19px}.customer-main{flex:1;min-width:0}.customer-name-row{align-items:center;gap:7px;display:flex}.customer-name-row span{color:var(--text);font-size:15px;font-weight:600}.temperature-dot{border-radius:50%;flex:none;width:6px;height:6px}.temperature-dot.warm{background:var(--warm)}.temperature-dot.mid{background:var(--mid)}.temperature-dot.cold{background:var(--cold)}.customer-snippet{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;overflow:hidden}.anniv-badge{color:var(--gold-strong);background:#c9a22721;border:1px solid #c9a22747;border-radius:6px;align-items:center;gap:4px;margin-top:6px;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-flex}.days-box{text-align:right;flex:none}.days-main{font-size:14px;font-weight:700}.days-main.warm{color:var(--warm)}.days-main.mid{color:var(--muted)}.days-main.cold{color:#6c7280}.days-unit{min-height:14px;color:var(--micro);font-size:10px}.fab{background:var(--gold);width:56px;height:56px;color:var(--bg);cursor:pointer;z-index:5;border:0;border-radius:18px;place-items:center;display:grid;position:absolute;bottom:16px;right:18px;box-shadow:0 8px 20px #c9a22752}.local-loading{height:34px;color:var(--micro);background:#23262fc7;border:1px solid #3a3e4abf;border-radius:10px;align-items:center;padding:0 11px;font-size:11px;font-weight:600;display:flex;position:absolute;bottom:18px;left:16px}.empty-state,.soft-empty{color:var(--micro);font-size:13px;line-height:1.7}.empty-state{text-align:center;padding:34px 0}.today-header{flex:none;justify-content:space-between;align-items:flex-end;padding:6px 20px;display:flex}.today-title{color:var(--text);font-size:23px;font-weight:700}.today-date{color:var(--muted);margin-top:3px;font-size:13px}.care-count{text-align:right}.care-count span{color:var(--micro);font-size:12px;display:block}.care-count b{color:var(--gold);margin-top:2px;font-size:15px;display:block}.today-groups{flex-direction:column;flex:1;gap:18px;min-height:0;padding:14px 16px 20px;display:flex;overflow-y:auto}.section-kicker{align-items:center;gap:8px;margin:0 0 10px;display:flex}.section-kicker i{border-radius:50%;width:6px;height:6px;display:block}.section-kicker i.gold{background:var(--gold)}.section-kicker i.cold{background:var(--cold)}.section-kicker span{letter-spacing:0;color:var(--muted);font-size:12px;font-weight:700}.gold-label span{color:var(--gold)}.today-row-stack{flex-direction:column;gap:8px;display:flex}.today-row{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.today-row-text{flex:1;min-width:0}.today-row-text span{color:var(--text);font-size:15px;font-weight:600}.today-row-text p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:12.5px;overflow:hidden}.row-badge{color:var(--gold-strong);background:#c9a22724;border-radius:7px;flex:none;padding:4px 9px;font-size:11.5px;font-weight:700}.row-badge.muted{color:var(--muted);background:var(--surface-2)}.row-chevron{color:var(--border-weak);flex:none}.detail-header{background:var(--bg);z-index:2;flex:none;padding:2px 16px 12px;transition:box-shadow .2s;position:relative}.detail-header.scrolled{box-shadow:0 1px 0 var(--surface-2)}.detail-topbar{justify-content:space-between;align-items:center;height:44px;display:flex;position:relative}.back-button{color:var(--text);margin-left:-10px}.compact-title{color:var(--text);opacity:0;pointer-events:none;white-space:nowrap;font-size:16px;font-weight:700;transition:opacity .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.compact-title.visible{opacity:1}.edit-profile-button{min-width:44px;height:36px;color:var(--gold);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 12px;font-size:14px;font-weight:600}.profile-head{align-items:flex-end;gap:12px;margin-top:2px;display:flex}.profile-head>div:first-child{flex:1;min-width:0}.profile-head h1{color:var(--text);margin:0;font-size:25px;font-weight:700;line-height:1.15}.profile-meta{color:var(--muted);align-items:center;gap:7px;margin-top:6px;font-size:12px;display:flex}.profile-meta i{background:var(--warm);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #b79a4a24}.profile-meta b{color:var(--border-weak)}.detail-scroll{flex-direction:column;flex:1;gap:22px;min-height:0;padding:4px 16px 26px;display:flex;overflow-y:auto}.small-heading{color:var(--muted);letter-spacing:0;margin:0 0 10px;font-size:12px;font-weight:700}.next-card{background:var(--surface);border:1px solid #c9a22757;border-radius:14px;padding:2px 16px}.next-row{border-bottom:1px solid var(--surface-2);align-items:flex-start;gap:12px;padding:13px 0;display:flex}.next-row:last-child{border-bottom:0}.next-row>span{text-align:center;min-width:52px;color:var(--gold);background:#c9a22724;border-radius:6px;flex:none;padding:4px 0;font-size:11px;font-weight:600}.next-row div{flex:1;min-width:0}.next-row b{color:var(--text);font-size:14.5px;font-weight:500;line-height:1.5;display:block}.next-row p,.next-empty{color:var(--micro);margin:3px 0 0;font-size:11.5px}.next-empty{color:var(--muted);padding:15px 2px;font-size:13px;line-height:1.7}.info-card,.profile-grid,.anniv-list,.stack-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.info-row{border-bottom:1px solid var(--surface-2);justify-content:space-between;align-items:center;gap:12px;min-height:47px;margin:0 16px;padding:13px 0;display:flex}.info-row.last{border-bottom:0}.info-row span,.info-row p{color:var(--muted);margin:0;font-size:12.5px}.info-row p{color:var(--micro);margin-top:2px;font-size:10.5px}.info-row b{color:var(--text);text-align:right;font-size:14.5px;font-weight:500}.ng-heading{align-items:center;gap:8px;margin-bottom:10px;display:flex}.ng-heading span{border:1.5px solid var(--ng);border-radius:50%;place-items:center;width:14px;height:14px;display:grid}.ng-heading i{background:var(--ng);border-radius:1px;width:2px;height:6px}.ng-heading b{color:#c79a84;font-size:12px}.ng-card{background:#c77e5412;border:1px solid #c77e5447;border-radius:14px;padding:14px 16px}.ng-card p{color:#c9beb6;margin:11px 0 0;font-size:13px;line-height:1.55}.chip-wrap{flex-wrap:wrap;gap:8px;display:flex}.plain-chip,.ng-chip,.dashed-chip,.chip-button{border-radius:10px;padding:7px 13px;font-size:13px;line-height:1.3}.plain-chip{color:var(--text);border:1px solid var(--border);background:#ffffff0d}.ng-chip{color:var(--ng-text);background:#c77e5424;border:1px solid #c77e544d}.dashed-chip{color:var(--muted);border:1px dashed var(--border-weak)}.profile-grid{grid-template-columns:repeat(3,1fr);display:grid}.profile-item{border-right:1px solid var(--surface-2);min-width:0;padding:12px 14px}.profile-item:last-child{border-right:0}.profile-item span{color:var(--micro);margin-bottom:4px;font-size:10.5px;display:block}.profile-item b{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;display:block;overflow:hidden}.anniv-row{border-bottom:1px solid var(--surface-2);align-items:center;gap:14px;min-height:46px;margin:0 16px;padding:13px 0;display:flex}.anniv-row:last-child{border-bottom:0}.anniv-row span{width:52px;color:var(--muted);flex:none;font-size:13px;font-weight:700}.anniv-row span.gold{color:var(--gold)}.anniv-row b{min-width:0;color:var(--text);flex:1;font-size:14px;font-weight:500}.anniv-row em{color:var(--mid);background:#ffffff0a;border-radius:6px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:600}.anniv-row em.near{color:var(--gold-strong);background:#c9a22724}.log-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.log-header .small-heading{margin:0}.add-record-button{height:36px;color:var(--gold);cursor:pointer;background:#c9a2271a;border:1px solid #c9a2274d;border-radius:10px;align-items:center;gap:5px;padding:0 12px;font-size:13px;font-weight:600;display:flex}.timeline{position:relative}.timeline-line{background:var(--border);width:1px;position:absolute;top:10px;bottom:10px;left:5px}.log-row{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;margin:0 0 18px;padding:0 0 0 26px;position:relative}.log-row>i{background:var(--bg);border:2px solid var(--border-weak);border-radius:50%;width:11px;height:11px;position:absolute;top:4px;left:0}.log-row>i.first{border-color:var(--gold)}.log-meta{align-items:center;gap:8px;margin-bottom:6px;display:flex}.log-meta b{color:var(--text);font-size:13px}.log-meta span{color:var(--micro);font-size:11px}.log-meta svg{color:var(--muted);opacity:.55;margin-left:auto}.log-row p{color:var(--body);margin:0;font-size:14px;line-height:1.6}.tag-row{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.tag-row span{color:var(--muted);background:var(--surface-2);border-radius:6px;padding:3px 8px;font-size:11px}.log-next{background:#c9a22714;border:1px solid #c9a22738;border-radius:10px;align-items:center;gap:8px;margin-top:9px;padding:8px 11px;display:flex}.log-next span{color:var(--gold);font-size:11px;font-weight:700}.log-next b{color:var(--body);font-size:13px;font-weight:500}.form-header{flex:none;grid-template-columns:44px 1fr 44px;align-items:center;height:52px;padding:2px 12px 6px;display:grid}.form-header>b{text-align:center;color:var(--text);font-size:16px}.form-header-right{place-items:center;display:grid}.trash-button{color:var(--ng)}.form-person{flex:none;align-items:center;gap:11px;padding:2px 18px 8px;display:flex}.form-person b{color:var(--text);font-size:15px;font-weight:600}.form-person p{color:var(--muted);margin:3px 0 0;font-size:12px}.form-person p span{color:var(--bg);background:var(--gold);border-radius:5px;margin-left:6px;padding:1px 6px;font-size:9.5px;font-weight:700}.form-scroll{flex-direction:column;flex:1;gap:15px;min-height:0;padding:10px 16px 0;display:flex;overflow-y:auto}.new-customer-scroll{gap:16px;padding-top:12px}.field-block h2{color:var(--muted);letter-spacing:0;margin:0 0 8px;font-size:12px;font-weight:700}.field-block h2 span{color:var(--gold);margin-left:4px}.field-block textarea,.field-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:14px;outline:0}.field-block textarea{resize:none;min-height:108px;padding:14px;font-size:15.5px;line-height:1.7}.field-input{height:50px;padding:0 14px;font-size:15.5px}.field-note{color:var(--micro);margin:6px 0 0;font-size:11px}.chip-button{border:1px solid var(--border);color:#c9cdd6;cursor:pointer;background:#ffffff0d;font-weight:500}.chip-button.gold.active,.chip-button.active{color:var(--bg);background:var(--gold);border-color:var(--gold);font-weight:600}.chip-button.ng.active{color:var(--ng-text);background:#c77e5424;border-color:#c77e5480}.promise-input{background:#c9a22714;border:1px solid #c9a2274d;border-radius:12px;align-items:center;gap:10px;min-height:50px;padding:12px 14px;display:flex}.promise-input span{color:var(--gold);flex:none;font-size:11px;font-weight:700}.promise-input input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:14.5px}.inline-input{border-bottom:1px solid var(--surface-2);align-items:center;gap:12px;min-height:46px;margin:0 14px;padding:11px 0;display:flex}.inline-input.last{border-bottom:0}.inline-input span{width:116px;color:var(--muted);flex:none;font-size:12.5px}.inline-input span.narrow{width:64px}.inline-input input{text-align:right;min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:14.5px}.new-help{color:var(--micro);margin:0 2px 4px;font-size:11.5px;line-height:1.7}.form-footer{border-top:1px solid var(--surface-2);background:var(--bg);flex:none;padding:12px 16px 16px}.form-footer button{background:var(--gold);width:100%;height:52px;color:var(--bg);cursor:pointer;border:0;border-radius:14px;font-size:16px;font-weight:700}.form-footer button:disabled{background:var(--surface-2);color:var(--cold);cursor:default}.bottom-tabs{background:var(--bg);border-top:1px solid var(--surface-2);flex:none;height:70px;padding-bottom:6px;display:flex}.bottom-tabs button{color:var(--micro);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex;position:relative}.bottom-tabs button:focus-visible{outline:0}.bottom-tabs button:focus-visible:after{content:"";pointer-events:none;border:1px solid #c9a22761;border-radius:15px;width:64px;height:52px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bottom-tabs button.active{color:var(--gold)}.bottom-tabs b{font-size:10.5px;font-weight:600}.bottom-tabs button.active b{font-weight:700}.tab-icon-wrap{display:flex;position:relative}.tab-icon-wrap i{background:var(--gold);min-width:15px;height:15px;color:var(--bg);border:1.5px solid var(--bg);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-style:normal;font-weight:700;display:flex;position:absolute;top:-5px;right:-8px}.toast{z-index:30;background:var(--surface-2);border:1px solid var(--border-weak);color:var(--text);white-space:nowrap;border-radius:12px;padding:10px 18px;font-size:13px;font-weight:600;animation:.25s both toastIn;position:absolute;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pushIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}@media (hover:hover){button:hover{filter:brightness(1.08)}}@media (width<=430px){.app-stage{padding:0}.phone-shell{width:100vw;height:100svh;max-height:none;box-shadow:none;border:0;border-radius:0}}
