:root{--color-primary: #3b82f6;--color-development: #bbf7d0;--color-qa: #fef9c3;--color-release: #fecaca;--color-text: #1f2937;--color-muted: #6b7280;--color-border: #e5e7eb;--color-background: #ffffff;--color-today: #c084fc}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--color-text);background-color:var(--color-background);line-height:1.5}#app{min-height:100vh;display:flex;flex-direction:column}header{background-color:var(--color-primary);color:#fff;padding:1rem}header h1{font-size:1.5rem;font-weight:600}main{flex:1;padding:1rem}.container{max-width:1200px;margin:0 auto;width:100%}.release-form{margin-bottom:2rem;padding:1.5rem;background-color:#f9fafb;border-radius:.5rem;border:1px solid var(--color-border)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-group input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:1rem;color:var(--color-text)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f61a}.form-group small{display:block;margin-top:.5rem;color:var(--color-muted);font-size:.875rem}.release-form button{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:1rem;cursor:pointer;transition:background-color .2s}.release-form button:hover{background-color:#2563eb}.calendar{display:flex;flex-direction:column;gap:2rem}.calendar-month{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden}.calendar-month-header{padding:1rem;font-weight:600;background-color:#f9fafb;border-bottom:1px solid var(--color-border);text-align:center}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-border)}.calendar-header-cell{padding:.75rem;text-align:center;font-weight:500;font-size:.875rem;color:var(--color-muted)}.calendar-header-cell.sunday{color:#ef4444}.calendar-header-cell.saturday{color:#3b82f6}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{position:relative;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:5rem;padding:.25rem}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell .date{font-size:.875rem;font-weight:500;padding:.25rem;border-radius:.25rem;margin-bottom:.25rem}.calendar-cell.today{border:3px solid var(--color-today);box-shadow:0 0 0 2px #c084fc33;transform:scale(1.02);z-index:1}.calendar-cell.today .date{color:var(--color-today);font-weight:700}.calendar-cell .events{display:flex;flex-direction:column;gap:2px;margin-top:.5rem;font-size:.75rem}.calendar-cell .event{padding:2px 4px;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-cell .event.development{background-color:#bbf7d080;border:1px solid var(--color-development)}.calendar-cell .event.qa{background-color:#fef9c380;border:1px solid var(--color-qa)}.calendar-cell .event.release{background-color:#fecaca80;border:1px solid var(--color-release)}@media (max-width: 768px){.calendar-cell .events{font-size:.7rem}}@media (max-width: 480px){.calendar-cell .events{display:none}.calendar-cell.has-events:after{content:"●";position:absolute;bottom:2px;right:2px;font-size:.8rem;color:var(--color-primary)}}.calendar-cell.sunday .date,.calendar-cell.holiday .date{color:#ef4444}.calendar-cell.saturday .date{color:#3b82f6}.calendar-cell.empty{background-color:transparent;border:none}@media (max-width: 768px){.calendar-cell{min-height:4rem}}@media (max-width: 480px){.calendar-cell{min-height:3rem;font-size:.75rem}.calendar-header-cell{padding:.5rem;font-size:.75rem}}
