/* App-shell additions on top of the dashboard's own styles (app.css) */
html,body{min-height:100%;}
.userbox{margin-top:16px; padding:12px 10px; border-radius:10px; background:var(--surface-2); border:1px solid var(--border); font-size:11.5px; line-height:1.5;}
.userbox .ub-name{font-weight:700; font-size:12.5px; color:var(--text-primary); overflow-wrap:anywhere;}
.userbox .ub-meta{color:var(--text-muted); overflow-wrap:anywhere;}
.userbox .ub-links{margin-top:6px;}
.userbox a{color:var(--accent); text-decoration:none; font-weight:600;}
.userbox a:hover{text-decoration:underline;}
.mobile-nav .mobile-user{white-space:nowrap; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:7px 11px; border-radius:99px; background:var(--surface); color:var(--accent); text-decoration:none;}

/* ---- standalone pages: login / account / admin ---- */
.auth-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px 16px;}
.auth-card{width:100%; max-width:400px; background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:28px 26px; box-shadow:var(--shadow);}
.auth-card .mark{display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.auth-card .mark img{width:34px; height:34px;}
.auth-card .mark b{font-size:15px; display:block; line-height:1.2;}
.auth-card .mark span{font-size:11px; color:var(--text-muted);}
.auth-card h1{font-size:18px; margin:0 0 4px;}
.auth-card p.lead{font-size:12.5px; color:var(--text-secondary); margin:0 0 18px;}
.field{display:flex; flex-direction:column; gap:5px; margin-bottom:14px;}
.field label{font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); font-weight:700;}
.field input, .field select{background:var(--surface-2); color:var(--text-primary); border:1px solid var(--border-strong); border-radius:8px; padding:10px 11px; font-size:14px; font-family:inherit; width:100%;}
.field input:focus, .field select:focus{outline:2px solid var(--accent); outline-offset:1px;}
.btn-block{width:100%; justify-content:center; box-sizing:border-box; padding:11px 14px; font-size:13px;}
.form-msg{font-size:12.5px; margin-top:12px; padding:9px 12px; border-radius:8px;}
.form-msg.err{background:var(--bad-soft); color:var(--bad);}
.form-msg.ok{background:var(--good-soft); color:var(--good);}

.page-shell{max-width:1100px; margin:0 auto; padding:20px 16px 60px;}
.page-top{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:18px;}
.page-top h1{font-size:19px; margin:0;}
.page-top a{font-size:12.5px; font-weight:600; color:var(--accent); text-decoration:none;}
.admin-tabs{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px;}
.inline-form{display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end;}
.inline-form .field{margin-bottom:0; min-width:160px; flex:1 1 160px;}
.inline-form .field input, .inline-form .field select{padding:8px 9px; font-size:13px;}
.secret{font-family:ui-monospace,Menlo,Consolas,monospace; font-size:12px; background:var(--surface-3); padding:8px 10px; border-radius:6px; overflow-wrap:anywhere; user-select:all;}
td.actions{white-space:nowrap;}
td.actions .btn{margin-left:4px;}
pre.json{max-height:420px; overflow:auto; background:var(--surface-2); border:1px solid var(--border); border-radius:8px; padding:10px; font-size:11.5px;}
.page-shell thead th, .page-shell tbody td{text-align:left;}
.page-shell td.actions{text-align:right;}
