*{box-sizing:border-box}body{margin:0;font-family:Meiryo,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;background:#3fb6c4;color:#222}button,input,select{font:inherit}code{background:#eef;padding:0 .3em;border-radius:3px}.muted{color:#555}.small{font-size:.85rem}.error{color:#b00020;background:#ffecec;padding:.4em .6em;border-radius:6px}.notice{color:#0b5d1e;background:#e6f8ea;padding:.4em .6em;border-radius:6px}.btn{padding:.45em 1.1em;border:1px solid #888;border-radius:6px;background:#f4f4f4;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:#1565c0;color:#fff;border-color:#0d47a1}.btn.small{padding:.2em .6em;font-size:.85rem}.center-box{max-width:420px;margin:10vh auto;background:#fff;padding:2em;border-radius:12px;box-shadow:0 4px 16px #0003}.logo{font-style:italic;color:#1a1aff;font-size:2.4rem;margin:0}.login-form{display:flex;flex-direction:column;gap:1em;margin-top:1em}.login-form label{display:flex;flex-direction:column;gap:.3em}.login-form input{padding:.5em}.board{min-height:100vh;display:flex;flex-direction:column}.board-header{display:flex;justify-content:space-between;align-items:center;padding:.5em 1em;background:#ffffffd9}.hotel{font-weight:700;font-size:1.2rem}.board-body{display:flex;gap:1em;padding:1em;flex:1}.rooms{flex:1}.floor-row{display:grid;grid-template-columns:repeat(5,minmax(90px,130px));gap:.6em;margin-bottom:.8em}.room-tile{display:flex;flex-direction:column;align-items:center;gap:.3em;padding:.5em .3em;border:2px solid #555;border-radius:8px;cursor:pointer;min-height:105px}.room-tile.red{background:#e53935;color:#fff}.room-tile.yellow{background:#fdd835;color:#222}.room-tile.selected{outline:4px solid #1a1aff}.room-no{font-size:1.5rem;font-weight:700}.member-box{background:#fff;color:#222;width:90%;min-height:1.5em;border:1px solid #999;text-align:center;font-size:.9rem}.badges{display:flex;gap:.3em;min-height:1.4em}.badge{padding:0 .4em;border-radius:4px;font-size:.85rem;font-weight:700}.badge.rank{background:#fff;color:#c62828;border:1px solid #c62828}.badge.first{background:#43a047;color:#fff}.legend{color:#fff}.chip{display:inline-block;width:1em;height:1em;border:1px solid #555;vertical-align:middle}.chip.red{background:#e53935}.chip.yellow{background:#fdd835}.side{width:330px;display:flex;flex-direction:column;gap:.8em}.clock{font-size:1.3rem;font-weight:700;color:#08306b;text-align:center;background:#ffffffb3;border-radius:8px;padding:.3em}.panel{background:#fff;border-radius:10px;padding:1em;box-shadow:0 2px 8px #0003;display:flex;flex-direction:column;gap:.6em}.panel h2{margin:0;font-size:1.15rem}.panel label{display:flex;flex-direction:column;gap:.3em}.panel input,.panel select{padding:.5em;font-size:1.1rem}.panel-red{border-left:8px solid #e53935}.panel-yellow{border-left:8px solid #fdd835}.panel-cancel{border-left:8px solid #7b1fa2}.panel-room strong{font-size:1.4rem}.panel-buttons{display:flex;gap:.6em;margin-top:.4em}.side-buttons{margin-top:auto;display:flex;flex-direction:column;gap:.6em}.btn.menu{padding:.9em;font-size:1.15rem;font-weight:700}.btn.menu.member{background:#c8e6c9}.btn.menu.cancel{background:#ffcdd2}.overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:3vh 1em}.member-panel{background:#e0f7fa;border-radius:14px;padding:1.2em;width:min(760px,100%);box-shadow:0 6px 24px #0000004d}.member-panel-head{display:flex;justify-content:space-between;align-items:center}.member-panel-head h2{margin:0}.tabs{display:flex;gap:.4em;margin:.8em 0}.tab{padding:.4em 1.4em;border:1px solid #888;border-radius:6px 6px 0 0;background:#fff;cursor:pointer}.tab.active{background:#1565c0;color:#fff}.member-fields{display:flex;flex-direction:column;gap:.6em;background:#fff;padding:1em;border-radius:10px}.field-row{display:flex;align-items:center;gap:.4em;flex-wrap:wrap}.field-label{display:inline-block;min-width:5em;background:#fde9c9;border:1px solid #c9a46b;text-align:center;padding:.2em;border-radius:4px}.member-fields input{padding:.35em}.member-fields input.readonly{background:#eee}.sex-block{display:flex;gap:.6em;align-items:stretch}.sex-label{display:flex;align-items:center;justify-content:center;width:2em;border-radius:4px;font-weight:700}.sex-label.male{background:#bbdefb}.sex-label.female{background:#f8bbd0}.search-row{display:flex;gap:.6em;align-items:flex-end;flex-wrap:wrap;margin-bottom:.8em}.search-row label{display:flex;flex-direction:column;gap:.2em}.search-row input{padding:.4em;width:10em}.result-table{width:100%;border-collapse:collapse;background:#fff;margin-bottom:.8em}.result-table th,.result-table td{border:1px solid #ccc;padding:.3em .5em;text-align:left}.result-table tr{cursor:pointer}.result-table tr.selected{background:#fff59d}.stats{display:flex;flex-wrap:wrap;gap:1em;margin:.8em 0;background:#fff;padding:.6em 1em;border-radius:8px}
