:root{--primary-color: #229ED9;--bg-color: #F8F9FA;--text-color: #1F2937;--card-bg: #FFFFFF;--border-color: #E5E7EB;--font-family: "Inter", sans-serif}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);margin:0;padding:0}.app-container{min-height:100vh;display:flex;flex-direction:column}.login-page{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#e0f2fe,#fff)}.login-card{background:var(--card-bg);padding:40px;border-radius:20px;box-shadow:0 10px 30px #0000000d;width:100%;max-width:400px;text-align:center}.login-card h1{margin-bottom:8px;font-size:24px}.login-card p{color:#6b7280;margin-bottom:24px}.form-group{margin-bottom:16px;text-align:left}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500}.form-group input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary-color)}.btn-primary{background-color:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;width:100%;font-family:inherit;transition:opacity .2s;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}.btn-primary:hover{opacity:.9}.dashboard-container{padding:40px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.widgets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.widget-card{background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:0 4px 6px #00000005;border:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;text-align:center}.widget-icon-preview{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.widget-info{margin-bottom:20px;flex:1}.widget-info h3{margin:0 0 8px;font-size:18px}.widget-info p{margin:0;color:#6b7280;font-size:14px}.widget-actions{display:flex;gap:12px}.btn-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);color:var(--text-color);text-decoration:none;cursor:pointer}.btn-danger{color:#ef4444;background:#fff}.editor-container{display:flex;height:100vh}.editor-sidebar{width:450px;background:var(--card-bg);border-right:1px solid var(--border-color);padding:24px;overflow-y:auto;display:flex;flex-direction:column;box-shadow:2px 0 10px #00000005;z-index:10}.editor-header{display:flex;align-items:center;margin-bottom:32px;gap:16px}.btn-back{background:none;border:none;cursor:pointer;font-size:20px;color:var(--text-color);padding:8px;border-radius:50%}.btn-back:hover{background:#f3f4f6}.form-section{margin-bottom:32px;border-bottom:1px solid #f0f0f0;padding-bottom:20px}.form-section:last-of-type{border-bottom:none}.form-section h3{font-size:14px;text-transform:uppercase;color:#9ca3af;margin-bottom:16px;font-weight:700}.form-section label{display:block;font-size:14px;margin-bottom:8px;font-weight:500;margin-top:15px}.form-section input[type=text],.form-section textarea,.form-section select{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:5px;font-family:inherit;box-sizing:border-box;font-size:14px}.form-section input[type=file]{margin-bottom:10px}.operator-card{background:#fafbfc;border:1px solid #E5E7EB;border-radius:12px;padding:16px;margin-bottom:16px}.op-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:8px}.op-header h4{margin:0;font-size:14px;color:#333}.schedule-box{margin-top:15px}.schedule-box h5{margin:0 0 10px;font-size:13px;color:#666}.schedule-row{display:flex;align-items:center;margin-bottom:8px;font-size:12px}.chk-label{width:60px;display:flex;align-items:center;gap:5px;cursor:pointer}.schedule-row input[type=time]{width:80px;padding:4px;margin:0 5px;font-size:12px}.editor-preview{flex:1;background:#eef2f6;display:flex;align-items:center;justify-content:center;padding:40px}.preview-browser-mockup{background:#fff;width:100%;max-width:1000px;height:100%;border-radius:12px;box-shadow:0 20px 50px #0000001a;display:flex;flex-direction:column;overflow:hidden;position:relative;border:1px solid #d1d5db}.preview-topbar{background:#f3f4f6;padding:12px;display:flex;align-items:center;border-bottom:1px solid #e5e7eb}.dot{width:10px;height:10px;border-radius:50%;margin-right:6px}.dot.red{background:#ef4444}.dot.yellow{background:#f59e0b}.dot.green{background:#10b981}.url-bar{flex:1;background:#fff;margin-left:20px;padding:6px 12px;border-radius:6px;font-size:12px;color:#6b7280;text-align:center;border:1px solid #e5e7eb}.preview-content{flex:1;padding:40px;background:linear-gradient(to bottom,#fff,#f9fafb);position:relative}.widget-preview-btn{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;cursor:pointer;float:right}.widget-preview-popup{width:320px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;margin-bottom:0;overflow:hidden}.preview-popup-header{padding:20px;color:#fff}.preview-popup-body{padding:20px 15px;background:#f4f5f7}.preview-msg{background:#fff;padding:12px 15px;border-radius:8px;font-size:13px;line-height:1.5;color:#374151;box-shadow:0 1px 2px #0000000d}.preview-op-row{display:flex;align-items:center;background:#fff;padding:10px;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:transform .1s}.preview-op-row:hover{transform:translateY(-1px);box-shadow:0 2px 5px #0000000d}.preview-avatar{width:40px;height:40px;border-radius:50%;background-size:cover;background-position:center;background-color:#eee;margin-right:12px}.op-name{font-weight:600;font-size:14px;color:#333}.op-dept{font-size:12px;color:#888}
