*{box-sizing:border-box;margin:0}body{font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;background:#f4f6f8;color:#1a2027}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-box{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 12px #00000014;width:320px;display:flex;flex-direction:column;gap:1rem}.login-box h1{font-size:1.2rem;text-align:center}.login-box label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}input,select{padding:.5rem;border:1px solid #cfd8dc;border-radius:4px;font-size:.95rem}button{padding:.45rem .9rem;border:none;border-radius:4px;background:#1565c0;color:#fff;font-size:.9rem;cursor:pointer}button:disabled{background:#b0bec5;cursor:default}.app header{display:flex;justify-content:space-between;align-items:center;background:#102a43;color:#fff;padding:.7rem 1.2rem}.app header h1{font-size:1rem}nav{display:flex;gap:.3rem;background:#fff;padding:.5rem 1.2rem;border-bottom:1px solid #e0e0e0}nav button{background:transparent;color:#455a64}nav button.active{background:#1565c0;color:#fff}.live-bar{padding:.3rem 1.2rem;font-size:.8rem;color:#607d8b;background:#eceff1}main{padding:1.2rem}.cards{display:flex;gap:1rem;flex-wrap:wrap}.card{background:#fff;border-radius:8px;padding:1.2rem 2rem;box-shadow:0 1px 4px #0000000f;min-width:180px;text-align:center}.card-value{font-size:1.8rem;font-weight:700}.card-label{color:#607d8b;font-size:.85rem;margin-top:.3rem}.table-wrap{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f}table{width:100%;border-collapse:collapse;font-size:.87rem}th,td{text-align:left;padding:.55rem .8rem;border-bottom:1px solid #eceff1;white-space:nowrap}th{background:#f5f7f9;color:#546e7a;font-weight:600}.toolbar{display:flex;gap:.6rem;margin-bottom:.8rem;align-items:center}.error{color:#d32f2f;margin:.5rem 0}.info{color:#1565c0;margin:.5rem 0}.mode-toggle{display:inline-flex;border:1px solid #b0bec5;border-radius:6px;overflow:hidden;margin:0 0 .6rem}.mode-toggle button{border:none;background:#fff;padding:.3rem 1rem;cursor:pointer;font-size:.9rem;color:#37474f}.mode-toggle button.active{background:#0d47a1;color:#fff}.history-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0 0 .6rem;font-size:.9rem}.history-bar input,.history-bar select{padding:.25rem .4rem;border:1px solid #b0bec5;border-radius:4px}.pager{display:inline-flex;align-items:center;gap:.5rem}.warn,.license-warning{color:#7a4f01;background:#fff4e5;border:1px solid #f0c36d;border-radius:6px;padding:.5rem .8rem;margin:.5rem 0;font-size:.9rem}.chart-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;padding:1rem 1.2rem;margin-bottom:1rem}.chart-card h3{font-size:.9rem;color:#546e7a;margin-bottom:.6rem}.chart-box{height:260px}.chart-empty{color:#90a4ae;font-size:.85rem;padding:2rem 0;text-align:center}
