:root{--color-primary: #000000;--color-secondary: #666666;--color-accent: #ffffff;--color-background: #ffffff;--color-text: #000000;--color-text-secondary: #666666;--color-border: #cccccc;--color-error: #ff0000;--color-success: #00aa00;--color-warning: #ffaa00;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono: "Courier New", Courier, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--border-width: 1px;--border-width-thick: 2px;--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--container-max-width: 1200px;--header-height: 64px;--sidebar-width: 250px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-background);color:var(--color-text)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}button{padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-background);color:var(--color-text);cursor:pointer}button:hover{opacity:.8}button:disabled{opacity:.5;cursor:not-allowed}button:focus{outline:none;border-color:var(--color-primary)}table{width:100%;border-collapse:collapse}th,td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:var(--border-width) solid var(--color-border)}th{font-weight:var(--font-weight-semibold)}ul,ol{list-style:none}img{max-width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.m-0{margin:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.page{min-height:100vh;display:flex;flex-direction:column}.page-header{padding:var(--spacing-lg) 0;border-bottom:var(--border-width) solid var(--color-border)}.page-content{flex:1;padding:var(--spacing-xl) 0}.page-footer{padding:var(--spacing-lg) 0;border-top:var(--border-width) solid var(--color-border)}.flex-1{flex:1}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-background);color:var(--color-text);font-weight:var(--font-weight-medium);text-align:center;cursor:pointer;transition:all var(--transition-base)}.btn:hover{opacity:.8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-accent);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-text)}.btn-secondary{background-color:var(--color-background);color:var(--color-text);border-color:var(--color-border)}.btn-danger{background-color:var(--color-error);color:var(--color-accent);border-color:var(--color-error)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.card{background-color:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.card-header{padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border)}.card-body{padding:var(--spacing-md) 0}.card-footer{padding-top:var(--spacing-md);margin-top:var(--spacing-md);border-top:var(--border-width) solid var(--color-border)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-background);color:var(--color-text)}.form-input:focus{outline:none;border-color:var(--color-primary)}.form-error{display:block;margin-top:var(--spacing-xs);color:var(--color-error);font-size:var(--font-size-sm)}.form-message{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.form-message-error{background-color:#ff00001a;border:var(--border-width) solid var(--color-error);color:var(--color-error)}.form-message-success{background-color:#00aa001a;border:var(--border-width) solid var(--color-success);color:var(--color-success)}.alert{padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.alert-error{background-color:#ff00001a;border:var(--border-width) solid var(--color-error);color:var(--color-error)}.alert-success{background-color:#00aa001a;border:var(--border-width) solid var(--color-success);color:var(--color-success)}.alert-warning{background-color:#ffaa001a;border:var(--border-width) solid var(--color-warning);color:var(--color-warning)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:var(--border-width) solid var(--color-border)}.table th{font-weight:var(--font-weight-semibold);background-color:#0000000d}.table tbody tr:hover{background-color:#00000005}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge-primary{background-color:var(--color-primary);color:var(--color-accent)}.badge-secondary{background-color:var(--color-secondary);color:var(--color-accent)}.spinner{display:inline-block;width:1em;height:1em;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-md);color:var(--color-text-secondary)}.login-page{min-height:100vh;display:flex;flex-direction:column}.login-icon-section{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.login-icon{width:320px;height:320px;max-width:100%;max-height:60vh;object-fit:contain}.login-form-section{background-color:#0000000d;padding:var(--spacing-xl) var(--spacing-md)}.login-form-container{max-width:500px;margin:0 auto}.login-title{margin-bottom:var(--spacing-md)}.login-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.dashboard-page{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{background-color:var(--color-background);border-bottom:var(--border-width) solid var(--color-border);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:var(--z-sticky)}.dashboard-header-content{display:flex;align-items:center;justify-content:space-between}.dashboard-main{flex:1;padding:var(--spacing-xl) 0}.dashboard-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.dashboard-section-title{margin-bottom:var(--spacing-xs)}.dashboard-section-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tenant-form{background-color:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.tenant-form-title{margin-bottom:var(--spacing-lg)}.tenant-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.tenant-form-actions{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border)}.tenant-list{background-color:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.tenant-list-empty{text-align:center;padding:var(--spacing-3xl) var(--spacing-md);color:var(--color-text-secondary)}.tenant-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.tenant-table thead{background-color:#0000000d}.tenant-table th{padding:var(--spacing-md);font-weight:var(--font-weight-semibold);text-align:left;border-bottom:var(--border-width-thick) solid var(--color-border);white-space:nowrap}.tenant-table td{padding:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border);white-space:nowrap}.tenant-table tbody tr:hover{background-color:#00000005}.tenant-table-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.tenant-list{overflow-x:auto;-webkit-overflow-scrolling:touch}
