:root{--app-bg:#f4f8f4;--app-bg-soft:#eef5f0;--surface:hsla(0,0%,100%,.96);--surface-strong:#fff;--line:#dfe9e2;--line-soft:#e7efe9;--text:#0f172a;--text-soft:#5f6f67;--text-muted:#708070;--green:#2f6b48;--green-soft:#f4fbf6;--primary:linear-gradient(180deg,#9be15d,#7fcf4f);--shadow:0 18px 46px rgba(16,24,40,.06)}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%;scroll-behavior:smooth}body,html{min-height:100%}body{margin:0;background:radial-gradient(circle at top right,rgba(186,230,197,.18),transparent 28%),linear-gradient(180deg,var(--app-bg) 0,var(--app-bg-soft) 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}canvas,img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none}input,select,textarea{width:100%;max-width:100%;min-width:0}textarea{resize:vertical}table{border-collapse:collapse}.login-shell,.page-wrap{min-height:100vh;padding:24px 16px 56px}.login-panel,.panel-wide{width:100%;max-width:1240px;margin:0 auto}.title{margin:0;font-size:clamp(30px,4vw,48px);line-height:1.08;font-weight:900;letter-spacing:-.03em;color:var(--text)}.subtitle{margin:12px 0 0;font-size:16px;line-height:1.75;color:var(--text-soft);font-weight:600}.app-shell-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(244,248,244,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(223,233,226,.8)}.app-header__inner{width:100%;max-width:1240px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-header__brand{min-width:0}.app-header__logo{font-size:clamp(24px,3vw,40px);font-weight:900;line-height:1.05;letter-spacing:-.03em;color:var(--text)}.app-header__title{margin-top:6px;font-size:14px;line-height:1.6;color:var(--text-soft);font-weight:700}.app-header__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.app-header__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface-strong);color:#334155;font-size:14px;font-weight:800;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.app-header__btn:hover{transform:translateY(-1px);background:#f8fbf8}.message{margin:0 0 16px;padding:14px 16px;border-radius:18px;background:#ecf8ef;border:1px solid #cfe6d7;color:var(--green);font-weight:800;line-height:1.7}@media (max-width:900px){.login-shell,.page-wrap{padding:18px 12px 40px}.app-header__inner{padding:12px;flex-direction:column;align-items:stretch}.app-header__actions{width:100%;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.app-header__btn{width:100%}}@media (max-width:560px){.login-shell,.page-wrap{padding:14px 10px 32px}.title{font-size:clamp(26px,8vw,34px)}.subtitle{font-size:14px;line-height:1.7}.app-header__actions{grid-template-columns:1fr}}