@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Orbitron:wght@400;500;600;700&display=swap");body,html{height:100%;margin:0;padding:0;overflow-x:hidden;position:relative;-ms-overflow-style:none;scrollbar-width:none}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none}*{box-sizing:border-box}:root{--bg-color:#fff;--bg-color-rgb:255,255,255;--text-color:#1e293b;--text-muted:#64748b;--border-color-rgb:0,0,0;--accent-color:#6366f1;--accent-color-rgb:99,102,241;--title-start-color:#1e293b;--title-end-color:#475569;--footer-height:70px;--period-bg-light:#fdf2f8;--period-bg-dark:#4a1d3d;--period-accent:#ec4899;--period-accent-light:#f472b6;--period-strong-pink:#db2777;--period-deep-pink:#be185d}body.dark-mode{--bg-color:#0f172a;--bg-color-rgb:15,23,42;--text-color:#e2e8f0;--text-muted:#94a3b8;--border-color-rgb:255,255,255;--title-start-color:#e2e8f0;--title-end-color:#94a3b8}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-color);color:var(--text-color);transition:background-color .5s,color .5s;position:relative;min-height:100vh;width:100%;overflow-y:auto;padding-bottom:0}body.dark-mode{background-color:#0f172a;color:#e2e8f0}body.period-mode{background-color:var(--bg-color)!important;color:var(--text-color)!important}.period-specific-card{background-color:var(--period-bg-light)!important;color:#333!important;border-radius:.5rem;padding:1rem;border:1px solid rgba(233,30,99,.1)}.dark-mode .period-specific-card{background-color:var(--period-bg-dark)!important;color:#fff!important;border:1px solid rgba(233,30,99,.2)}.period-tracker-widget{border-radius:.75rem;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.05);transition:transform .2s ease,box-shadow .2s ease;background-color:#fff;margin-bottom:1rem;min-height:200px;display:flex;flex-direction:column}.dark-mode .period-tracker-widget{background-color:#1e293b;box-shadow:0 2px 6px rgba(0,0,0,.2)}.period-tracker-widget:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.period-tracker-widget .card-header{padding:.75rem 1rem;font-weight:600;font-size:1.125rem;border-bottom:1px solid rgba(0,0,0,.05)}.dark-mode .period-tracker-widget .card-header{border-bottom:1px solid rgba(255,255,255,.05)}.period-tracker-widget .card-content{background-color:var(--period-bg-light);color:#333;padding:1rem;flex:1;display:flex;flex-direction:column}.dark-mode .period-tracker-widget .card-content{background-color:var(--period-bg-dark);color:#fff}.period-card-header{color:var(--period-accent)!important;font-weight:600}.dark-mode .period-card-header{color:var(--period-accent-light)!important}.no-period-active,.period-active,.period-ended,.verification-container{display:flex;flex-direction:column;align-items:center;width:100%;flex:1}.period-status{font-size:1rem;font-weight:600;margin:.5rem 0;color:var(--period-accent);text-align:center}.dark-mode .period-status{color:var(--period-accent-light)}.time-display-container{margin:.5rem 0;width:100%}.time-units-grid{display:flex;justify-content:center;gap:.25rem}.time-units-grid.analog-layout{display:flex;flex-direction:row;gap:.25rem}.time-units-grid.stacked-layout{display:flex;flex-direction:column;gap:.25rem}.time-unit-column{display:flex;flex-direction:column;align-items:center;min-width:3rem}.time-unit-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem .5rem;border-bottom:1px solid rgba(233,30,99,.1);width:100%}.dark-mode .time-unit-row{border-bottom-color:rgba(233,30,99,.2)}.time-unit-column .time-unit-label{font-size:.7rem;text-transform:uppercase;margin-bottom:.25rem;font-weight:600;color:var(--text-muted)}.time-unit-row .time-unit-label{font-size:.8rem;font-weight:500}.time-unit-column .time-unit-value{background-color:var(--period-accent);color:white;font-size:1.25rem;font-weight:700;border-radius:4px;width:100%;text-align:center;padding:.25rem .5rem;min-width:2.5rem}.time-unit-row .time-unit-value{font-weight:600;color:var(--period-accent)}.dark-mode .time-unit-column .time-unit-value{background-color:var(--period-deep-pink)}.dark-mode .time-unit-row .time-unit-value{color:var(--period-accent-light)}.widget-actions{display:flex;gap:.75rem;margin:.75rem 0;justify-content:center;flex-wrap:wrap}.action-button{padding:.5rem 1rem;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s;font-size:.85rem;min-width:120px}.verify-button{background-color:#f97316;color:white}.end-button{background-color:#ef4444;color:white}.start-button{background-color:var(--period-accent);color:white}.confirm-button{background-color:#22c55e;color:white}.cancel-button{background-color:#6b7280;color:white}.action-button:hover{transform:translateY(-2px);box-shadow:0 2px 5px rgba(0,0,0,.1);opacity:.9}.action-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.verify-prompt{text-align:center;margin-bottom:1rem}.verify-time{font-weight:600;color:var(--period-accent)}.dark-mode .verify-time{color:var(--period-accent-light)}.period-summary{width:100%;margin-bottom:1rem;background-color:rgba(255,255,255,.5);border-radius:.5rem;padding:.75rem}.dark-mode .period-summary{background-color:rgba(0,0,0,.2)}.summary-item{display:flex;justify-content:space-between;margin:.5rem 0;padding:.25rem 0;border-bottom:1px solid rgba(233,30,99,.1)}.dark-mode .summary-item{border-bottom:1px solid rgba(233,30,99,.2)}.summary-item:last-child{border-bottom:none}.next-prediction,.prediction-info{width:100%;margin-top:.5rem;text-align:center;font-size:.9rem;background-color:rgba(255,255,255,.5);border-radius:.5rem;padding:.75rem}.dark-mode .next-prediction,.dark-mode .prediction-info{background-color:rgba(0,0,0,.2)}.prediction-date{color:var(--period-accent);margin-top:.5rem}.dark-mode .prediction-date{color:var(--period-accent-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-in{opacity:0;animation:fadeIn .5s forwards}.app-container.loaded .fade-in{opacity:1}.app-container{max-width:1200px;margin:0 auto;width:100%;position:relative;min-height:100vh;padding-bottom:0}.app-container.loaded{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease}.app-container.dark-mode{background-color:#0f172a;color:#e2e8f0}.dashboard{padding:1rem;max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:200px}.loading-spinner{border-top:4px solid rgba(var(--border-color-rgb),.1);border-radius:50%;border:4px solid rgba(var(--border-color-rgb),.1);border-top-color:var(--accent-color);width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-text{font-size:1rem;color:var(--text-muted)}.error{color:#ef4444;padding:1rem;border-radius:.5rem;background-color:rgba(239,68,68,.1);text-align:center;margin:1rem 0}@media (max-width:768px){:root{--footer-height:80px}}@media (max-width:480px){:root{--footer-height:70px}}:root[style*="--override-theme: true"] .app-container{background-color:var(--period-bg-light)}:root[style*="--override-theme: true"] .dark-mode .app-container{background-color:var(--period-bg-dark)}.widget-settings{padding:.75rem;border-top:1px solid rgba(0,0,0,.05);background-color:rgba(255,255,255,.5)}.dark-mode .widget-settings{background-color:rgba(0,0,0,.1);border-top:1px solid rgba(255,255,255,.05)}.settings-section{margin-bottom:.75rem}.settings-section:last-child{margin-bottom:0}.toggle-section-btn{background:none;border:none;font-size:.9rem;font-weight:500;color:var(--period-accent);cursor:pointer;text-decoration:none;width:100%;text-align:left;padding:.25rem 0}.dark-mode .toggle-section-btn{color:var(--period-accent-light)}.history-panel,.stats-panel{margin-top:.75rem;padding:.75rem;background-color:rgba(233,30,99,.05);border-radius:8px}.dark-mode .history-panel,.dark-mode .stats-panel{background-color:rgba(233,30,99,.1)}.stat-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.stat-item:last-child{margin-bottom:0}.history-label,.stat-label{font-weight:500;font-size:.9rem}.history-value,.stat-value{font-weight:600;color:var(--period-accent);font-size:.9rem}.dark-mode .history-value,.dark-mode .stat-value{color:var(--period-accent-light)}.history-panel{max-height:250px;overflow-y:auto}.history-entry{padding:.75rem;margin-bottom:.75rem;background-color:rgba(255,255,255,.5);border-radius:6px}.dark-mode .history-entry{background-color:rgba(0,0,0,.2)}.history-date-range{margin-bottom:.5rem}.history-item{display:flex;justify-content:space-between;margin-bottom:.25rem}.history-item.duration{border-top:1px dashed rgba(233,30,99,.1);padding-top:.5rem;margin-top:.25rem}.color-setting-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap}.color-setting-label{font-size:.9rem;flex:1;min-width:100px}.color-input-container{display:flex;gap:.5rem;align-items:center}.color-input{height:30px;width:40px;padding:0;border:none;border-radius:4px;overflow:hidden;cursor:pointer}.reset-color-btn{font-size:.8rem}.dark-mode .reset-color-btn{border-color:rgba(240,98,146,.3)}.dark-mode .reset-color-btn:hover{background-color:rgba(240,98,146,.1)}.color-setting-note{margin-top:.75rem;padding-top:.5rem;border-top:1px dashed rgba(233,30,99,.2);text-align:center;font-size:.75rem;color:var(--text-muted)}.dark-mode .color-setting-note{color:var(--text-muted);border-top:1px dashed rgba(233,30,99,.3)}.color-settings-section{margin-top:.75rem;padding:.75rem;background-color:rgba(233,30,99,.05);border-radius:8px}.dark-mode .color-settings-section{background-color:rgba(233,30,99,.1)}.color-setting-group{margin-bottom:.5rem}.color-setting-group:last-child{margin-bottom:0}.color-setting-label{display:block;font-size:.8rem;margin-bottom:.25rem;font-weight:500}.color-input-row{display:flex;align-items:center;gap:.5rem}.color-input-container{position:relative;flex:1}input[type=color]{-webkit-appearance:none;border:none;width:100%;height:2rem;padding:0;border-radius:4px;cursor:pointer;background-color:transparent}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.reset-color-btn{background:none;border:1px solid rgba(233,30,99,.3);border-radius:4px;color:var(--period-accent);font-size:.7rem;padding:.25rem .5rem;cursor:pointer;transition:all .2s}.dark-mode .reset-color-btn{color:var(--period-accent-light);border-color:rgba(233,30,99,.5)}.reset-color-btn:hover{background-color:rgba(233,30,99,.1)}.dark-mode .reset-color-btn:hover{background-color:rgba(233,30,99,.2)}.period-widget{color:var(--period-text);background-color:var(--period-bg);border-radius:10px;padding:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:.75rem;transition:all .3s ease}.period-widget .widget-title{font-size:1rem;font-weight:600;margin:0;padding-bottom:.5rem;border-bottom:1px solid rgba(233,30,99,.2)}.period-widget .widget-content{display:flex;flex-direction:column;gap:.75rem;flex:1}.period-data-row{display:flex;align-items:center;justify-content:space-between}.period-data-label{font-size:.85rem;opacity:.85}.period-data-value{font-size:.95rem;font-weight:500}.period-widget .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem 1rem;gap:.75rem;opacity:.7}.period-widget .empty-state-icon{font-size:2rem;opacity:.6}.period-widget .empty-state-text{font-size:.9rem}.period-widget .action-button{background-color:var(--period-accent);color:white;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:center;margin-top:.5rem}.period-widget .action-button:hover{opacity:.9;transform:translateY(-1px)}.period-prediction{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background-color:rgba(233,30,99,.1);border-radius:6px;margin-top:.5rem}.dark-mode .period-prediction{background-color:rgba(233,30,99,.15)}.prediction-date{font-weight:600;font-size:.9rem}.prediction-info{font-size:.8rem;opacity:.9}