@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap";:root{--c-primary:#ea580c;--c-primary-dark:#c2410c;--c-primary-light:#ffedd5;--c-primary-pale:#fff7ed;--c-indigo:#5a3e2b;--c-indigo-dark:#3d2a1c;--c-indigo-light:#f5efea;--c-cream:#faf8f5;--c-warm:#f5f0e8;--c-white:#fff;--c-text:#2c2420;--c-text-muted:#78716c;--c-border:#e7e2da;--c-bg-muted:#f5f2ed;--c-success:#16a34a;--c-warning:#d97706;--c-danger:#dc2626;--c-bg:#faf8f5;--ff:"Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:2rem;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;--sp-20:5rem;--radius:16px;--radius-sm:10px;--radius-lg:20px;--shadow:0 2px 12px #2c24200d;--shadow-lg:0 10px 30px #2c242014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--ff);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;word-break:normal;overflow-wrap:anywhere;line-height:1.65;overflow-x:hidden}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--ff)}.app{background:var(--c-bg);flex-direction:column;min-height:100dvh;display:flex;overflow-x:hidden}.app__main{padding:1.15rem 1rem calc(6.75rem + env(safe-area-inset-bottom,0px));flex:1;width:100%;max-width:560px;margin:0 auto}.topbar{-webkit-backdrop-filter:blur(8px);color:var(--c-text);border-bottom:1px solid var(--c-border);padding:calc(.75rem + env(safe-area-inset-top,0px)) 1rem .75rem;z-index:100;background:#fffffff2;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar__inner{justify-content:space-between;align-items:center;gap:.5rem;width:100%;max-width:560px;margin:0 auto;display:flex}.topbar__logo{color:var(--c-text);flex-shrink:0;align-items:center;gap:.5rem;display:flex;text-decoration:none!important}.topbar__logo img{height:28px}.topbar__logo span{color:var(--c-primary);background:var(--c-primary-pale);white-space:nowrap;border:1px solid #fed7aa;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.topbar__user{align-items:center;gap:.5rem;min-width:0;display:flex}.topbar__avatar{object-fit:cover;border:1.5px solid var(--c-border);border-radius:50%;flex-shrink:0;width:30px;height:30px}.topbar__name{color:var(--c-text);text-overflow:ellipsis;white-space:nowrap;max-width:115px;font-size:.8rem;font-weight:600;overflow:hidden}.topbar__logout{background:var(--c-white);border:1px solid var(--c-border);color:var(--c-text-muted);white-space:nowrap;border-radius:8px;flex-shrink:0;padding:.35rem .65rem;font-size:.72rem;font-weight:600;transition:all .15s}.topbar__logout:hover{border-color:var(--c-primary);color:var(--c-primary)}.bottomnav{bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:100;-webkit-backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #e7e2daf2;border-radius:999px;justify-content:center;max-width:440px;margin:0 auto;padding:6px;display:flex;position:fixed;left:16px;right:16px;box-shadow:0 12px 32px #2c242024,0 2px 8px #2c24200f}.bottomnav__inner{align-items:center;gap:4px;width:100%;display:flex}.bottomnav__item{letter-spacing:.01em;color:var(--c-text-muted);background:0 0;border:none;border-radius:999px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:.45rem .25rem;font-size:.65rem;font-weight:700;transition:all .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative;text-decoration:none!important}.bottomnav__item:hover{color:var(--c-primary);background:#ea580c0f}.bottomnav__item.active{color:#fff;background:linear-gradient(135deg,#ea580c 0%,#d97706 100%);transform:translateY(-1px);box-shadow:0 4px 14px #ea580c52}.bottomnav__item svg{width:20px;height:20px;margin-bottom:2px;transition:transform .2s}.bottomnav__item.active svg{transform:scale(1.06)}.card{background:var(--c-white);border-radius:var(--radius);border:1px solid var(--c-border);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.25rem}.card--warm{background:var(--c-primary-pale);border-color:#fed7aa}.card--indigo{color:#fff;background:linear-gradient(135deg,#ea580c 0%,#d97706 100%);border:none}.card__title{color:var(--c-text);margin-bottom:.75rem;font-size:1.05rem;font-weight:700}.card__subtitle{font-size:var(--fs-sm);color:var(--c-text-muted);margin-bottom:1rem}.btn{border-radius:var(--radius-sm);font-weight:700;font-size:var(--fs-sm);touch-action:manipulation;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;transition:all .15s;display:inline-flex;text-decoration:none!important}.btn--primary{background:var(--c-primary);color:#fff;box-shadow:0 4px 12px #ea580c38}.btn--primary:hover{background:var(--c-primary-dark)}.btn--outline{background:var(--c-white);border:1.5px solid var(--c-border);color:var(--c-text)}.btn--outline:hover{border-color:var(--c-primary);color:var(--c-primary)}.btn--dark{background:var(--c-text);color:#fff}.btn--danger{background:var(--c-danger);color:#fff}.btn--block{width:100%}.btn--lg{font-size:var(--fs-base);padding:.95rem 1.5rem}.btn--sm{font-size:var(--fs-xs);padding:.45rem .85rem}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.stat-item{background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--radius-sm);text-align:center;box-shadow:var(--shadow);padding:1rem}.stat-item__value{color:var(--c-primary);font-size:1.45rem;font-weight:800}.stat-item__label{font-size:var(--fs-xs);color:var(--c-text-muted);margin-top:.2rem;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin:1.25rem 0 .75rem;display:flex}.section-header__title{color:var(--c-text);align-items:center;gap:.45rem;font-size:1rem;font-weight:800;display:flex}.list-item{border-bottom:1px solid var(--c-border);align-items:center;gap:.85rem;padding:.9rem 1rem;display:flex}.list-item:last-child{border-bottom:none}.list-item__icon{background:var(--c-primary-pale);width:40px;height:40px;color:var(--c-primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.list-item__content{flex:1;min-width:0}.list-item__title{font-weight:700;font-size:var(--fs-sm);color:var(--c-text)}.list-item__sub{font-size:var(--fs-xs);color:var(--c-text-muted);margin-top:2px}.list-item__action{flex-shrink:0}.form-group{margin-bottom:.9rem}.form-group label{color:var(--c-text);margin-bottom:.3rem;font-size:.8rem;font-weight:700;display:block}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--c-border);border-radius:var(--radius-sm);width:100%;font-size:16px;font-family:var(--ff);background:var(--c-white);color:var(--c-text);padding:.75rem .85rem;transition:border-color .15s}.form-group input:disabled{background:var(--c-bg-muted);color:var(--c-text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--c-primary);outline:none;box-shadow:0 0 0 3px #ea580c1f}.form-row{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.login-page{background:var(--c-bg);min-height:100dvh;color:var(--c-text);padding:calc(1.5rem + env(safe-area-inset-top,0px)) 1rem calc(2rem + env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:center;align-items:center;display:flex}.badge{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;padding:3px 10px;font-weight:700;display:inline-block}.badge--active{color:#15803d;background:#dcfce7}.badge--suspended{color:#c2410c;background:#ffedd5}.badge--cancelled{color:#b91c1c;background:#fee2e2}.badge--trial{background:var(--c-primary-pale);color:var(--c-primary)}.empty-state{background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--radius);text-align:center;color:var(--c-text-muted);padding:2.5rem 1.25rem}.empty-state__text{font-size:var(--fs-sm);font-weight:600}.loading{justify-content:center;align-items:center;padding:3.5rem 1rem;display:flex}.spinner{border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;width:36px;height:36px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.app__main{padding:.9rem .85rem calc(6.5rem + env(safe-area-inset-bottom,0px))}.card{border-radius:15px;padding:1.05rem 1rem}.list-item{flex-wrap:wrap;gap:.65rem;padding:.75rem .85rem}.bottomnav{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px))}}@media (width<=375px){.topbar__logo span{display:none}.topbar__name{max-width:96px}.form-row{grid-template-columns:1fr;gap:.5rem}}
