:root{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif;color:#1b302b;background:#f5f6ef}*{box-sizing:border-box}body{margin:0;padding:32px 18px}main{max-width:460px;margin:4vh auto;background:white;border:1px solid #d9e1d9;border-radius:24px;padding:30px}.logo{height:58px;overflow:hidden;position:relative}.logo img{position:absolute;width:100%;top:50%;transform:translateY(-50%)}.brand{text-align:center;letter-spacing:.24em;font-size:11px;margin:10px 0 34px}h1{font-size:24px}p{line-height:1.8;font-size:14px}label{display:block;font-weight:650;margin:22px 0 10px}input{width:100%;font:inherit;font-size:18px;padding:16px;border:1px solid #aabfb2;border-radius:12px}button{width:100%;background:#145c48;color:white;padding:17px 12px;font-size:17px;border:0;border-radius:12px;margin-top:18px;font-weight:650;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.secondary{background:#eef1e6;color:#1b302b}.note{color:#62796d;font-size:12px;margin-top:28px}#message{font-weight:600}#code{font-size:26px;letter-spacing:.25em}[hidden]{display:none!important}@media(max-width:480px){body{padding:16px}main{margin:0 auto;padding:24px 20px}}

.remember{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.6}.remember input{width:24px;height:24px;flex:none;padding:0}details{margin-top:24px;border-top:1px solid #d9e1d9;padding-top:16px}summary{min-height:44px;cursor:pointer;font-weight:650}a{color:#145c48}
.notice{background:#fff6e5;border:1px solid #e4c27a;border-radius:10px;padding:10px 12px;font-size:14px;color:#5c3d00}

/* GARDE SECT / Staff entry — visual layer, authentication flow unchanged. */
:root{color-scheme:dark;font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#e9e8e1;background:#080b0a}
body{padding:48px 24px;background:#080b0a}
main{max-width:480px;margin:4vh auto;background:#101512;border:1px solid #343b35;border-top:2px solid #8cf59b;border-radius:0;padding:36px}
.logo{height:46px}.logo img{filter:invert(1);mix-blend-mode:screen}
.brand{color:#8cf59b;font:10px/1.6 monospace;letter-spacing:.24em;margin:16px 0 36px}
h1{font-size:26px;letter-spacing:-.04em;margin-bottom:20px}p{color:#a0aaa2}label{color:#e9e8e1}
input{background:#080b0a;color:#e9e8e1;border:1px solid #58655b;border-radius:0;min-height:54px;accent-color:#8cf59b}
input::placeholder{color:#8a998e;opacity:1}
button{background:#8cf59b;color:#080b0a;border-radius:0;min-height:54px}.secondary{background:#171e19;color:#e9e8e1;border:1px solid #343b35}
button:hover:not(:disabled){background:#a6ffb3;color:#080b0a}button:disabled{opacity:.45}
.note{color:#a0aaa2}#message{color:#efce91}details{border-color:#343b35}a{color:#8cf59b;text-underline-offset:4px}
.notice{background:#2a2417;border-color:#7e6639;border-radius:0;color:#efce91}
:where(button,input,summary,a):focus-visible{outline:2px solid #8cf59b;outline-offset:4px}
@media(max-width:480px){body{padding:28px 16px}main{margin:0 auto;padding:28px 22px}.logo{height:40px}h1{font-size:24px}}
