:root{font-family:Arial,sans-serif;color:#293b40;background:#f3f5f1;font-size:14px;--green:#237985;--line:#dce3dc}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a.button{min-height:40px;border:1px solid var(--line);border-radius:8px;background:white;padding:9px 14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover{background:#edf5f6}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green)!important;color:white!important;border-color:var(--green)!important}.danger{color:#a82d26;border-color:#e6bab4}input,select{border:1px solid var(--line);border-radius:7px;padding:10px;background:white;min-width:0}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #237985;outline-offset:2px}label{display:grid;gap:7px;font-size:13px}h1{font-size:28px;margin:0;font-weight:600}h2{font-size:20px;margin:0;font-weight:600}p{line-height:1.5}a{color:var(--green)}.auth{max-width:430px;margin:8vh auto;padding:32px;background:white;border:1px solid var(--line);border-radius:14px}.auth form{display:grid;gap:17px;margin-top:24px}.auth .check{display:flex;align-items:center}.auth small{color:#61736b;line-height:1.5}.auth nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.brand{font-size:28px;font-weight:700;letter-spacing:-1px;color:var(--green);margin-bottom:24px}.status{min-height:20px;color:#62756b}.error{color:#b3312a}.top{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:22px 28px;background:white;border-bottom:1px solid var(--line)}.top .brand{font-size:24px;margin:0}.top-right,.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dashboard{max-width:1600px;margin:auto;padding:26px 28px}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.filters input{flex:1;max-width:340px}.view-toggle{display:flex;gap:3px}.active{border-color:var(--green)!important;background:#dcecef!important}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;padding:0;text-align:left;display:block;color:inherit}.card.selected{outline:2px solid var(--green)}.thumb{background:white;aspect-ratio:1.8;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #edf0eb;padding:12px}.thumb svg{width:100%;height:100%;max-height:220px}.card-content{padding:14px}.card h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{font-size:12px;color:#69776e;margin-top:8px}.empty{text-align:center;padding:60px 15px;background:white;border:1px dashed var(--line);border-radius:12px}.list-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.course-list{width:100%;border-collapse:collapse;background:white;border-radius:10px;overflow:hidden}.course-list th,.course-list td{padding:15px;text-align:left;border-bottom:1px solid var(--line)}.course-list th{font-size:12px;color:#69776e;font-weight:400}.course-list tr[data-id]{cursor:pointer}.course-list tr.selected{background:#dcecef}.detail{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;align-self:start;position:sticky;top:16px}.detail .thumb{padding:0;margin-bottom:18px}.detail h2{overflow-wrap:anywhere}.detail .actions{margin-top:18px}.cloud-dialog{font-family:Arial,sans-serif;border:1px solid #dce3dc;border-radius:14px;padding:24px;width:min(520px,calc(100vw - 28px));max-height:90dvh;color:#293b40;background:white}.cloud-dialog::backdrop{background:#17392c55}.cloud-dialog header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.cloud-dialog header button{font-size:23px;padding:3px 10px}.cloud-dialog form{display:grid;gap:15px}.cloud-dialog label{margin-bottom:12px}.cloud-dialog input{width:100%}.cloud-dialog button{font:inherit;padding:9px 14px;border:1px solid #dce3dc;border-radius:8px;background:white;cursor:pointer;min-height:40px}.cloud-dialog .actions{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}.cloud-dialog .error{color:#b3312a}.loading{padding:40px;text-align:center}.notice{background:#fff4df;padding:12px;border-radius:8px}.account-grid{display:grid;gap:28px;max-width:650px;margin:auto}.account-grid section{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}.account-grid form{display:grid;gap:15px;margin-top:20px}button.link{border:0;padding:0;background:transparent;min-height:30px;color:var(--green)}@media(max-width:700px){.top{padding:14px}.dashboard{padding:20px 14px}.top-right .email{display:none}.list-layout{grid-template-columns:1fr}.detail{position:static;grid-row:1}.course-list:has(.pick-column) th:nth-child(4),.course-list:has(.pick-column) td:nth-child(4),.course-list:not(:has(.pick-column)) th:nth-child(3),.course-list:not(:has(.pick-column)) td:nth-child(3){display:none}.auth{margin:25px 14px}.cards{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.heading h1{font-size:24px}.filters input{max-width:none;flex-basis:100%}.course-list td{padding:12px 8px}.card-content{padding:11px}}

.course-list{align-self:start}.status:empty{display:none}

.card-content{position:relative;padding-right:42px}.card-menu{position:absolute;right:7px;top:7px;padding:0!important;width:32px;min-height:32px!important;border:0!important;font-size:24px!important}.card-menu:hover{background:#edf5f6}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
@media(any-pointer:coarse){input,select{font-size:16px}button,a.button{min-height:44px}}

.auth .guest-entry{display:flex;width:100%;margin-top:12px;text-align:center}.auth .guest-caption{font-size:12px;line-height:1.5;color:#6e736b;margin:10px 0 18px}

[hidden]{display:none!important}
.bulk-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 20px;font-size:13px}
.bulk-select{display:flex;align-items:center;min-height:44px;gap:8px;cursor:pointer}
.bulk-select input,.course-pick input{width:18px;height:18px;margin:0;accent-color:var(--green);cursor:pointer}
.card .thumb{position:relative}.course-pick{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;gap:0}
.card .course-pick{position:absolute;top:4px;left:4px;background:white;border-radius:7px;z-index:1}
.course-list .pick-column{width:52px;padding:4px}.course-list td{overflow-wrap:anywhere}
.card.batch-selected{box-shadow:inset 0 0 0 2px var(--green)}.course-list tr.batch-selected{box-shadow:inset 3px 0 var(--green)}
#selected-count{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.bulk-actions{gap:8px}.bulk-actions button{flex:1 1 auto}.bulk-actions #selected-count{flex:1}.bulk-actions #print-event{flex-basis:100%}.course-list .pick-column{width:44px;padding:0}}
.offline-status,.local-state{font-size:12px;font-weight:400;color:var(--ink)}.offline-status{margin:0 0 14px}.local-state{display:block;margin-top:4px}

.empty #empty-new-course{min-height:48px;margin-top:8px;padding:12px 24px;font-size:16px;max-width:100%;white-space:normal}

/* Samples are visible before sign-in and use the same editable documents as accounts. */
.welcome-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;max-width:1440px;margin:0 auto;padding:40px 28px;align-items:start}
.welcome-layout .auth{width:100%;max-width:none;margin:0;padding:24px}
.welcome-examples{padding-top:12px;min-width:0}.welcome-examples>p{max-width:660px}
.example-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
.example-card{text-decoration:none;transition:border-color .15s,box-shadow .15s}.example-card:hover{border-color:#237985;box-shadow:0 4px 16px #293b4014}.example-card .card-content{padding:14px}.example-card h2{white-space:normal;line-height:1.35}.example-card p{font-size:13px;line-height:1.5;margin:10px 0}.example-open{font-size:13px;color:#237985;font-weight:600}.example-caption{font-size:13px;color:#526159;line-height:1.5}.examples-dialog{width:min(960px,calc(100vw - 28px))}
@media(max-width:1100px){.welcome-layout{grid-template-columns:minmax(0,1fr) 340px;gap:24px}.welcome-layout .example-cards{grid-template-columns:1fr}.welcome-layout .example-card{display:grid;grid-template-columns:45% 1fr;align-items:center}.welcome-layout .example-card .thumb{border-bottom:0}}
@media(max-width:760px){.welcome-layout{grid-template-columns:1fr;padding:22px 14px;gap:24px}.welcome-examples h1{font-size:26px}.welcome-layout .auth{margin:0}.examples-dialog .example-cards{grid-template-columns:1fr}.example-card .thumb{padding:8px}.example-card .card-content{padding:12px}}

.product-footer{max-width:1600px;margin:24px auto;padding:20px 28px;display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid #d4d8cb;font-size:12px;line-height:1.6}.product-footer a{color:inherit}

.auth .legal-check{align-items:flex-start;line-height:1.6}.auth .legal-check input{flex:0 0 auto;margin-top:5px}.auth .legal-info{font-size:14px;line-height:1.6;margin:0 0 18px}.auth a{overflow-wrap:anywhere}
