:root{--bg:#1f2227;--panel:#f0f0f0;--text:#161616;--line:#909090;--accent:#7b0000;--topbar:44px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Tahoma,"Segoe UI",sans-serif;color:var(--text);background:#d8d8d8}body{padding-top:var(--topbar)}a{color:#0645ad}.app-topbar{position:fixed;z-index:1000;inset:0 0 auto 0;height:var(--topbar);display:flex;align-items:center;background:#20242a;color:#fff;padding:0 14px;gap:24px;box-shadow:0 2px 6px #0006}.app-brand{color:#fff;text-decoration:none;font-weight:700}.app-topbar nav{display:flex;gap:16px;flex:1}.app-topbar nav a{color:#e8e8e8;text-decoration:none;font-size:13px}.app-user{display:flex;align-items:center;gap:10px;font-size:12px}.app-user form{margin:0}.app-user button{background:#444;color:#fff;border:1px solid #777;padding:4px 9px}.app-main{min-height:calc(100vh - var(--topbar))}.message-stack{position:fixed;z-index:2000;top:54px;right:14px;display:grid;gap:6px}.message{padding:10px 14px;background:#fff;border:1px solid #888;box-shadow:0 4px 14px #0003}.message.success{border-left:5px solid #2f7d32}.message.error{border-left:5px solid #b00020}.classic-button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 12px;font:700 12px Tahoma,sans-serif;color:#111;text-decoration:none;background:#ededed;border:2px solid;border-color:#fff #555 #555 #fff;box-shadow:inset 1px 1px #d7d7d7;cursor:pointer}.classic-button:active{border-color:#555 #fff #fff #555}.classic-button.inline{width:auto}.classic-button.compact{min-height:24px;padding:2px 8px}.content-card{max-width:980px;margin:28px auto;padding:24px;background:#f6f6f6;border:1px solid #888;box-shadow:0 10px 32px #0002}.wide-card{max-width:1380px}.content-card h1{margin:0 0 8px}.content-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.header-actions{display:flex;gap:8px}.search-bar{display:flex;gap:8px;margin:20px 0;padding:10px;background:#e5e5e5;border:1px solid #aaa}.search-bar input{flex:1;min-width:160px;padding:7px}.search-bar select{padding:7px}.table-scroll{overflow:auto;max-height:calc(100vh - 260px);border:1px solid #888;background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{position:sticky;top:0;background:#d7d7d7;border:1px solid #999;padding:7px;text-align:left}.data-table td{border:1px solid #c0c0c0;padding:6px;vertical-align:top}.data-table tbody tr:hover{background:#eef5ff}.clickable-row{cursor:pointer}.pagination{display:flex;justify-content:center;gap:18px;padding:12px;font-size:12px}.status-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:11px}.status-badge.success{background:#d9f4dc;color:#17551b}.status-badge.muted{background:#ddd;color:#555}.status-badge.warning{background:#ffe9a8;color:#6a4a00}.placeholder-card{margin-top:70px}.login-body{padding-top:0;background:#111;display:grid;place-items:center;min-height:100vh}.login-window{width:min(680px,92vw);background:#c0c0c0;border:2px solid;border-color:#fff #444 #444 #fff;box-shadow:0 15px 60px #000}.legacy-titlebar,.legacy-window-heading,.modal-titlebar{background:linear-gradient(90deg,#000080,#1084d0);color:#fff;padding:5px 8px;font-weight:700;font-size:13px}.login-content{display:grid;grid-template-columns:80px 1fr;gap:16px;padding:28px}.login-content h1{font:400 19px "Bookman Old Style",Georgia,serif;margin:0 0 8px}.login-form{grid-column:1/-1;display:grid;grid-template-columns:120px 1fr;gap:9px;align-items:center}.login-form input{padding:7px;border:2px inset #eee}.login-form button{grid-column:2;justify-self:start}.form-error,.errorlist{color:#990000;font-size:11px;margin:3px 0;padding-left:16px}.modal-root{position:fixed;z-index:5000;inset:0;background:#0008;display:grid;place-items:center;padding:20px}.modal-root[hidden]{display:none}.modal-dialog{width:min(820px,95vw);max-height:90vh;overflow:auto;background:#e5e5e5;border:2px solid;border-color:#fff #444 #444 #fff;box-shadow:0 16px 60px #000}.modal-titlebar{display:flex;justify-content:space-between}.modal-titlebar button{background:#c0c0c0;border:2px outset #eee;font-weight:700}.modal-dialog form{padding:18px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.modal-grid label{display:grid;gap:3px;font-size:12px}.modal-grid .span-two{grid-column:1/-1}.modal-grid input,.modal-grid textarea{width:100%;padding:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:760px){.app-topbar nav{display:none}.content-card{margin:10px}.content-header{display:block}.modal-grid{grid-template-columns:1fr}}
