:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Outfit", var(--font-sans);--bg-gradient: radial-gradient(circle at top left, #0f172a, #020617);--glass-bg: rgba(15, 23, 42, .45);--glass-border: rgba(255, 255, 255, .06);--glass-border-hover: rgba(255, 255, 255, .15);--glass-highlight: rgba(255, 255, 255, .02);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-blue: #38bdf8;--accent-violet: #a78bfa;--accent-pink: #f472b6;--accent-emerald: #34d399;--accent-glow-blue: rgba(56, 189, 248, .15);--accent-glow-violet: rgba(167, 139, 250, .15);--accent-glow-emerald: rgba(52, 211, 153, .15);--status-online: #10b981;--status-offline: #ef4444;--status-checking: #f59e0b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, .37);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-gradient);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);border-radius:16px;position:relative;overflow:hidden}.glass-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-border-hover),transparent)}.app-container{display:grid;grid-template-columns:380px 1fr;min-height:100vh;gap:24px;padding:24px;max-width:1600px;margin:0 auto}@media (max-width: 1024px){.app-container{grid-template-columns:1fr;padding:16px;gap:16px}}.sidebar{display:flex;flex-direction:column;gap:20px;height:calc(100vh - 48px);position:sticky;top:24px;overflow-y:auto;padding-right:4px}@media (max-width: 1024px){.sidebar{height:auto;position:static}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.sidebar::-webkit-scrollbar-thumb:hover{background:#fff3}.clock-widget{padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#a78bfa1a,#38bdf80d)}.clock-time{font-family:var(--font-display);font-size:3rem;font-weight:700;letter-spacing:-.05em;background:linear-gradient(to right,var(--text-primary),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:4px}.clock-date{color:var(--text-secondary);font-size:.95rem;font-weight:500}.clock-greeting{margin-top:12px;font-size:1.1rem;font-weight:600;color:var(--text-primary);opacity:.9}.weather-widget{padding:20px;display:flex;flex-direction:column;gap:12px}.weather-header{display:flex;justify-content:space-between;align-items:center}.weather-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.weather-location{font-size:.85rem;color:var(--text-secondary)}.weather-body{display:flex;align-items:center;justify-content:space-between}.weather-temp-container{display:flex;align-items:baseline}.weather-temp{font-size:2.2rem;font-weight:700;font-family:var(--font-display)}.weather-unit{font-size:1.2rem;color:var(--accent-blue);font-weight:600;margin-left:2px}.weather-desc{font-size:.9rem;color:var(--text-secondary)}.weather-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid rgba(255,255,255,.05);padding-top:10px;font-size:.8rem;color:var(--text-secondary)}.search-widget{padding:12px 16px;display:flex;align-items:center;gap:12px;border-radius:12px;background:#0f172a99;border:1px solid var(--glass-border);transition:var(--transition-fast)}.search-widget:focus-within{border-color:#38bdf866;box-shadow:0 0 15px #38bdf81a}.search-input{background:transparent;border:none;color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;width:100%;outline:none}.search-input::placeholder{color:var(--text-muted)}.search-kbd{font-size:.75rem;padding:2px 6px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-muted)}.todo-widget{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.todo-header{display:flex;justify-content:space-between;align-items:center}.todo-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.todo-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:200px;padding-right:4px}.todo-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:8px;background:#ffffff05;border:1px solid rgba(255,255,255,.03);transition:var(--transition-fast)}.todo-item:hover{background:#ffffff0a}.todo-item.completed{opacity:.5}.todo-item.completed .todo-text{text-decoration:line-through}.todo-checkbox{margin-top:3px;cursor:pointer;accent-color:var(--accent-blue)}.todo-text{font-size:.85rem;color:var(--text-secondary);flex-grow:1;word-break:break-word}.todo-delete-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;opacity:0;transition:var(--transition-fast)}.todo-item:hover .todo-delete-btn{opacity:1}.todo-delete-btn:hover{color:var(--status-offline);background:#ef44441a}.todo-input-container{display:flex;gap:8px;margin-top:4px}.todo-add-input{flex-grow:1;background:#0f172a66;border:1px solid var(--glass-border);border-radius:8px;padding:8px 12px;color:var(--text-primary);font-size:.85rem;outline:none}.todo-add-input:focus{border-color:#38bdf84d}.todo-add-btn{background:#38bdf826;border:1px solid rgba(56,189,248,.3);color:var(--accent-blue);border-radius:8px;padding:8px 12px;font-size:.85rem;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.todo-add-btn:hover{background:#38bdf840}.calendar-widget{padding:20px;display:flex;flex-direction:column;gap:12px}.calendar-header{display:flex;justify-content:space-between;align-items:center}.calendar-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);display:flex;align-items:center;gap:6px}.calendar-iframe-container{width:100%;height:220px;border-radius:12px;overflow:hidden;border:1px solid var(--glass-border);background:#0f172a80;position:relative}.calendar-iframe{width:100%;height:100%;border:0;filter:invert(.9) hue-rotate(180deg) contrast(1.1);opacity:.85}.calendar-config{display:flex;flex-direction:column;gap:10px;padding:12px;background:#ffffff05;border-radius:8px;font-size:.8rem;color:var(--text-secondary)}.calendar-config-input{background:#0f172a80;border:1px solid var(--glass-border);color:var(--text-primary);border-radius:6px;padding:6px 10px;font-size:.75rem;outline:none}.calendar-config-btn{background:#a78bfa26;border:1px solid rgba(167,139,250,.3);color:var(--accent-violet);border-radius:6px;padding:6px 10px;font-size:.75rem;cursor:pointer;font-weight:600;transition:var(--transition-fast)}.calendar-config-btn:hover{background:#a78bfa40}.main-content{display:flex;flex-direction:column;gap:32px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0 0}.dashboard-title-group h1{font-family:var(--font-display);font-size:2.2rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary) 30%,var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.dashboard-title-group p{color:var(--text-secondary);font-size:.95rem;margin-top:4px}.action-buttons{display:flex;gap:12px}.btn-primary{background:linear-gradient(135deg,var(--accent-blue),var(--accent-violet));color:#020617;border:none;font-family:var(--font-sans);font-size:.9rem;font-weight:600;padding:10px 20px;border-radius:12px;cursor:pointer;box-shadow:0 4px 15px #38bdf840;display:flex;align-items:center;gap:8px;transition:var(--transition-normal)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #38bdf859;filter:brightness(1.1)}.btn-secondary{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;font-weight:500;padding:10px 18px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:var(--transition-normal)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--glass-border-hover)}.category-section{display:flex;flex-direction:column;gap:16px}.category-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.category-title:after{content:"";flex-grow:1;height:1px;background:linear-gradient(to right,rgba(255,255,255,.1),transparent)}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.service-card{padding:20px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit;transition:var(--transition-slow)}.service-card:hover{transform:translateY(-4px);background:#ffffff0d;border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg),0 0 25px #ffffff05}.service-card[data-color=blue]:hover{border-color:#38bdf859;box-shadow:var(--shadow-lg),0 0 20px var(--accent-glow-blue)}.service-card[data-color=violet]:hover{border-color:#a78bfa59;box-shadow:var(--shadow-lg),0 0 20px var(--accent-glow-violet)}.service-card[data-color=emerald]:hover{border-color:#34d39959;box-shadow:var(--shadow-lg),0 0 20px var(--accent-glow-emerald)}.service-card[data-color=pink]:hover{border-color:#f472b659;box-shadow:var(--shadow-lg),0 0 20px #f472b626}.card-top{display:flex;justify-content:space-between;align-items:flex-start}.card-icon-wrapper{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#ffffff08;border:1px solid rgba(255,255,255,.05);transition:var(--transition-normal)}.service-card[data-color=blue] .card-icon-wrapper{color:var(--accent-blue);background:#38bdf80f}.service-card[data-color=violet] .card-icon-wrapper{color:var(--accent-violet);background:#a78bfa0f}.service-card[data-color=emerald] .card-icon-wrapper{color:var(--accent-emerald);background:#34d3990f}.service-card[data-color=pink] .card-icon-wrapper{color:var(--accent-pink);background:#f472b60f}.service-card:hover .card-icon-wrapper{transform:scale(1.08)}.card-status{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:100px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.status-dot{width:6px;height:6px;border-radius:50%}.status-dot.online{background-color:var(--status-online);box-shadow:0 0 8px var(--status-online)}.status-dot.offline{background-color:var(--status-offline);box-shadow:0 0 8px var(--status-offline)}.status-dot.checking{background-color:var(--status-checking);box-shadow:0 0 8px var(--status-checking)}.card-details{display:flex;flex-direction:column;gap:4px}.card-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.card-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.4;height:2.8em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:.8rem;color:var(--text-muted);border-top:1px solid rgba(255,255,255,.04);padding-top:12px}.card-url{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;transition:var(--transition-fast)}.service-card:hover .card-url{color:var(--text-secondary)}.card-actions{display:flex;gap:8px}.card-action-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:var(--transition-fast)}.card-action-btn:hover{color:var(--text-primary);background:#ffffff14}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#020611cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .25s ease-out}.modal-content{width:100%;max-width:500px;padding:28px;display:flex;flex-direction:column;gap:20px;animation:slideUp .3s cubic-bezier(.16,1,.3,1);box-shadow:0 20px 50px #00000080,var(--shadow-glass)}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-title{font-family:var(--font-display);font-size:1.4rem;font-weight:800;letter-spacing:-.01em}.modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.modal-close:hover{background:#ffffff0d;color:var(--text-primary)}.modal-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-input,.form-select{background:#0f172a99;border:1px solid var(--glass-border);border-radius:8px;padding:10px 14px;color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;outline:none;transition:var(--transition-fast)}.form-input:focus,.form-select:focus{border-color:#38bdf866}.form-input::placeholder{color:var(--text-muted)}.color-options{display:flex;gap:12px;padding:4px 0}.color-option{width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:var(--transition-fast)}.color-option.selected{border-color:var(--text-primary);transform:scale(1.15)}.color-blue{background-color:var(--accent-blue)}.color-violet{background-color:var(--accent-violet)}.color-emerald{background-color:var(--accent-emerald)}.color-pink{background-color:var(--accent-pink)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 640px){.services-grid{grid-template-columns:1fr}.modal-content{margin:16px;padding:20px}}.iframe-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#020611b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:150;padding:24px;animation:fadeIn .25s ease-out}.iframe-container{width:100%;height:100%;max-width:1400px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 60px #0009,var(--shadow-glass);animation:slideUp .35s cubic-bezier(.16,1,.3,1);border-radius:16px}.iframe-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#0f172a99;border-bottom:1px solid var(--glass-border)}.iframe-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.iframe-url-label{font-size:.8rem;color:var(--text-muted);font-family:monospace;padding:2px 8px;background:#ffffff0a;border-radius:4px;border:1px solid rgba(255,255,255,.05)}.iframe-body-wrapper{flex-grow:1;position:relative;background:#0f172a}.iframe-body{width:100%;height:100%;border:none;background:transparent}.iframe-security-warning{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#0f172af2 60%,#0f172a00);padding:24px 20px 16px;text-align:center;font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none;opacity:0;animation:fadeIn .5s ease-out 3s forwards}@media (max-width: 1024px){.iframe-overlay{padding:12px}.iframe-container{max-height:95vh}.iframe-url-label{display:none}}
