*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Segoe UI,Tahoma,Arial,sans-serif;font-size:13px;color:#111;background:#fff}.app{display:flex;flex-direction:column;height:100%}.toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f0f0f0;border-bottom:1px solid #ccc}.toolbar button{padding:5px 10px;border:1px solid #999;background:#fafafa;cursor:pointer;border-radius:3px}.toolbar button:hover{background:#eaeaea}.toolbar button.active{background:#d0e0ff;border-color:#5a8;font-weight:700}.toolbar .title{margin-left:12px;font-weight:700;letter-spacing:1px;color:#444}.toolbar .info{color:#777}.toolbar .err{color:#b00}.main{display:flex;flex:1;min-height:0}.matrix-pane{width:480px;min-width:360px;overflow:auto;border-right:2px solid #ccc;padding:4px;resize:horizontal}table.matrix{border-collapse:collapse}table.matrix th.day-head{height:70px;width:20px;vertical-align:bottom;padding:2px 0}table.matrix th.day-head .vert{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-weight:400;font-size:11px}.name-head,.waz-head{vertical-align:bottom;font-size:11px;text-align:left;padding:0 4px}td.cell{width:20px;height:20px;border:1px solid #ddd;padding:0;text-align:center;vertical-align:middle;font-size:11px;font-weight:700;line-height:20px;font-variant-numeric:tabular-nums}td.cell.klik{cursor:pointer}td.cell.klik:hover{outline:2px solid #333;outline-offset:-2px}td.name{padding:0 6px;white-space:nowrap;cursor:pointer;font-family:Consolas,monospace;font-size:12px}td.name.serwer{font-weight:700}td.waz{text-align:center;color:#666;width:28px}tr.sel td{outline:2px solid red;outline-offset:-2px}td.empty{color:#888;padding:10px}.legend{display:flex;gap:12px;flex-wrap:wrap;padding:8px 4px;color:#555}.legend-item{display:inline-flex;align-items:center;gap:4px}.swatch{width:14px;height:14px;border:1px solid #bbb;display:inline-block}.right-pane{flex:1;display:flex;flex-direction:column;min-width:0}.section-title{background:#f4f4f4;border-bottom:1px solid #ddd;padding:4px 8px;font-weight:700;color:#444}.nonbackup{flex:0 0 40%;overflow:auto;border-bottom:2px solid #ccc}table.list{width:100%;border-collapse:collapse}table.list th,table.list td{border-bottom:1px solid #eee;padding:3px 6px;text-align:left;font-size:12px}table.list tbody tr{cursor:pointer}table.list tbody tr:hover{background:#f5f9ff}.body{flex:1;display:flex;flex-direction:column;min-height:0}pre.msg{flex:1;margin:0;padding:10px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:Consolas,monospace;font-size:12px;background:#fffdf7}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border:1px solid #888;border-radius:6px;padding:16px 20px;width:460px;max-height:90vh;overflow:auto;box-shadow:0 8px 30px #0000004d}.modal h3{margin:0 0 12px}.form{display:grid;grid-template-columns:180px 1fr;gap:8px 10px;align-items:center}.form label{color:#444}.form input,.form select{padding:4px 6px;border:1px solid #aaa;border-radius:3px;width:100%}.form input[type=checkbox]{width:auto}.modal-buttons{margin-top:16px;display:flex;gap:8px}.modal-buttons button{padding:6px 14px;border:1px solid #999;border-radius:3px;cursor:pointer;background:#fafafa}.modal-buttons button.primary{background:#d0e0ff;border-color:#5a8;font-weight:700}.modal-buttons button.danger{background:#ffe0e0;border-color:#c66;margin-left:auto}.err{color:#b00;padding:4px 0}.login-screen{height:100%;display:flex;align-items:center;justify-content:center;background:#eef1f5}.login-box{background:#fff;padding:28px 32px;border-radius:8px;box-shadow:0 6px 24px #00000026;display:flex;flex-direction:column;gap:10px;width:300px}.login-box h2{margin:0}.login-box .sub{margin:0 0 8px;color:#777}.login-box input{padding:8px 10px;border:1px solid #aaa;border-radius:4px}.login-box button{padding:8px;border:1px solid #5a8;background:#d0e0ff;border-radius:4px;cursor:pointer;font-weight:700}.toolbar .logout{margin-left:auto}
