:root{--primary:#e4815a;--primary-light:#fdf6f3;--primary-hover:#d36e47;--text-main:#333;--text-muted:#777;--bg-main:#f5f6f8;--bg-white:#fff;--border-color:#ddd;--admin-bg:#fff0f0;--admin-color:#d9534f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif}*{box-sizing:border-box}html{background:var(--bg-main);height:100%}body{background:var(--bg-main);min-height:100%;color:var(--text-main);margin:0;line-height:1.6;overflow-x:hidden}#root{min-height:100dvh}a{color:inherit}.login-page{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.login-card{background:var(--bg-white);border:1px solid var(--border-color);text-align:center;border-radius:8px;width:100%;max-width:360px;padding:32px 28px;box-shadow:0 4px 15px #0000000f}.login-card__title{color:var(--primary);margin:0 0 24px;font-size:20px}.login-card form{text-align:left}.login-card__error{background:var(--admin-bg);color:var(--admin-color);border:1px solid #fcc;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:13px}.login-card__submit{width:100%;margin-top:8px;padding:10px}.login-card__hint{color:var(--text-muted);margin-top:16px;font-size:12px}.login-card__back{color:var(--text-muted);margin-top:8px;font-size:12px;text-decoration:none;display:inline-block}.login-card__back:hover{color:var(--primary)}.form-label{color:#555;margin:12px 0 6px;font-size:12px;font-weight:700;display:block}.form-input{color:#333;border:1px solid #ccc;border-radius:4px;outline:none;width:100%;padding:8px 12px;font-size:16px}.form-input:focus{border-color:var(--primary)}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:4px;padding:8px 20px;font-size:13px;font-weight:700;display:inline-block}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-primary.btn-outline{color:var(--primary);border:1px solid var(--primary);background:#fff}.btn-primary.btn-outline:hover{background:var(--primary-light)}.app-shell{min-height:100dvh;display:flex}.mobile-header{display:none}.sidebar{background:var(--bg-white);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:240px;display:flex;overflow-y:auto}.sidebar__brand{border-bottom:2px solid var(--primary);color:var(--primary);padding:18px 20px;font-size:15px;font-weight:700}.home-points-badge{color:#fff;background:var(--primary);white-space:nowrap;border-radius:20px;padding:8px 18px;font-size:18px;font-weight:700}.sidebar__group{padding:15px 12px 5px}.sidebar__label{color:#999;letter-spacing:.5px;margin-bottom:8px;padding-left:8px;font-size:11px;font-weight:700}.sidebar__label--admin{color:var(--admin-color)}.sidebar__item{color:#555;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:10px;font-size:13px;text-decoration:none;display:flex}.sidebar__item.active{background:var(--primary);color:#fff;font-weight:700}.sidebar__item--stub{color:#bbb;cursor:default}.sidebar__item--admin:hover{background:var(--admin-bg)}.sidebar__item--admin.sidebar__item--stub{background:var(--admin-bg);color:#e0a3a1}.sidebar__item--admin.sidebar__item--stub:hover{background:var(--admin-bg)}.sidebar__badge{color:#999;background:#eee;border-radius:10px;padding:2px 6px;font-size:10px}.sidebar__profile{border-top:1px solid var(--border-color);background:#fdfdfd;margin-top:auto;padding:15px}.sidebar__profile-name{font-size:12px;font-weight:700}.sidebar__profile-meta{color:#888;margin:2px 0 10px;font-size:10px}.sidebar__signout{border:1px solid var(--border-color);color:#555;cursor:pointer;background:0 0;border-radius:4px;width:100%;padding:6px;font-size:12px}.sidebar__signout:hover{border-color:var(--primary);color:var(--primary)}.app-shell__content{flex:1;min-width:0;padding:24px}@media (width<=768px),(height<=500px){.mobile-header{z-index:1100;min-height:52px;padding:calc(env(safe-area-inset-top) + 8px) 16px 8px;background:var(--bg-white);border-bottom:1px solid var(--border-color);align-items:center;gap:12px;display:flex;position:sticky;top:0}.mobile-header__menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:4px;width:32px;height:32px;padding:0;display:flex}.mobile-header__menu-btn span{background:var(--text-main);border-radius:1px;height:2px;display:block}.mobile-header__brand{color:var(--primary);font-size:14px;font-weight:700}.app-shell{flex-direction:column}.sidebar{z-index:1200;height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:2px 0 12px #00000026}.sidebar--open{transform:translate(0)}.sidebar-backdrop{z-index:1150;background:#0006;position:fixed;inset:0}.app-shell__content{padding:16px}.grid-2,.grid-3{grid-template-columns:1fr}}.page-header{margin-bottom:20px}.page-header__title{margin:0;font-size:18px}.card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;padding:20px}.card:last-child{margin-bottom:0}.card__note{color:var(--text-muted);font-size:13px}.card__note--success{color:#2f8a3e}.card__label{color:#666;font-size:12px}.card__big-number{margin:5px 0;font-size:28px;font-weight:700}.card__big-number--accent{color:var(--primary)}.card__accent-text{color:var(--primary);font-size:12px;font-weight:700}.card-title{border-bottom:1px solid #eee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px;padding-bottom:10px;font-size:14px;font-weight:700;display:flex}.card-title__hint{color:#888;font-size:11px;font-weight:400}.form-group{margin-bottom:15px}.form-input--emphasis{border-color:var(--primary);color:var(--primary);padding:10px;font-size:15px;font-weight:700}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px;display:grid}.aspiration-group-label{color:#777;margin:15px 0 10px;font-size:12px;font-weight:700}.data-table{border-collapse:collapse;width:100%;margin-bottom:15px;font-size:12px}.data-table th,.data-table td{text-align:left;border:1px solid #eee;padding:10px}.data-table th{background:var(--primary-light);font-weight:700}.data-table tr:nth-child(2n){background:#fafafa}.data-table__accent-col{background:var(--primary-light);font-weight:700}.compact-table{font-size:11px}.compact-table th,.compact-table td{padding:5px 8px}.aspiration-card{border:1px solid var(--border-color);background:#f9f9f9;border-radius:4px;padding:10px;font-size:12px}.aspiration-card__meta{color:#777;margin-bottom:4px}.aspiration-card__school{margin-bottom:4px;font-size:14px;font-weight:700}.aspiration-card__judgment{color:var(--primary);font-weight:700}.admin-split{align-items:flex-start;gap:20px;display:flex}.admin-split__list{flex:1.2;overflow-x:auto}.admin-split__panel{flex:1}@media (width<=900px){.admin-split{flex-direction:column}}.interview-log-entry{color:#555;background:#fff;border:1px solid #eee;border-radius:4px;margin-bottom:8px;padding:10px;font-size:11px}.interview-log-entry__meta{color:var(--primary);margin-bottom:4px;font-weight:700}.interview-record{background:var(--bg-white);border:1px solid var(--border-color);border-radius:6px;margin-bottom:14px;padding:16px 18px}.interview-record:last-child{margin-bottom:0}.interview-record__header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.interview-record__date{color:var(--text-main);font-size:15px;font-weight:700}.interview-record__type{color:var(--primary);background:var(--primary-light);border-radius:12px;padding:3px 10px;font-size:12px;font-weight:700}.interview-record__staff{color:var(--text-main);font-size:13px}.interview-record__content{color:var(--text-main);white-space:pre-wrap;font-size:14px;line-height:1.8}.page-loading{text-align:center;color:var(--text-muted);padding:40px}
