:root{--red:#e60005;--blue:#002d55;--light:#ebf5ff;--bg:#f4f5f7;--text:#111;--muted:#6b7280;--border:#d9dde3;--ok:#1b7f3a;--warn:#a15c00}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}h1,h2,h3{font-family:Georgia,serif;color:var(--red);margin-top:0}.topbar{height:84px;background:#fff;border-bottom:5px solid var(--red);display:flex;align-items:center;justify-content:space-between;padding:10px 22px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px}.brand strong{line-height:.88;font-size:17px}.brand small{display:block;color:#555}.divider{height:46px;width:1px;background:#333}.cross{width:44px;height:44px;position:relative}.cross:before,.cross:after{content:"";position:absolute;background:var(--red)}.cross:before{width:16px;height:44px;left:14px}.cross:after{height:16px;width:44px;top:14px}.sidebar{position:fixed;top:84px;bottom:0;width:240px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:15}.sidebar nav{padding:14px;display:grid;gap:5px}.sidebar a{padding:11px 12px;text-decoration:none;color:#222;border-radius:6px}.sidebar a:hover{background:var(--light);color:var(--blue)}.sidebar footer{margin-top:auto;padding:14px;color:var(--muted);font-size:13px}.content{padding:22px;max-width:1440px;margin:auto}.with-nav{margin-left:240px}.menu-btn{display:none;background:none;border:0;font-size:28px}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.card{background:#fff;border:1px solid var(--border);border-radius:9px;padding:18px;box-shadow:0 2px 8px #0000000b}.metric{font-size:32px;font-weight:bold;color:var(--blue)}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;padding:10px 14px;background:#333;color:#fff;text-decoration:none;cursor:pointer}.btn.red{background:var(--red)}.btn.blue{background:var(--blue)}.btn.light{background:var(--light);color:var(--blue)}.btn.warn{background:#fff3cd;color:#664d03;border:1px solid #ffecb5}.btn.danger{background:#9b1c1c}.actions{display:flex;gap:8px;flex-wrap:wrap}.week-head{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.progress{height:12px;background:#e5e7eb;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--red)}.days{grid-template-columns:repeat(7,minmax(180px,1fr));overflow:auto}.day{min-width:180px}.day h3{font-family:Arial,sans-serif;font-size:17px;color:var(--blue)}.entry{border-top:1px solid var(--border);padding:10px 0}.entry strong{display:block}.badge{display:inline-block;border-radius:99px;padding:4px 8px;background:var(--light);color:var(--blue);font-size:12px}.status-open{background:#eef2ff}.status-submitted{background:#fff3cd}.status-approved{background:#d1e7dd}.status-revision{background:#f8d7da}.alert{padding:12px 14px;margin-bottom:14px;border-radius:6px;background:var(--light)}.alert.success{background:#d1e7dd}.alert.error{background:#f8d7da}label{display:block;font-weight:bold;margin-bottom:5px}input,select,textarea{width:100%;padding:10px;border:1px solid #b9c0c9;border-radius:5px;background:#fff}textarea{min-height:90px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-group{margin-bottom:13px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:8px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--border);vertical-align:top}th{background:#f8fafc;color:var(--blue)}.login{max-width:440px;margin:50px auto}.bottom-nav{display:none}.comment.internal{border-left:5px solid #555}.comment.visible{border-left:5px solid var(--red)}@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:translateX(0)}.with-nav{margin-left:0}.menu-btn{display:block}.days{display:block}.day{margin-bottom:12px}.form-grid{grid-template-columns:1fr}.content{padding:14px 14px 84px}.topbar{height:74px;padding:8px 12px}.sidebar{top:74px}.brand strong{font-size:14px}.brand .divider,.brand small{display:none}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);z-index:18;justify-content:space-around}.bottom-nav a{text-decoration:none;color:#222;padding:9px;display:grid;text-align:center;font-size:20px}.bottom-nav span{font-size:11px}.cross{width:36px;height:36px}.cross:before{height:36px;width:14px;left:11px}.cross:after{width:36px;height:14px;top:11px}}

.nav-install{display:block;width:calc(100% - 24px);margin:8px 12px;padding:10px 12px;border:1px solid #e60005;background:#fff;color:#e60005;text-align:left;font:inherit;font-weight:700;cursor:pointer;border-radius:4px}.nav-install[hidden]{display:none}.offline-hint{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);z-index:1000;background:#002d55;color:#fff;padding:10px 16px;border-radius:4px;box-shadow:0 4px 18px rgba(0,0,0,.2);font-size:.9rem}.offline-hint[hidden]{display:none}.system-check{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:16px 0}.system-check div{padding:7px 0;border-bottom:1px solid #eee}.check-ok{color:#16733b;font-weight:700}.check-warn{color:#9a5a00;font-weight:700}.check-error{color:#b00020;font-weight:700}
.check-row{display:flex;align-items:center;gap:9px;margin:14px 0;font-weight:700}.check-row input{width:auto}.color-dot{display:inline-block;width:18px;height:18px;border-radius:50%;vertical-align:middle;margin-right:8px;border:1px solid #aaa}
