@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');

:root{--primary-color:#1890ff;--primary-hover:#40a9ff;--error-color:#ff4d4f;--text-color:#262626;--text-secondary:#8c8c8c;--border-color:#d9d9d9;--background-color:#ffffff;--component-background:#ffffff;--table-header-bg:#fafafa;--table-row-hover-bg:#f5f5f5;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--font-family:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-size-sm:12px;--font-size-base:14px;--border-radius-base:6px;--shadow-1:0 1px 2px -2px rgba(0,0,0,0.16),0 3px 6px 0 rgba(0,0,0,0.12),0 5px 12px 4px rgba(0,0,0,0.09);}
[data-theme="dark"]{--primary-color:#177ddc;--text-color:rgba(255,255,255,0.85);--text-secondary:rgba(255,255,255,0.65);--border-color:#434343;--background-color:#141414;--component-background:#1f1f1f;--table-header-bg:#1d1d1d;--table-row-hover-bg:#262626;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-color);background-color:var(--background-color);transition:background-color 0.3s ease,color 0.3s ease;}
.container{max-width:1400px;margin:0 auto;padding:var(--spacing-md);transition:background-color 0.3s ease;}
.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);}
.title{font-size:24px;font-weight:600;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--border-color);border-radius:var(--border-radius-base);cursor:pointer;background:var(--component-background);color:var(--text-color);text-decoration:none;transition:background-color 0.3s ease,border-color 0.3s ease,color 0.3s ease;}
.btn:hover{color:var(--primary-color);border-color:var(--primary-color);}
.btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:white;}
.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:white;opacity:1;}
.btn-danger{color:var(--error-color);border-color:var(--error-color);}
.btn-danger:hover{background:var(--error-color);color:white;}
.btn-sm{padding:6px 12px;font-size:13px;}
.table{width:100%;border:1px solid var(--border-color);border-radius:var(--border-radius-base);background:var(--component-background);overflow:hidden;box-shadow:var(--shadow-1);transition:background-color 0.3s ease,border-color 0.3s ease;}
.table table{width:100%;border-collapse:collapse;}
.table thead th{background:var(--table-header-bg);font-weight:600;padding:var(--spacing-sm);border-bottom:1px solid var(--border-color);}
.table tbody td{padding:12px 8px;border-bottom:1px solid var(--border-color);text-align:center;}

.table tbody tr:hover td{background:var(--table-row-hover-bg);}
.address-link{color:var(--text-color);text-decoration:none;font-weight:500;transition:var(--transition);padding:4px 8px;border-radius:4px;border:1px solid transparent;}
.address-link:hover{color:var(--primary-color);background:var(--background-color-light);}
.street-address{padding-left:30px;text-align:left;min-width:300px;}
.input-group{display:grid;grid-template-columns:60px 1fr 70px 70px;gap:var(--spacing-xs);}
.input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-base);color:var(--text-color);background:var(--component-background);border:1px solid var(--border-color);border-radius:var(--border-radius-base);outline:none;transition:background-color 0.3s ease,border-color 0.3s ease,color 0.3s ease;}
.input[disabled]{background:var(--background-color-light);color:var(--text-secondary);cursor:not-allowed;opacity:0.4;}
.input:focus{border-color:var(--primary-color);}
.modal-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;z-index:1000;}
.modal{background:var(--component-background);border-radius:var(--border-radius-base);min-width:400px;max-width:90vw;position:relative;z-index:10000;}
.modal-header{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);font-weight:600;}
.modal-body{padding:var(--spacing-md);}
.modal-table td:nth-child(1){text-align:center;}
.modal-table td:nth-child(2){text-align:left;}
.modal-footer{padding:var(--spacing-md);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--spacing-sm);}
.micro-alert{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:var(--component-background);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 8px 24px rgba(0,0,0,0.2);animation:scaleIn 0.3s ease,scaleOut 0.3s ease 1.7s;}
@keyframes scaleIn{from{transform:translate(-50%,-50%)scale(0);opacity:0;}to{transform:translate(-50%,-50%)scale(1);opacity:1;}}
@keyframes scaleOut{from{transform:translate(-50%,-50%)scale(1);opacity:1;}to{transform:translate(-50%,-50%)scale(0);opacity:0;}}
.flex{display:flex;}
.gap-sm{gap:var(--spacing-sm);}
.justify-center{justify-content:center;}
.text-center{text-align:center;}
.text-right{text-align:right;}
.text-left{text-align:left;}
.tooltip{position:relative;cursor:pointer;border-bottom:1px dashed var(--text-secondary);display:inline-block;}
.tooltip-content{position:fixed;background:#fffbe6;border:1px solid #ffe58f;border-radius:4px;padding:8px 12px;white-space:pre-wrap;max-width:300px;z-index:10001;box-shadow:0 2px 8px rgba(0,0,0,0.15);display:none;color:#000000;}
[data-theme="dark"]
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(0);}
[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);}
.tooltip-content{background:#2b2b00;border:1px solid #665c00;color:#ffffff;}
.tooltip-content.show{display:block;}
.tooltip::after{margin-left:4px;color:var(--text-secondary);font-size:12px;}
@media (max-width:768px){.input-group{grid-template-columns:1fr;}.table thead{display:none;}.table tbody td{display:block;text-align:right;padding:var(--spacing-sm);}.table tbody td:before{content:attr(data-label);float:left;font-weight:600;}.table tbody tr{display:block;margin-bottom:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-base);}.container{padding:var(--spacing-sm);}}
.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background-color);}
.login-card{background:var(--component-background);padding:40px;border-radius:12px;border:1px solid var(--border-color);width:100%;max-width:400px;box-shadow:0 8px 32px rgba(0,0,0,0.08);}
.login-header{text-align:center;margin-bottom:32px;}
.login-title{font-size:28px;font-weight:700;color:var(--text-color);margin-bottom:8px;}
.login-subtitle{font-size:14px;color:var(--text-secondary);}
.login-form{display:flex;flex-direction:column;gap:20px;}
.form-group{margin-bottom:8px;}
.input-lg{padding:14px 16px;font-size:16px;border-radius:8px;}
.btn-block{width:100%;padding:14px;font-size:16px;border-radius:8px;}
.login-footer{margin-top:32px;text-align:center;}
.alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px;}
.alert-error{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f;}
.text-secondary{color:var(--text-secondary);font-size:13px;}
