@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-primary-50:#f0f9ff;--color-primary-100:#e0f2fe;--color-primary-200:#bae6fd;--color-primary-300:#7dd3fc;--color-primary-400:#38bdf8;--color-primary-500:#0ea5e9;--color-primary-600:#0284c7;--color-primary-700:#0369a1;--color-primary-800:#075985;--color-primary-900:#0c4a6e;--color-surface-50:#f8fafc;--color-surface-100:#f1f5f9;--color-surface-200:#e2e8f0;--color-surface-300:#cbd5e1;--color-surface-400:#94a3b8;--color-surface-500:#64748b;--color-surface-600:#475569;--color-surface-700:#334155;--color-surface-800:#1e293b;--color-surface-900:#0f172a;--bg-main:var(--color-surface-50);--bg-card:#fff;--bg-header:#fff;--bg-interactive:var(--color-primary-50);--bg-interactive-hover:var(--color-primary-100);--text-main:var(--color-surface-800);--text-muted:var(--color-surface-500);--text-inverse:#fff;--text-primary:var(--color-primary-700);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-blue:0 10px 15px -3px #0ea5e933;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}body{background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}button{cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-family:inherit}.btn-primary{background-color:var(--color-primary-500);color:var(--text-inverse);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);padding:.5rem 1.25rem;font-weight:500}.btn-primary:hover{background-color:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-surface-100);color:var(--text-main);border-radius:var(--radius-full);padding:.5rem 1.25rem;font-weight:500}.btn-secondary:hover{background-color:var(--color-surface-200)}.card{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-surface-100);padding:1.5rem}.app-container{flex-direction:column;max-width:1200px;height:100vh;margin:0 auto;padding:1rem;display:flex}.header{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem 0;display:flex}.header-title{color:var(--color-primary-700);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface-100);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--color-surface-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-surface-400)}@media print{@page{size:A4 landscape;margin:1cm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.no-print{display:none!important}.app-wrapper{height:auto;display:block}.main-content{height:auto;padding:0;overflow:visible}.calendar-container{box-shadow:none;border:none;height:auto}.calendar-grid-wrapper{overflow:visible!important}.calendar-grid{min-width:auto}.hour-cell{min-height:40px;height:auto!important;padding-bottom:2px!important;overflow:visible!important}.print-page{page-break-after:always;break-after:page}.calendar-header{border:none;padding:0 0 1rem}.hour-cell,.time-slot{height:22px;padding:0;font-size:8px}.day-header,.time-header{height:30px}.activity-item{margin:0;padding:1px 2px;font-size:7px}}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:400px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-header{border-bottom:1px solid var(--color-surface-200);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h3{color:var(--color-primary-800);margin:0;font-size:1.125rem}.close-btn{color:var(--text-muted)}.close-btn:hover{color:var(--text-main)}.modal-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.datetime-row{gap:1rem;display:flex}.datetime-row .form-group{flex:1}.now-btn{border-radius:var(--radius-sm);background-color:var(--color-surface-200);color:var(--text-main);align-self:flex-start;margin-top:.5rem;padding:.25rem .5rem;font-size:.75rem}.now-btn:hover{background-color:var(--color-surface-300)}.modal-footer{border-top:1px solid var(--color-surface-200);background:var(--bg-main);justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.calendar-container{background:var(--bg-card);border-radius:var(--radius-lg);height:100%;min-height:0;box-shadow:var(--shadow-sm);border:1px solid var(--color-surface-200);flex-direction:column;display:flex;overflow:hidden}.calendar-header{border-bottom:1px solid var(--color-surface-200);background:var(--bg-main);justify-content:space-between;align-items:center;padding:1rem;display:flex}.calendar-header h2{color:var(--color-primary-800);margin:0;font-size:1.25rem}.calendar-nav{gap:.5rem;display:flex}.calendar-nav button{border-radius:var(--radius-md);color:var(--color-primary-600);background:var(--color-primary-50);padding:.5rem}.calendar-nav button:hover{background:var(--color-primary-100)}.calendar-grid-wrapper{flex:1;position:relative;overflow:auto}.calendar-grid{grid-template-columns:60px repeat(7,minmax(120px,1fr));min-width:800px;display:grid}.time-col{background:var(--bg-main);z-index:2;border-right:1px solid var(--color-surface-200);position:sticky;left:0}.time-header{border-bottom:1px solid var(--color-surface-200);background:var(--bg-main);z-index:3;height:50px;position:sticky;top:0}.time-slot{height:60px;color:var(--text-muted);border-bottom:1px solid var(--color-surface-100);justify-content:center;align-items:flex-start;padding-top:.5rem;font-size:.75rem;display:flex}.day-col{border-right:1px solid var(--color-surface-100);flex-direction:column;display:flex}.day-header{border-bottom:1px solid var(--color-surface-200);background:var(--bg-main);z-index:1;height:50px;color:var(--text-main);flex-direction:column;justify-content:center;align-items:center;font-weight:500;display:flex;position:sticky;top:0}.day-header.is-today{color:var(--color-primary-600);font-weight:700}.day-header .date-num{font-size:1.25rem;line-height:1}.day-header .day-name{text-transform:uppercase;color:var(--text-muted);font-size:.75rem}.hour-cell{border-bottom:1px solid var(--color-surface-100);cursor:pointer;height:60px;transition:background-color var(--transition-fast);padding:2px 2px 24px;position:relative;overflow-y:auto}.hour-cell:hover{background-color:var(--color-primary-50)}.activity-item{background-color:var(--color-primary-500);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:2px;padding:.25rem .5rem;font-size:.75rem;display:flex}.activity-item:hover{background-color:var(--color-primary-600)}.activity-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.delete-activity-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:all .2s;display:flex}.delete-activity-btn:hover{color:#fff;background:#0003}@media (width<=768px){.calendar-header h2{font-size:1.1rem}.calendar-header{padding:.75rem}.time-slot{height:45px;padding-top:.25rem;font-size:.7rem}.hour-cell{height:45px;padding-bottom:16px}.time-header,.day-header{height:40px}.day-header .date-num{font-size:1rem}.day-header .day-name{font-size:.65rem}}.user-dropdown-container{display:inline-block;position:relative}.user-dropdown-trigger{color:var(--text-main);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem;font-weight:600;display:flex}.user-dropdown-trigger:hover{background-color:var(--color-surface-200)}.user-dropdown-menu{background-color:var(--bg-card);border:1px solid var(--color-surface-200);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:50;flex-direction:column;min-width:200px;margin-top:.5rem;display:flex;position:absolute;top:100%;right:0;overflow:hidden}.dropdown-item{text-align:left;cursor:pointer;width:100%;color:var(--text-main);transition:background-color var(--transition-fast);background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.dropdown-item:hover{background-color:var(--color-surface-100)}.dropdown-item.active{background-color:var(--color-primary-50);color:var(--color-primary-700);font-weight:500}.dropdown-divider{background-color:var(--color-surface-200);height:1px;margin:0}.create-user-container{justify-content:center;align-items:center;height:100%;padding:1rem;display:flex}.create-user-card{width:100%;max-width:400px}.card-header{color:var(--color-primary-700);flex-direction:column;align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.create-user-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-main);font-size:.875rem;font-weight:500}.form-group input{border-radius:var(--radius-md);border:1px solid var(--color-surface-300);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.form-group input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.submit-btn{margin-top:.5rem;padding:.75rem;font-size:1rem}.privacy-notice-overlay{background-color:var(--color-surface-900);color:#fff;z-index:1000;flex-direction:column;gap:1rem;padding:1rem 2rem;animation:.3s ease-out slideUp;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #00000026}@media (width>=768px){.privacy-notice-overlay{flex-direction:row;justify-content:space-between;align-items:center}}.privacy-notice-text{color:var(--color-surface-200);flex:1;font-size:.9rem;line-height:1.5}.privacy-notice-icon{color:var(--color-primary-400);vertical-align:middle;margin-right:.5rem}.privacy-notice-btn{background-color:var(--color-primary-500);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast);border:none;padding:.6rem 1.5rem;font-weight:600}.privacy-notice-btn:hover{background-color:var(--color-primary-600)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.app-wrapper{background-color:var(--bg-main);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.top-nav{background-color:var(--bg-header);box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.title-section{color:var(--color-primary-700);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;display:flex}.actions-section{align-items:center;gap:1rem;display:flex}.main-content{flex-direction:column;flex:1;min-height:0;padding:1rem;display:flex;overflow:hidden}.empty-state{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}@media (width<=768px){.top-nav{flex-direction:column;gap:.75rem;padding:.75rem}.actions-section{flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%}.actions-section button{padding:.4rem .75rem;font-size:.9rem}.main-content{padding:.5rem}}
