
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:#fff;color:#111}
a{color:#0a58ca;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:16px}
.header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e5e7eb}
.header .logo{width:40px;height:40px;background:#000;border-radius:4px}
.header h1{font-size:18px;margin:0;font-weight:700}
nav{display:flex;gap:12px;margin-left:auto}
nav a{padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px}
nav a.active{background:#111;color:#fff}
.card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin:16px 0}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid #e5e7eb;padding:8px;text-align:left}
.table th{background:#f8fafc}
.btn{display:inline-block;padding:8px 12px;border:1px solid #111;border-radius:8px;background:#111;color:#fff;cursor:pointer}
.btn.secondary{background:#f8fafc;color:#111;border-color:#e5e7eb}
.btn.danger{background:#b91c1c;border-color:#7f1d1d}
.row{display:flex;gap:12px;flex-wrap:wrap}
.col{flex:1 1 280px}
.input, select, textarea{width:100%;padding:8px;border:1px solid #e5e7eb;border-radius:8px;font:inherit}
.input[readonly]{background:#f3f4f6}
.badge{display:inline-block;padding:2px 8px;border:1px solid #111;border-radius:999px;font-size:12px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.small{font-size:12px;color:#6b7280}
.flex{display:flex;gap:8px;align-items:center}
.right{margin-left:auto}
hr{border:none;border-top:1px solid #e5e7eb;margin:16px 0}
/* selectable color toggles */
.cell-red{color:#b91c1c !important}
.cell-green{color:#047857 !important}
.cell-black{color:#111 !important}

/* Month grid for timesheet */
.grid{display:grid;grid-template-columns:repeat(32, minmax(40px,1fr));gap:4px;overflow:auto}
.grid .sticky{position:sticky;left:0;background:#fff;z-index:1}

/* login */
.login{max-width:400px;margin:64px auto}

canvas{border:1px solid #e5e7eb;border-radius:8px;background:#fff}
