:root{--color-bg: #0a0a0f;--color-bg-card: #141420;--color-bg-hover: #1a1a2e;--color-primary: #22c55e;--color-primary-dim: #166534;--color-secondary: #6366f1;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-border: #2a2a3e;--color-error: #ef4444;--color-weed: #22c55e;--color-no-weed: #64748b;--color-paused: #3b3b4f;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.5}#app{min-height:100vh}.loading{color:var(--color-text-muted);text-align:center;padding:1rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,var(--color-bg) 0%,#0f1419 100%)}.login-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:380px;text-align:center;box-shadow:0 25px 50px -12px #00000080}.login-icon{font-size:4rem;margin-bottom:1rem}.login-card h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{color:var(--color-text-muted);margin-bottom:1.5rem}#login-form{display:flex;flex-direction:column;gap:1rem}#password-input{padding:.875rem 1rem;font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);transition:border-color .2s,box-shadow .2s}#password-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #22c55e33}.btn-primary{padding:.875rem 1.5rem;font-size:1rem;font-weight:600;color:#000;background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform .1s,box-shadow .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px -10px #22c55e80}.btn-primary:active{transform:translateY(0)}.error-message{color:var(--color-error);font-size:.875rem;min-height:1.25rem}.dashboard-container{min-height:100vh;padding-bottom:2rem}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-card);position:sticky;top:0;z-index:100}.header-title{font-size:1.25rem;font-weight:700}.btn-logout{padding:.5rem 1rem;font-size:.875rem;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.btn-logout:hover{color:var(--color-text);border-color:var(--color-text-muted)}.main-content{max-width:600px;margin:0 auto;padding:1.5rem}.status-section{text-align:center;margin-bottom:2rem}.date-display{font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.paused-indicator{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1.25rem;background:var(--color-paused);color:var(--color-text-muted);border-radius:var(--radius-md);font-weight:500}.pause-reason{font-size:.75rem;opacity:.8}.logged-indicator{display:inline-block;padding:.75rem 1.25rem;background:#22c55e26;color:var(--color-primary);border-radius:var(--radius-md);font-weight:600}.not-logged-indicator{display:inline-block;padding:.75rem 1.25rem;background:var(--color-bg-hover);color:var(--color-text-muted);border-radius:var(--radius-md)}.action-section{text-align:center;margin-bottom:2rem}.button-row{display:flex;gap:1rem}.btn-log-weed,.btn-log-no-weed{flex:1;padding:1.25rem 1rem;font-size:1rem;font-weight:700;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:transform .15s,box-shadow .2s,opacity .2s}.btn-log-weed{color:#000;background:linear-gradient(135deg,var(--color-primary) 0%,#16a34a 100%);box-shadow:0 4px 20px -4px #22c55e66}.btn-log-no-weed{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 20px -4px #ef444466}.btn-log-weed:hover:not(:disabled),.btn-log-no-weed:hover:not(:disabled){transform:translateY(-2px) scale(1.02)}.btn-log-weed:active:not(:disabled),.btn-log-no-weed:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-log-weed:disabled,.btn-log-no-weed:disabled{opacity:.6;cursor:not-allowed}.btn-log-weed.active{box-shadow:0 0 0 3px #22c55e80,0 4px 20px -4px #22c55e66}.btn-log-no-weed.active{box-shadow:0 0 0 3px #ef444480,0 4px 20px -4px #ef444466}.logged-weed{background:#22c55e26!important;color:var(--color-primary)!important}.logged-no-weed{background:#ef444426!important;color:#ef4444!important}.paused-message,.logged-message{padding:2rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted)}.paused-message p:last-child,.logged-message p:last-child{font-size:1.5rem;margin-top:.5rem}.stats-container{display:flex;gap:1.5rem;align-items:flex-start}.stats-grid{flex:1;display:flex;flex-direction:column;gap:.75rem}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;text-align:center}.stat-value{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.stat-no-weed-red .stat-value{color:#ef4444}.stat-unlogged .stat-value{color:#3b82f6}.stat-percentage .stat-value{color:var(--color-secondary)}.pie-chart-container{display:flex;flex-direction:column;align-items:center;gap:.75rem}.pie-chart{width:120px;height:120px;transform:rotate(-90deg)}.pie-legend{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted)}.legend-color{width:10px;height:10px;border-radius:2px}.already-logged-message{text-align:center;color:var(--color-text-muted);padding:1rem;font-size:.875rem}.stats-section{margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;text-align:center}.stat-value{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.stat-weed .stat-value{color:var(--color-weed)}.stat-no-weed .stat-value{color:var(--color-no-weed)}.stat-percentage .stat-value{font-size:1.25rem;color:var(--color-secondary)}.percentage-bar{position:relative;height:2rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.percentage-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-secondary) 100%);transition:width .5s ease-out}.percentage-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--color-text);text-shadow:0 1px 2px rgba(0,0,0,.5)}.calendar-section{margin-bottom:2rem}.calendar-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-muted)}.calendar-grid{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-nav{padding:.5rem .75rem;background:var(--color-bg-hover);border:none;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;transition:background .2s}.calendar-nav:hover{background:var(--color-border)}.calendar-month{font-weight:600}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem;text-align:center;font-size:.75rem;color:var(--color-text-muted)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.75rem;border-radius:50%;transition:transform .1s}.calendar-day:not(.empty):hover{transform:scale(1.15);cursor:pointer}.calendar-day.empty{background:transparent}.calendar-day.weed{background:var(--color-weed);color:#000;font-weight:600}.calendar-day.no-weed{background:#ef4444;color:#fff;font-weight:600}.calendar-day.unlogged{background:#3b82f6;color:#fff}.calendar-day.paused,.calendar-day.before-start{background:var(--color-paused);color:var(--color-text-muted)}.calendar-day.disabled{background:#374151;color:var(--color-text-muted);opacity:.6}.calendar-day.no-click{cursor:not-allowed;pointer-events:none}.calendar-day.future{background:transparent;color:var(--color-text-muted);opacity:.5}.pause-section{border-top:1px solid var(--color-border);padding-top:1.5rem}.pause-toggle{display:flex;flex-direction:column;gap:.75rem}.toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.toggle-label input[type=checkbox]{display:none}.toggle-slider{width:3rem;height:1.5rem;background:var(--color-bg-hover);border-radius:1rem;position:relative;transition:background .2s}.toggle-slider:after{content:"";position:absolute;top:.25rem;left:.25rem;width:1rem;height:1rem;background:var(--color-text-muted);border-radius:50%;transition:transform .2s,background .2s}.toggle-label input:checked~.toggle-slider{background:var(--color-primary-dim)}.toggle-label input:checked~.toggle-slider:after{transform:translate(1.5rem);background:var(--color-primary)}.toggle-text{font-size:.875rem;color:var(--color-text-muted)}.pause-reason-input{padding:.625rem .875rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text)}.pause-reason-input:focus{outline:none;border-color:var(--color-text-muted)}@media(max-width:480px){.login-card{padding:2rem 1.5rem}.main-content{padding:1rem}.btn-log-weed{padding:1.25rem 1.5rem;font-size:1.125rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}}.command-section{margin-top:2rem;border-top:1px solid var(--color-border);padding-top:1rem}.command-output{background:#0d1117;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;color:#c9d1d9;max-height:200px;overflow-y:auto;margin-bottom:.5rem;min-height:60px}.command-output::-webkit-scrollbar{width:8px}.command-output::-webkit-scrollbar-track{background:#161b22;border-radius:4px}.command-output::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.command-output::-webkit-scrollbar-thumb:hover{background:#484f58}.command-input-row{display:flex;align-items:center;gap:.5rem;background:#0d1117;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem}.command-prompt{color:#22c55e;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:700}.command-input{flex:1;background:transparent;border:none;color:#c9d1d9;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;outline:none}.command-input::placeholder{color:#484f58}.cmd-line{margin-bottom:.25rem;color:#8b949e}.cmd-line .cmd-prompt{color:#22c55e;margin-right:.5rem}.cmd-result{white-space:pre-wrap;margin-bottom:.75rem;line-height:1.6}.cmd-error{color:#f85149;margin-bottom:.5rem}.cmd-success{color:#22c55e;margin-bottom:.5rem}.cmd-title{color:#58a6ff;font-weight:700;display:block;margin-top:.5rem}.cmd-name{color:#ffa657;font-weight:600}.stat-line{display:block;margin:.25rem 0}.stat-line .stat-label{color:#8b949e;margin-right:.5rem}.stat-line.green{color:#22c55e}.stat-line.red{color:#ef4444}.stat-line.blue{color:#3b82f6}
