*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--fm-green:#1b4332;--fm-green-light:#2d6a4f;--fm-green-hover:#245a3f;--fm-bg:#efefef;--fm-surface:#fff;--fm-border:#bdbdbd;--fm-border-dark:#9e9e9e;--fm-text:#1a1a1a;--fm-text-muted:#616161;--fm-link:#1565c0;--fm-link-hover:#0d47a1;--fm-danger:#c62828;--fm-danger-light:#fbe9e7;--fm-radius:0;--fm-font:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--fm-font-mono:"Consolas", "Courier New", monospace}html{font-size:14px;line-height:1.5}body{font-family:var(--fm-font);color:var(--fm-text);background:var(--fm-bg);min-height:100vh}a{color:var(--fm-link);text-decoration:underline}a:hover{color:var(--fm-link-hover)}h1,h2,h3,h4{font-weight:600;line-height:1.3}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}small{color:var(--fm-text-muted);font-size:.85rem}hr{border:none;border-top:1px solid var(--fm-border);margin:1rem 0}.app-container{max-width:960px;margin:0 auto;padding:1rem}.app-nav{background:var(--fm-green);color:#fff;border-bottom:2px solid var(--fm-border-dark);justify-content:space-between;align-items:center;height:44px;padding:0 1rem;display:flex}.app-nav-brand{color:#fff;font-size:1.1rem;font-weight:700;text-decoration:none}.app-nav-brand:hover{color:#fff}.app-nav-links{align-items:center;gap:0;list-style:none;display:flex}.app-nav-links li{align-items:center;display:flex}.app-nav-links a,.app-nav-links span{color:#fff;align-items:center;height:44px;padding:0 .75rem;font-size:.9rem;text-decoration:none;display:flex}.app-nav-links a:hover{background:var(--fm-green-light);color:#fff}.app-nav-links .nav-divider{background:#ffffff40;width:1px;height:24px;padding:0}.panel{background:var(--fm-surface);border:1px solid var(--fm-border);border-radius:var(--fm-radius);margin-bottom:1rem}.panel-header{background:var(--fm-green);color:#fff;border-bottom:1px solid var(--fm-border-dark);padding:.5rem .75rem;font-size:.95rem;font-weight:600}.panel-body{padding:1rem}button,.btn{font-family:var(--fm-font);border:1px solid var(--fm-border-dark);border-radius:var(--fm-radius);cursor:pointer;background:var(--fm-bg);color:var(--fm-text);padding:.4rem 1rem;font-size:.9rem;line-height:1.4}button:hover,.btn:hover{background:#e0e0e0}button:disabled,.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--fm-green);color:#fff;border-color:var(--fm-green)}.btn-primary:hover{background:var(--fm-green-hover)}.btn-danger{background:var(--fm-danger);color:#fff;border-color:var(--fm-danger)}.btn-danger:hover{background:#b71c1c}.btn-small{padding:.25rem .6rem;font-size:.8rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],textarea,select{font-family:var(--fm-font);border:1px solid var(--fm-border);border-radius:var(--fm-radius);background:var(--fm-surface);color:var(--fm-text);width:100%;padding:.4rem .5rem;font-size:.9rem;line-height:1.4}input:focus,textarea:focus,select:focus{outline:2px solid var(--fm-green-light);outline-offset:-1px;border-color:var(--fm-green-light)}label{color:var(--fm-text);margin-bottom:.2rem;font-size:.85rem;font-weight:600;display:block}.form-group{margin-bottom:.75rem}.form-error{color:var(--fm-danger);margin-top:.2rem;font-size:.8rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border:1px solid var(--fm-border);text-align:left;vertical-align:top;padding:.4rem .6rem}thead th{background:var(--fm-green);color:#fff;text-transform:uppercase;letter-spacing:.02em;font-size:.85rem;font-weight:600}tbody tr:nth-child(2n){background:#f5f5f5}tbody tr:hover{background:#e8e8e8}.login-page{justify-content:center;align-items:center;min-height:calc(100vh - 46px);display:flex}.login-box{width:100%;max-width:360px}.text-muted{color:var(--fm-text-muted)}.text-danger{color:var(--fm-danger)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.flex-row{align-items:center;gap:.5rem;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.status-page{text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex}.status-page h1{font-size:3rem;font-weight:700}.status-page .status-actions{justify-content:center;gap:.5rem;margin-top:1rem;display:flex}
