:root{font-family:"Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif;color:#17212b;background:#eef3f7}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f5f5f5;background-image:url("login-bg.png");background-position:center center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}[hidden]{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(500px,100%);background:#fff;border:1px solid #d8e1e8;border-radius:20px;box-shadow:0 22px 55px rgba(24,49,70,.14);padding:36px}.brand-mark{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;background:#123f5c;color:#fff;font-size:30px;font-weight:800;margin-bottom:20px}.eyebrow{margin:0;color:#567181;font-size:13px;font-weight:700;letter-spacing:.08em}.login-card h1{margin:4px 0 8px;font-size:30px;color:#123f5c}.login-card h2{margin:6px 0 8px;font-size:21px;color:#123f5c}.lead{margin:0 0 22px;color:#657683;line-height:1.7}.setup-badge{display:inline-block;margin:8px 0 0;padding:4px 10px;border-radius:999px;background:#fff2cc;color:#755300;font-size:12px;font-weight:800}.login-card label{display:block;margin:15px 0 7px;font-weight:700;font-size:14px}.login-card input{width:100%;height:48px;border:1px solid #bccbd5;border-radius:10px;padding:0 13px;font-size:16px;outline:none}.login-card input:focus{border-color:#1f6d92;box-shadow:0 0 0 3px rgba(31,109,146,.14)}.password-row{position:relative}.password-row input{padding-right:72px}.toggle-button{position:absolute;right:7px;top:7px;height:34px;border:0;background:#eef4f7;color:#245b76;border-radius:7px;font-weight:700;cursor:pointer}.field-help{margin:6px 0 0;color:#768792;font-size:12px}.primary{width:100%;height:50px;margin-top:14px;border:0;border-radius:10px;background:#146b8c;color:#fff;font-size:16px;font-weight:800;cursor:pointer}.primary:hover{background:#0e5875}.primary:disabled{opacity:.55;cursor:wait}.message{min-height:22px;margin:12px 0 0;color:#b3261e;font-size:14px}.message.success{color:#08783e}.loading-panel{margin:26px 0;padding:18px;border:1px solid #d8e1e8;border-radius:12px;background:#f7fafc;color:#526b7a;text-align:center}.loading-panel.error{border-color:#efb6b2;background:#fff5f4;color:#a12620}.notice{margin:24px 0 0;padding-top:18px;border-top:1px solid #e3e9ed;color:#768792;font-size:12px;line-height:1.7}@media(max-width:520px){.login-card{padding:28px 22px;border-radius:16px}.login-card h1{font-size:26px}}

.diagnostic-panel{margin:12px 0 0;border:1px solid #b9ccd8;border-radius:10px;background:#f4f8fa;overflow:hidden}.diagnostic-panel[open]{border-color:#6f9eb5}.diagnostic-panel summary{padding:11px 13px;cursor:pointer;color:#164e6b;font-size:13px;font-weight:800}.diagnostic-meta{padding:0 13px 8px;color:#607985;font-size:12px}.diagnostic-steps{margin:0;padding:0 16px 10px 36px}.diagnostic-step{margin:8px 0;color:#2b566a;font-size:12px;line-height:1.5}.diagnostic-step.is-error{color:#a12620}.diagnostic-step strong{display:block}.diagnostic-step code{display:inline-block;margin-right:6px;padding:1px 5px;border-radius:4px;background:#e2edf2;color:inherit;font-family:Consolas,monospace}.diagnostic-step span{display:block;overflow-wrap:anywhere}.diagnostic-detail{margin:0;padding:11px 13px;border-top:1px solid #cfdee5;background:#fff;color:#7f2420;font:12px/1.55 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}

/* BuildP001.4.2 shared G-Link authentication UI */
.glink-auth-card{width:min(430px,calc(100vw - 32px));padding:30px}.glink-auth-logo{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:#0c486c;color:#fff;font-size:30px;font-weight:900}.glink-auth-kicker{margin:20px 0 4px;color:#0d3552;font-size:13px;font-weight:800;letter-spacing:.12em}.glink-auth-title{margin:0!important;color:#0d3552!important;font-size:27px!important}.glink-auth-lead{margin:8px 0 22px;color:#607789;line-height:1.65}.glink-auth-field{display:grid;gap:7px;margin:14px 0}.glink-auth-field label{margin:0;font-size:14px;font-weight:800}.glink-auth-field input{height:48px}.glink-auth-remember{display:flex!important;gap:9px;align-items:flex-start;margin:16px 0!important;color:#334f63;font-size:14px!important;line-height:1.45}.glink-auth-remember input{width:auto;height:auto;margin-top:3px}.glink-auth-button{width:100%;height:50px;border:0;border-radius:10px;background:#14789a;color:#fff;font-size:17px;font-weight:900;cursor:pointer}.glink-auth-button:disabled{opacity:.55;cursor:wait}.glink-auth-message{min-height:22px;margin:12px 0 0;font-size:13px;line-height:1.55;color:#b42318}.glink-auth-message.success{color:#08783e}.glink-auth-note{margin-top:18px;padding-top:15px;border-top:1px solid #e3e9ee;color:#718392;font-size:12px;line-height:1.7}.login-footer{margin:14px 0 0;text-align:center;color:#8a9aa5;font-size:11px}.license-summary{display:grid;gap:9px;margin:0 0 18px;padding:14px;border:1px solid #d8e3ea;border-radius:12px;background:#f7fafc}.license-summary div{display:grid;gap:3px}.license-summary span{font-size:12px;color:#718392}.license-summary strong{color:#0d3552;overflow-wrap:anywhere}


/* BuildP001.7.2 login option completion */
.glink-login-options{margin:18px 0 8px;padding:14px 15px;border:1px solid #d8e3ea;border-radius:12px;background:#f7fafc}.glink-login-options-title{margin:0 0 8px;color:#0d3552;font-size:13px;font-weight:900;letter-spacing:.04em}.glink-location-note{margin:8px 0 16px;color:#718392;font-size:12px;line-height:1.65}.glink-auth-remember small{color:#718392;font-size:12px;font-weight:400}.glink-auth-remember input[type="checkbox"]{flex:0 0 auto;width:16px!important;height:16px!important;accent-color:#14789a}
