body{font-family:Arial,sans-serif;background:#f5f5f5;color:#222;margin:20px}
body.dark{background:#121212;color:#eee}
header{display:flex;justify-content:space-between;align-items:center;gap:20px}
nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.panel,.auth-box,.modal-content,.day-cell{background:white;border-radius:12px;padding:20px;margin-top:20px;box-shadow:0 2px 10px rgba(0,0,0,.1)}
body.dark .panel,body.dark .auth-box,body.dark .modal-content,body.dark .day-cell{background:#1f1f1f;color:#eee}
.layout{display:flex;gap:20px;align-items:flex-start}
.layout .panel{flex:1}
.auth-box{max-width:520px;margin:80px auto}
input,select,button{padding:10px;margin-top:6px;box-sizing:border-box}
input,select{width:100%}
button,.nav-btn{background:var(--btn-bg,#222);color:var(--btn-text,#fff);border:0;border-radius:8px;padding:10px 14px;text-decoration:none;cursor:pointer;display:inline-block}
button:hover,.nav-btn:hover{filter:brightness(1.1)}
.lang select{width:auto;margin-top:0}
.req{color:#c00;font-weight:bold;margin-left:3px}
.help{display:inline-block;border-radius:50%;background:#ddd;color:#222;padding:0 6px;margin-left:4px;cursor:help;font-weight:bold}
.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}
.grid-form label{font-weight:bold;display:block}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.inline-form input,.inline-form select{width:auto}
.row{border-bottom:1px solid #ddd;padding:10px 0}
.error{color:#c00}
.notice{font-weight:bold}
.muted{color:#666;font-size:.9em}
body.dark .muted{color:#bbb}
.center{text-align:center}
.calendar-toolbar{display:flex;gap:10px;align-items:center}
.calendar-toolbar button,.calendar-toolbar input{width:auto}
.workweek-calendar{display:grid;grid-template-columns:80px repeat(5,1fr);gap:10px;margin-top:20px}
.calendar-head{font-weight:bold;text-align:center;background:#222;color:#fff;border-radius:8px;padding:10px}
.week-cell{background:#ddd;color:#222;border-radius:10px;padding:10px;font-weight:bold;text-align:center}
.day-cell{min-height:130px;cursor:pointer;padding:10px}
.day-cell.outside{opacity:.35}
.date-label{font-weight:bold}
.event-pill{background:#ffe1e8;color:#222;border:1px solid #ff9db1;border-radius:8px;padding:6px;margin-top:6px;font-size:13px;cursor:pointer}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1000}
.modal.hidden{display:none}
.modal-content{max-width:820px;width:92%;max-height:90vh;overflow:auto;position:relative}
.close{float:right;width:auto}
#pigSvg{width:100%;max-width:320px}
#body,#head,#nose{fill:#ffb6c1;stroke:#333;stroke-width:3;transition:all .5s ease}
fieldset{border:1px solid #ccc;border-radius:8px;margin:10px 0}
fieldset label{display:block;font-weight:normal}
a{color:#8a0030}
body.dark a{color:#ff8ab0}
@media(max-width:900px){.layout{flex-direction:column}.workweek-calendar{grid-template-columns:60px repeat(5,1fr);font-size:12px}}
