:root{--widget-bg-primary:var(--bg-primary);--widget-bg-secondary:var(--bg-secondary);--widget-text-primary:var(--text-primary);--widget-text-secondary:var(--text-secondary);--widget-border:var(--border-color);--widget-accent:var(--accent-color);--widget-bg-elevated:rgba(255,255,255,0.05);--widget-bg-input:rgba(255,255,255,0.08);--widget-bg-button-secondary:rgba(255,255,255,0.1);--widget-border-strong:rgba(255,255,255,0.15);--widget-border-input:rgba(255,255,255,0.2);--widget-border-focus:var(--accent-color);--widget-hover-bg:rgba(var(--accent-color-rgb),0.15);--widget-active-bg:rgba(var(--accent-color-rgb),0.25);--widget-focus-outline:var(--accent-color);--widget-success:#10b981;--widget-warning:#f59e0b;--widget-error:#ef4444;--widget-info:#3b82f6;--widget-text-xs:0.75rem;--widget-text-sm:0.875rem;--widget-text-base:1rem;--widget-text-lg:1.125rem;--widget-text-xl:1.25rem;--widget-font-normal:400;--widget-font-medium:500;--widget-font-semibold:600;--widget-font-bold:700;--widget-leading-tight:1.25;--widget-leading-normal:1.5;--widget-leading-relaxed:1.75;--widget-space-1:0.25rem;--widget-space-2:0.5rem;--widget-space-3:0.75rem;--widget-space-4:1rem;--widget-space-6:1.5rem;--widget-space-8:2rem;--widget-padding-sm:var(--widget-space-3);--widget-padding-md:var(--widget-space-4);--widget-padding-lg:var(--widget-space-6);--widget-margin-sm:var(--widget-space-2);--widget-margin-md:var(--widget-space-4);--widget-radius-sm:0.25rem;--widget-radius-md:0.375rem;--widget-radius-lg:0.5rem;--widget-radius-xl:0.75rem;--widget-border-width:1px;--widget-border-width-thick:2px;--widget-shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--widget-shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--widget-shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--widget-shadow-hover:0 4px 12px rgba(0,0,0,0.1);--widget-transition-fast:0.15s ease-in-out;--widget-transition-normal:0.2s ease-in-out;--widget-transition-slow:0.3s ease-in-out}.widget-container{background:var(--widget-bg-primary);border:var(--widget-border-width) solid var(--widget-border-strong);border-radius:var(--widget-radius-lg);padding:var(--widget-padding-md);color:var(--widget-text-primary);transition:all var(--widget-transition-normal);height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--widget-shadow-sm)}.widget-container:hover{background:var(--widget-bg-elevated);border-color:var(--widget-border-input);box-shadow:var(--widget-shadow-md);transform:translateY(-1px)}.widget-container:focus-within{outline:2px solid var(--widget-focus-outline);outline-offset:2px}.widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--widget-margin-md);padding-bottom:var(--widget-space-2);border-bottom:var(--widget-border-width) solid var(--widget-border);flex-shrink:0}.widget-title{font-size:var(--widget-text-lg);font-weight:var(--widget-font-semibold);color:var(--widget-text-primary);margin:0;line-height:var(--widget-leading-tight)}.widget-subtitle{font-size:var(--widget-text-sm);font-weight:var(--widget-font-normal);color:var(--widget-text-secondary);margin:0;line-height:var(--widget-leading-normal)}.widget-actions{display:flex;gap:var(--widget-space-2);align-items:center}.widget-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.widget-content-scrollable{flex:1;overflow-y:auto;overflow-x:hidden}.widget-button{background:var(--widget-accent);color:white;border:none;border-radius:var(--widget-radius-md);padding:var(--widget-space-2) var(--widget-space-4);font-size:var(--widget-text-sm);font-weight:var(--widget-font-medium);cursor:pointer;transition:all var(--widget-transition-normal);min-height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;gap:var(--widget-space-2);text-decoration:none;line-height:1}.widget-button:hover{background:var(--widget-active-bg);transform:translateY(-1px);box-shadow:var(--widget-shadow-sm)}.widget-button:focus{outline:2px solid var(--widget-focus-outline);outline-offset:2px}.widget-button:active{transform:translateY(0)}.widget-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.widget-button--secondary{background:var(--widget-bg-button-secondary);color:var(--widget-text-primary);border:var(--widget-border-width) solid var(--widget-border-strong)}.widget-button--secondary:hover{background:var(--widget-hover-bg);border-color:var(--widget-border-input)}.widget-button--ghost{background:transparent;color:var(--widget-text-primary);border:var(--widget-border-width) solid var(--widget-border-strong)}.widget-button--ghost:hover{background:var(--widget-bg-button-secondary);border-color:var(--widget-border-input)}.widget-button--danger{background:var(--widget-error)}.widget-button--success{background:var(--widget-success)}.widget-button--sm{padding:var(--widget-space-1) var(--widget-space-3);font-size:var(--widget-text-xs);min-height:28px;min-width:28px}.widget-button--lg{padding:var(--widget-space-3) var(--widget-space-6);font-size:var(--widget-text-base);min-height:44px;min-width:44px}.widget-button--full-width{width:100%}.widget-button--loading{position:relative;color:transparent}.widget-button-spinner{position:absolute;top:50%;left:50%;width:16px;height:16px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:widget-spin 1s linear infinite;transform:translate(-50%,-50%)}.widget-button-icon{display:inline-flex;align-items:center;justify-content:center}.widget-button-icon--left{margin-right:var(--widget-space-2)}.widget-button-icon--right{margin-left:var(--widget-space-2)}.widget-button-text{display:inline-flex;align-items:center}.widget-input{background:var(--widget-bg-input);border:var(--widget-border-width) solid var(--widget-border-input);border-radius:var(--widget-radius-md);padding:var(--widget-space-3);color:var(--widget-text-primary);font-size:var(--widget-text-base);transition:all var(--widget-transition-normal);width:100%;line-height:var(--widget-leading-normal)}.widget-input:focus{outline:none;border-color:var(--widget-border-focus);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.2);background:var(--widget-bg-elevated)}.widget-input:disabled{opacity:.5;cursor:not-allowed}.widget-input::placeholder{color:var(--widget-text-secondary)}.widget-input-wrapper{position:relative;display:flex;align-items:center}.widget-input--with-left-icon{padding-left:2.5rem}.widget-input--with-right-icon{padding-right:2.5rem}.widget-input-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--widget-text-secondary);pointer-events:none;z-index:1}.widget-input-icon--left{left:var(--widget-space-3)}.widget-input-icon--right{right:var(--widget-space-3)}.widget-input--full-width{width:100%}.widget-input--error{border-color:var(--widget-error)}.widget-input-error{color:var(--widget-error)}.widget-input-error,.widget-input-helper{font-size:var(--widget-text-xs);margin-top:var(--widget-space-1)}.widget-input-helper{color:var(--widget-text-secondary)}.widget-textarea{background:var(--widget-bg-secondary);border:var(--widget-border-width) solid var(--widget-border);border-radius:var(--widget-radius-md);padding:var(--widget-space-3);color:var(--widget-text-primary);font-size:var(--widget-text-base);transition:border-color var(--widget-transition-normal);width:100%;line-height:var(--widget-leading-normal);resize:vertical;min-height:80px;font-family:inherit}.widget-textarea:focus{outline:none;border-color:var(--widget-accent);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.1)}.widget-textarea:disabled{opacity:.5;cursor:not-allowed;resize:none}.widget-textarea::placeholder{color:var(--widget-text-secondary)}.widget-textarea--error{border-color:var(--widget-error)}.widget-textarea--full-width{width:100%}.widget-textarea-footer{display:flex;justify-content:space-between;align-items:flex-start;margin-top:var(--widget-space-1);gap:var(--widget-space-2)}.widget-char-count{color:var(--widget-text-secondary);font-size:var(--widget-text-xs);white-space:nowrap;margin-left:auto}.widget-select{background:var(--widget-bg-input);border:var(--widget-border-width) solid var(--widget-border-input);border-radius:var(--widget-radius-md);padding:var(--widget-space-3);color:var(--widget-text-primary);font-size:var(--widget-text-base);transition:all var(--widget-transition-normal);width:100%;cursor:pointer}.widget-select:focus{outline:none;border-color:var(--widget-border-focus);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.2);background:var(--widget-bg-elevated)}.widget-form-group{display:flex;flex-direction:column;gap:var(--widget-space-2);margin-bottom:var(--widget-margin-md)}.widget-form-group:last-child{margin-bottom:0}.widget-label{font-size:var(--widget-text-sm);font-weight:var(--widget-font-medium);color:var(--widget-text-primary);margin-bottom:var(--widget-space-1)}.widget-form-row{display:flex;gap:var(--widget-space-3);align-items:center}.widget-list{list-style:none;padding:0;margin:0}.widget-list-item{padding:var(--widget-space-3);border-bottom:var(--widget-border-width) solid var(--widget-border-strong);transition:all var(--widget-transition-normal)}.widget-list-item:last-child{border-bottom:none}.widget-card,.widget-list-item:hover{background:var(--widget-bg-elevated)}.widget-card{border:var(--widget-border-width) solid var(--widget-border-strong);border-radius:var(--widget-radius-md);padding:var(--widget-padding-md);margin-bottom:var(--widget-margin-md);box-shadow:var(--widget-shadow-sm);transition:all var(--widget-transition-normal)}.widget-card:last-child{margin-bottom:0}.widget-card:hover{background:var(--widget-bg-input);border-color:var(--widget-border-input);box-shadow:var(--widget-shadow-md)}.widget-status{display:inline-flex;align-items:center;gap:var(--widget-space-2);padding:var(--widget-space-1) var(--widget-space-3);border-radius:var(--widget-radius-sm);font-size:var(--widget-text-xs);font-weight:var(--widget-font-medium);text-transform:uppercase;letter-spacing:.05em}.widget-status--success{background:rgba(16,185,129,.1);color:var(--widget-success)}.widget-status--warning{background:rgba(245,158,11,.1);color:var(--widget-warning)}.widget-status--error{background:rgba(239,68,68,.1);color:var(--widget-error)}.widget-status--info{background:rgba(59,130,246,.1);color:var(--widget-info)}.widget-loading{opacity:.6;pointer-events:none;position:relative}.widget-loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;border-top:2px solid var(--widget-border);border:2px solid var(--widget-border);border-top-color:var(--widget-accent);border-radius:50%;animation:widget-spin 1s linear infinite;transform:translate(-50%,-50%);z-index:10}.widget-error{border-color:var(--widget-error);background:rgba(239,68,68,.05)}.widget-success{border-color:var(--widget-success);background:rgba(16,185,129,.05)}.widget-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--widget-padding-lg);text-align:center;color:var(--widget-text-secondary)}.widget-empty-icon{font-size:2rem;margin-bottom:var(--widget-margin-md);opacity:.5}.widget-empty-text{font-size:var(--widget-text-sm);margin:0}.widget-button-group{display:flex;gap:var(--widget-space-3);align-items:center;flex-wrap:wrap;justify-content:flex-start}.widget-button-group--center{justify-content:center}.widget-button-group--end{justify-content:flex-end}.widget-button-group--full{width:100%}.widget-button-group .widget-button{flex:1;min-width:0}.widget-button-group--no-flex .widget-button{flex:none}.widget-text-center{text-align:center}.widget-text-right{text-align:right}.widget-text-primary{color:var(--widget-text-primary)}.widget-text-secondary{color:var(--widget-text-secondary)}.widget-text-mono{font-family:var(--widget-font-mono)}.widget-flex{display:flex}.widget-flex-col{flex-direction:column}.widget-items-center{align-items:center}.widget-items-stretch{align-items:stretch}.widget-justify-center{justify-content:center}.widget-justify-between{justify-content:space-between}.widget-gap-2{gap:var(--widget-space-2)}.widget-gap-3{gap:var(--widget-space-3)}.widget-gap-4{gap:var(--widget-space-4)}.widget-mb-2{margin-bottom:var(--widget-space-2)}.widget-mb-4{margin-bottom:var(--widget-space-4)}.widget-mt-2{margin-top:var(--widget-space-2)}.widget-mt-4{margin-top:var(--widget-space-4)}@keyframes widget-spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes widget-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes widget-slide-in{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.widget-animate-fade-in{animation:widget-fade-in .3s ease-out}.widget-animate-slide-in{animation:widget-slide-in .3s ease-out}@media (max-width:480px){.widget-container{padding:var(--widget-padding-sm)}.widget-title{font-size:var(--widget-text-base)}.widget-button{padding:var(--widget-space-2);font-size:var(--widget-text-xs);min-height:32px;min-width:32px}.widget-form-row{flex-direction:column;align-items:stretch}.widget-actions{flex-wrap:wrap}}@media (max-width:320px){.widget-container{padding:var(--widget-space-2)}.widget-header{flex-direction:column;align-items:flex-start;gap:var(--widget-space-2)}.widget-actions{width:100%;justify-content:flex-end}.widget-button{padding:var(--widget-space-1) var(--widget-space-2);min-height:28px;min-width:28px}}@media (min-width:481px) and (max-width:768px){.widget-container{padding:var(--widget-padding-md)}}@media (min-width:769px){.widget-container{padding:var(--widget-padding-lg)}.widget-button:hover{transform:translateY(-2px)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.widget-container,.widget-input,.widget-select,.widget-textarea{border-width:.5px}}@media (prefers-reduced-motion:reduce){.widget-button,.widget-container,.widget-input,.widget-list-item,.widget-select,.widget-textarea{transition:none}.widget-animate-fade-in,.widget-animate-slide-in,.widget-loading:after{animation:none}}@media (prefers-color-scheme:dark){:root{--widget-shadow-sm:0 1px 2px 0 rgba(0,0,0,0.3);--widget-shadow-md:0 4px 6px -1px rgba(0,0,0,0.3),0 2px 4px -1px rgba(0,0,0,0.2);--widget-shadow-lg:0 10px 15px -3px rgba(0,0,0,0.3),0 4px 6px -2px rgba(0,0,0,0.2);--widget-shadow-hover:0 4px 12px rgba(0,0,0,0.3)}}