:root{--ink:#0f3d2e;--ok:#175f3e;--bad:#8e1b20;--muted:#55636e;--line:#c7d0d6;--paper:#eef1f3;color:#14202a;background:var(--paper);font-family:system-ui,sans-serif;font-size:15px}body{margin:0}a{color:var(--ink)}button,input,select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 10px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a.button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 10px;text-decoration:none;display:inline-block}button.primary,a.button.primary{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}button.link{color:inherit;background:0 0;border:none;padding:2px;text-decoration:underline}label{color:var(--muted);gap:4px;font-size:13px;display:grid}.top{background:var(--ink);color:#fff;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.top a{color:#fff;border-radius:6px;padding:4px 8px;text-decoration:none}.top a.on{background:#ffffff2e}.top nav{flex:1;gap:4px;display:flex}.top .who{color:#bfd9c9;font-size:13px}main{max-width:1100px;margin:16px auto;padding:0 16px}.card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:16px;padding:16px}.login{gap:12px;max-width:340px;margin:10vh auto;display:grid}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:12px;display:grid}.grid select,.grid input{box-sizing:border-box;width:100%}.days{flex-wrap:wrap;gap:4px;display:flex}.days button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}th{color:var(--muted);font-size:13px;font-weight:600}tr.sel td{background:#e6f0eb}.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.ok{color:var(--ok)}.bad{color:var(--bad);font-weight:600}.chip{border:1px solid var(--line);background:#f1f3f5;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:13px;display:inline-flex}button.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}button.chip.on b{color:#fff}.badge{color:#fff;text-align:center;background:#c62828;border-radius:999px;min-width:18px;margin-left:6px;padding:0 6px;font-size:12px;font-weight:700;display:inline-block}.apps{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}button.app{text-align:left;border:1px solid var(--line);border-left:6px solid var(--ink);background:#fff;border-radius:10px;align-content:start;gap:6px;min-height:120px;padding:18px;display:grid}button.app b{color:var(--ink);font-size:20px}button.app span{color:var(--muted);font-size:14px;line-height:1.35}button.app:hover:not(:disabled){box-shadow:0 2px 8px #0000001f}button.app-angela{border-left-color:#7b3fa0}button.app-pos{border-left-color:#0f3d2e}button.app-ruta{border-left-color:#b8661b}button.app-acme{border-left-color:#1f5fa8}.alert-box{background:#fbebcf;border:1px solid #ecc98a;border-radius:8px;padding:10px 14px}
