:root{font-family:Arial,Helvetica,sans-serif;color:#101010;background:#777;font-size:12px}*{box-sizing:border-box}body{margin:0;background:#7e858c}.login-page{min-height:100vh;padding-top:72px}.login-window{width:520px;max-width:calc(100% - 24px);margin:auto;border:2px outset #d4d0c8;background:#d4d0c8;box-shadow:2px 2px 8px #333}.login-title{padding:5px 7px;color:#fff;font-weight:bold;background:#173f73}.login-body{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:28px 30px 26px}.mark{width:62px;height:62px;background:#173f73;color:white;font:42px Georgia;text-align:center;padding-top:6px;border:2px inset #eee}.login-body h1{font-size:18px;margin:0 0 7px;color:#173f73}.small{margin:0 0 18px}.form-table{border-collapse:collapse}.form-table th{text-align:right;padding:5px 8px 5px 0;font-weight:normal}.form-table td{padding:4px 0}.form-table input{width:205px;height:22px;border:2px inset #eee;background:#fff;padding:2px 4px;font:12px Arial}.form-table button,button{font:12px Arial;border:2px outset #eee;background:#d4d0c8;padding:2px 12px;color:#111}.form-table button:active,button:active{border-style:inset}.note{font-size:10px;color:#555;margin:20px 0 0}.login-error{color:#900;margin:8px 0 0 80px}.login-foot{font-size:10px;color:#444;border-top:1px solid #999;padding:5px 8px;text-align:center}.portal{width:min(100%,1024px);min-height:600px;margin:0 auto;background:#fff;border-left:1px solid #333;border-right:1px solid #333}.masthead{height:55px;background:#173f73;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:3px solid #9aa8b8}.masthead b{font:20px Georgia,serif;letter-spacing:2px}.masthead b span{color:#bdc8d5}.masthead small{display:block;font-size:10px;letter-spacing:.3px;margin-top:2px}.mast-user{font-size:11px}.link-button{border:0;background:none;color:#fff;text-decoration:underline;padding:0}.utility{height:24px;padding:4px 8px;background:#e7e7e7;border-bottom:1px solid #888;display:flex;justify-content:space-between;font-size:10px}.workarea{display:grid;grid-template-columns:155px 1fr;min-height:496px}.sidebar{background:#d4d0c8;border-right:2px groove #eee;padding-bottom:15px}.nav-head{font-size:10px;font-weight:bold;color:#fff;background:#5c6f86;padding:4px 7px;border-bottom:1px solid #fff}.nav-head.lower{margin-top:16px}.sidebar button{display:block;width:100%;border:0;border-bottom:1px solid #aaa;text-align:left;padding:7px 9px;background:#d4d0c8;color:#123b6a}.sidebar button:hover,.sidebar button.active{background:#fff;font-weight:bold}.service-state{font-size:10px;padding:5px 8px}.service-state i{display:inline-block;width:8px;height:8px;border:1px solid #555;margin-right:5px}.ok{background:#27843a}.warn{background:#d6aa26}.statusbar{height:25px;background:#d4d0c8;border-top:2px groove #fff;display:flex;justify-content:space-between;padding:4px 6px;font-size:10px}main{background:#fff;padding:10px 12px;min-width:0}.page-title{font-size:15px;color:#173f73;margin:0;padding:0 0 4px;border-bottom:2px solid #173f73}.crumb{font-size:10px;color:#555;margin:4px 0 10px}.panel{border:1px solid #7f8996;margin:9px 0}.panel-title{padding:3px 6px;background:#dbe1e8;border-bottom:1px solid #7f8996;font-weight:bold;color:#173f73}.panel-body{padding:8px}.identity{display:grid;grid-template-columns:1fr 1fr;gap:12px}.identity p{margin:3px 0}.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.app-link{text-align:left;padding:7px;background:#eee;border:1px solid #999;color:#173f73}.app-link b{display:block;text-decoration:underline}.app-link small{display:block;color:#444;margin-top:3px}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{background:#dbe1e8;border:1px solid #8994a0;text-align:left;padding:3px 5px}.data-table td{border-bottom:1px solid #bbb;padding:4px 5px}.data-table tr.clickable:hover{background:#eaf1fa;cursor:pointer}.toolbar{background:#d4d0c8;border:2px groove #eee;padding:3px;margin:7px 0}.toolbar button{padding:1px 8px;margin-right:2px}.message{border:1px solid #888}.message-head{background:#eee;border-bottom:1px solid #aaa;padding:6px}.message-head div{margin:2px}.message pre{font:12px Arial;white-space:pre-wrap;padding:12px;margin:0;line-height:1.5}.split{display:grid;grid-template-columns:minmax(260px,1fr) 250px;gap:8px}.instrument{background:#d4d0c8;border:2px outset #eee;padding:5px}.instrument-screen{background:#05090c;border:2px inset #eee;height:168px;position:relative}.instrument-screen canvas{width:100%;height:100%;display:block}.camera img{display:block;width:100%;height:144px;object-fit:cover;image-rendering:auto;background:#1b1d1f}.camera-meta{background:#111;color:#bbb;font:10px monospace;padding:3px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.control{border:1px solid #888;background:#ece9e2;padding:5px}.control label{display:flex;justify-content:space-between;font-size:10px}.control input[type=range]{width:100%}.sequence{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}.step{background:#242b30;color:#8fd0a4;text-align:center;padding:7px 2px;border:2px inset #aaa;font:13px monospace}.step.active{background:#a7c9a7;color:#111}.readout{font:11px monospace;background:#102018;color:#9fd4a9;border:2px inset #eee;padding:5px;margin:5px 0}.folder-list{width:190px;border:1px solid #888;background:#eee;padding:6px}.folder-list button{display:block;border:0;background:none;color:#173f73;text-align:left;width:100%;padding:4px;text-decoration:underline}.folder-list button.active{background:#173f73;color:#fff;text-decoration:none}.files-layout{display:grid;grid-template-columns:190px 1fr;gap:8px}.doc-preview{margin-top:8px;border:1px solid #888;background:#fffff4;padding:9px}.error-box{width:min(560px,100%);border:1px solid #777;margin:35px auto;background:#f2f2f2}.error-head{font-weight:bold;color:#fff;background:#5c6f86;padding:5px}.error-body{padding:14px}.error-code{font:11px "Courier New",monospace;background:#fff;border:1px inset #ddd;padding:8px}.muted{color:#666;font-size:10px}.disabled{color:#777}.folder-icon{color:#bf8b19}.record-buttons{margin-top:6px}.record-buttons button{margin-right:4px}.recording{color:#8a0000;font-weight:bold}
@media(max-width:700px){.portal{min-width:0}.workarea{grid-template-columns:112px 1fr}.sidebar button{padding:7px 4px}.mast-user{font-size:9px}.split,.identity,.app-grid,.files-layout{grid-template-columns:1fr}.folder-list{width:auto}.camera img{height:120px}main{padding:7px}.control-grid{grid-template-columns:1fr}.login-page{padding-top:25px}.login-body{grid-template-columns:1fr}.mark{display:none}}
