:root{--c64-bg: #2020c0;--c64-bg-dark: #1010a0;--c64-bg-darker: #000088;--c64-border: #5050ff;--c64-text: #ffffff;--c64-text-dim: #aaaaff;--c64-cyan: #6abfc6;--c64-yellow: #c9d487;--c64-green: #5cab5e;--c64-red: #cb7e75;--c64-purple: #a057a3;--c64-orange: #a1683c}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background-color:var(--c64-bg-darker);color:var(--c64-text);font-family:VT323,monospace;font-size:18px;line-height:1.4;position:relative;min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(transparent 0px,transparent 3px,rgba(0,0,0,.1) 3px,rgba(0,0,0,.1) 4px);pointer-events:none;z-index:9999}#root{min-height:100vh}.pixel-heading{font-family:"Press Start 2P",monospace;color:var(--c64-yellow);line-height:1.6}.btn{display:inline-block;padding:8px 16px;font-family:VT323,monospace;font-size:20px;text-transform:uppercase;border:2px solid var(--c64-border);background:var(--c64-bg-dark);color:var(--c64-text);cursor:pointer;border-radius:0;letter-spacing:1px;transition:background .1s,color .1s;outline:none;-webkit-user-select:none;user-select:none}.btn:hover{background:var(--c64-border);color:var(--c64-bg-darker)}.btn:active{background:var(--c64-text);color:var(--c64-bg-darker)}.btn-primary{background:var(--c64-yellow);color:var(--c64-bg-darker);border-color:#b8c370}.btn-primary:hover{background:#d8e490;color:var(--c64-bg-darker);border-color:var(--c64-yellow)}.btn-danger{background:var(--c64-red);color:var(--c64-text);border-color:#b06860}.btn-danger:hover{background:#db8e85;color:var(--c64-bg-darker)}.btn-small{padding:4px 10px;font-size:16px}.btn-cyan{background:var(--c64-cyan);color:var(--c64-bg-darker);border-color:#4aafb6}.btn-cyan:hover{background:#7acfd6;color:var(--c64-bg-darker)}.input{display:block;width:100%;padding:8px 10px;font-family:VT323,monospace;font-size:20px;background:var(--c64-bg-darker);color:var(--c64-text);border:2px solid var(--c64-border);border-radius:0;outline:none;transition:border-color .1s}.input:focus{border-color:var(--c64-cyan);background:#0a0a99}.input::placeholder{color:var(--c64-text-dim)}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M0 0l6 8 6-8z' fill='%23aaaaff'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}textarea.input{resize:vertical;min-height:80px}.form-group{margin-bottom:16px}.form-group label{display:block;font-family:VT323,monospace;font-size:20px;color:var(--c64-text-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:1px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000044d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(transparent 0px,transparent 3px,rgba(0,0,0,.15) 3px,rgba(0,0,0,.15) 4px);pointer-events:none}.modal{background:var(--c64-bg-dark);border:3px solid var(--c64-border);padding:24px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;z-index:1001;box-shadow:4px 4px 0 var(--c64-bg-darker),8px 8px 0 var(--c64-border)}.modal-wide{max-width:700px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-bottom:2px solid var(--c64-border);padding-bottom:12px}.modal-title{font-family:"Press Start 2P",monospace;color:var(--c64-yellow);font-size:12px;line-height:1.6}.modal-close{background:none;border:2px solid var(--c64-border);color:var(--c64-text);font-family:VT323,monospace;font-size:24px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.modal-close:hover{background:var(--c64-red);border-color:var(--c64-red)}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:2px solid var(--c64-border);flex-wrap:wrap}.app-container{display:flex;flex-direction:column;min-height:100vh}.header{background:var(--c64-bg-dark);border-bottom:3px solid var(--c64-border);padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.header-title{font-family:"Press Start 2P",monospace;color:var(--c64-yellow);font-size:10px;line-height:1.6;letter-spacing:1px}.header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.user-info{display:flex;align-items:center;gap:8px;font-size:20px}.role-badge{font-family:VT323,monospace;font-size:16px;padding:2px 8px;border:1px solid;text-transform:uppercase;letter-spacing:1px}.role-badge-admin{color:var(--c64-yellow);border-color:var(--c64-yellow);background:#c9d4871a}.role-badge-member{color:var(--c64-cyan);border-color:var(--c64-cyan);background:#6abfc61a}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-box{background:var(--c64-bg-dark);border:3px solid var(--c64-border);padding:40px;width:100%;max-width:420px;box-shadow:6px 6px 0 var(--c64-bg-darker),12px 12px 0 var(--c64-border);text-align:center}.login-title{font-family:"Press Start 2P",monospace;color:var(--c64-yellow);font-size:14px;line-height:1.8;margin-bottom:8px}.login-subtitle{color:var(--c64-cyan);font-size:22px;margin-bottom:32px;letter-spacing:2px}.login-form{text-align:left}.login-error{color:var(--c64-red);font-size:18px;margin-bottom:12px;padding:8px;border:1px solid var(--c64-red);background:#cb7e751a;text-align:center}.calendar-container{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px}.calendar-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-month-display{font-family:"Press Start 2P",monospace;color:var(--c64-cyan);font-size:13px;flex:1;text-align:center;line-height:1.6}.calendar-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.calendar-grid{flex:1;display:flex;flex-direction:column;border:2px solid var(--c64-border);background:var(--c64-bg);min-height:0}.calendar-day-headers{display:grid;grid-template-columns:repeat(7,1fr);background:var(--c64-bg-dark);border-bottom:2px solid var(--c64-border)}.calendar-day-header{text-align:center;padding:8px 4px;font-family:"Press Start 2P",monospace;font-size:8px;color:var(--c64-yellow);letter-spacing:1px;border-right:1px solid var(--c64-border)}.calendar-day-header:last-child{border-right:none}.calendar-weeks{display:flex;flex-direction:column;flex:1}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);flex:1;border-bottom:1px solid var(--c64-border);min-height:120px}.calendar-week:last-child{border-bottom:none}.calendar-cell{border-right:1px solid var(--c64-border);padding:4px;min-height:120px;position:relative;overflow:hidden}.calendar-cell:last-child{border-right:none}.calendar-cell.other-month{background:#00005066;opacity:.6}.calendar-cell.today{background:#6abfc614;border:2px solid var(--c64-cyan)}.calendar-date-number{font-family:VT323,monospace;font-size:20px;color:var(--c64-text-dim);margin-bottom:2px;display:flex;align-items:center;justify-content:space-between}.calendar-cell.today .calendar-date-number{color:var(--c64-cyan);font-weight:700}.calendar-cell.other-month .calendar-date-number{color:#aaf6}.calendar-add-btn{background:none;border:1px solid transparent;color:var(--c64-text-dim);font-size:18px;cursor:pointer;padding:0 4px;line-height:1;font-family:VT323,monospace}.calendar-add-btn:hover{color:var(--c64-yellow);border-color:var(--c64-yellow)}.calendar-chores{display:flex;flex-direction:column;gap:2px}.chore-chip{display:flex;align-items:center;gap:4px;padding:3px 6px;font-family:VT323,monospace;font-size:16px;cursor:pointer;border:1px solid rgba(0,0,0,.3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;transition:opacity .1s,filter .1s;line-height:1.2}.chore-chip:hover{filter:brightness(1.2);z-index:1}.chore-chip.completed .chore-chip-text{text-decoration:line-through;opacity:.7}.chore-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.chore-chip-initials{font-size:14px;flex-shrink:0;opacity:.85;font-weight:700}.radio-group{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.radio-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-family:VT323,monospace;font-size:20px;color:var(--c64-text);text-transform:uppercase}.radio-label input[type=radio]{accent-color:var(--c64-cyan);width:16px;height:16px;cursor:pointer}.team-members-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.team-member-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--c64-border);background:var(--c64-bg);flex-wrap:wrap}.color-swatch{width:24px;height:24px;border:2px solid rgba(255,255,255,.3);flex-shrink:0}.member-info{flex:1;min-width:120px}.member-name{font-size:20px;color:var(--c64-text)}.member-email{font-size:16px;color:var(--c64-text-dim)}.member-actions{display:flex;gap:6px;flex-wrap:wrap}.color-swatches{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.color-swatch-btn{width:32px;height:32px;border:2px solid rgba(255,255,255,.3);cursor:pointer;padding:0;transition:border-color .1s,transform .1s}.color-swatch-btn:hover{border-color:var(--c64-text);transform:scale(1.15)}.color-swatch-btn.selected{border-color:var(--c64-yellow);box-shadow:0 0 0 2px var(--c64-yellow)}.error-msg{color:var(--c64-red);border:1px solid var(--c64-red);padding:8px 12px;margin-bottom:12px;font-size:18px;background:#cb7e751a}.loading-msg{color:var(--c64-text-dim);font-size:20px;text-align:center;padding:20px;letter-spacing:2px}.edit-member-form{padding:12px;border:2px solid var(--c64-cyan);background:var(--c64-bg-darker);margin-top:8px;display:flex;flex-direction:column;gap:10px}.edit-member-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.section-divider{border:none;border-top:2px solid var(--c64-border);margin:16px 0}.section-label{font-family:"Press Start 2P",monospace;font-size:9px;color:var(--c64-cyan);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;line-height:1.8}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--c64-bg-darker)}::-webkit-scrollbar-thumb{background:var(--c64-border);border:1px solid var(--c64-bg-darker)}::-webkit-scrollbar-thumb:hover{background:var(--c64-cyan)}
