body{margin:0;background:#f5f7fb;color:#1f2a44;font-family:Segoe UI,system-ui,sans-serif}.app-shell{min-height:100vh;display:flex;flex-direction:column}.page{padding:24px 32px 48px;display:grid;gap:24px;width:100%;max-width:1200px;margin:0 auto}.page-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.start-page{display:grid;gap:20px;max-width:900px;margin:0 auto;min-height:calc(100vh - 160px);align-content:center}.securemail-page{display:grid;gap:16px;max-width:640px;margin:0 auto;min-height:calc(100vh - 160px);align-content:center}.panel{padding:18px;border-radius:16px;background:#fff;box-shadow:0 12px 30px #10182814}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.muted{color:#6c7a95}.form-grid{display:grid;gap:12px}.code-block{background:#0f172a;color:#dbe7ff;padding:16px;border-radius:12px;min-height:80px;overflow-x:auto}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-warning{padding:12px 16px;border-radius:12px;background:#fff4e5;color:#8a5500}.nav-link{text-decoration:none}.app-header{padding:16px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.app-header-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap;flex:1;min-width:240px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:36px;height:36px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #10182826}.brand-title{font-weight:700;font-size:18px}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.app-header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width: 900px){.page{padding:20px 20px 36px}.app-header{padding:16px 20px}.app-header-right{width:100%;justify-content:flex-start}}@media (max-width: 600px){.page{padding:16px 16px 32px}.app-header{padding:12px 16px}}.calendar-layout{display:grid;grid-template-columns:280px 1fr;gap:20px}.calendar-sidebar{background:#fff;padding:16px;border-radius:16px;box-shadow:0 12px 30px #10182814;display:grid;gap:12px;height:fit-content}.calendar-vehicle-list{display:grid;gap:8px;max-height:60vh;overflow-y:auto}.calendar-vehicle-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-vehicle-actions{display:flex;gap:6px}.calendar-vehicle-tile{padding:8px 12px;border-radius:12px;background:#fff;border:1px solid #d5dbea;color:#1f2a44;font-size:12px;cursor:grab;display:grid;gap:4px}.calendar-vehicle-chip{display:none}.calendar-main{display:grid;gap:16px}.calendar-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-selected{display:none}.calendar-grid{display:grid;gap:8px;overflow-x:auto;position:relative}.calendar-grid-wrapper{position:relative}.calendar-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:2;border-radius:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.calendar-header,.calendar-row{display:grid;grid-template-columns:70px repeat(auto-fit,minmax(160px,1fr));gap:8px}.calendar-grid-month .calendar-header,.calendar-grid-month .calendar-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.calendar-header-label,.calendar-row-label{background:#f4f6fb;border-radius:12px;padding:8px 10px;display:grid;gap:4px}.calendar-header-cell{background:#f4f6fb;border-radius:12px;padding:8px;text-align:center;font-weight:600}.calendar-cell{background:#fff;border:1px solid #e3e7ef;border-radius:12px;min-height:120px;padding:8px;display:grid;gap:8px}.calendar-block{padding:8px;border-radius:10px;background:#eef4ff;cursor:pointer}.conflict-list{display:grid;gap:8px;margin-top:12px}.conflict-item{padding:10px;border-radius:10px;border:1px solid #e3e7ef;background:#fff6f0}.calendar-time-axis{display:grid;grid-auto-rows:22px;background:#f8f9fc;border-radius:12px;border:1px solid #e3e7ef;padding:4px 6px;font-size:11px;color:#6c7a95}.calendar-time-slot{height:22px;display:flex;align-items:center;justify-content:flex-start}.calendar-cell-timeline{position:relative;padding:4px;height:560px;background-image:linear-gradient(to bottom,rgba(227,231,239,.8) 1px,transparent 1px);background-size:100% 14px;cursor:crosshair}.calendar-cell-timeline .calendar-block{position:absolute;left:6px;right:6px;overflow:hidden;pointer-events:auto}.calendar-loading{margin-top:8px;display:flex;justify-content:center}.calendar-cell-timeline{overflow:hidden}
