@font-face{font-family:AppFont;src:url('fonts/Peyda-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:AppFont;src:url('fonts/Peyda-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:AppFont;src:url('fonts/Peyda-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#f5f5f0;--white:#fff;--ink:#203c36;--muted:#76847d;--line:#e2e7df;--green:#2d6957;--light:#edf4eb;--warm:#d4ae6b;--red:#aa3c42}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.9 AppFont,Tahoma,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d2ad68;outline-offset:4px}.shell{max-width:1400px;padding:0 42px;margin:auto}.top{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:38px}.brand{display:flex;gap:14px;align-items:center;font-size:20px;font-weight:bold;line-height:1.5}.brand small{display:block;font-size:10px;color:var(--muted);font-weight:normal;margin-top:4px}.brand-icon{display:grid;place-items:center;width:48px;height:48px;background:var(--ink);color:#e0bf7b;border-radius:16px;font-size:35px;font-family:serif}.top-note{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:7px 18px}.panel{background:var(--white);border:1px solid var(--line);border-radius:22px}.welcome{max-width:1140px;margin:55px auto 65px;display:grid;grid-template-columns:1fr 1.2fr;gap:76px;align-items:center}.eyebrow{font-size:11px;color:var(--green);letter-spacing:.2px;display:block;margin-bottom:13px}.eyebrow:before{content:'';display:inline-block;width:18px;height:2px;background:var(--warm);vertical-align:middle;margin-left:8px}.intro h1{font-size:46px;line-height:1.8;font-weight:500;letter-spacing:-1.5px;margin:0 0 20px}.intro p{color:var(--muted);max-width:340px;line-height:2.3}.intro-foot{display:flex;gap:20px;margin-top:45px;font-size:11px}.intro-foot span:before{content:'●';font-size:7px;margin-left:9px;color:var(--warm)}.login{padding:32px}.login h2{font-size:23px;margin:0}.muted{color:var(--muted);font-size:12px}.login .muted{margin:5px 0 24px}.teachers,.children{padding:0;border:0;margin:0;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.teachers{margin-bottom:24px}.teachers label,.children label{position:relative;cursor:pointer}.teachers input,.children input{position:absolute;opacity:0;width:1px;height:1px}.teachers label>span{border:1px solid var(--line);display:flex;align-items:center;flex-direction:column;border-radius:13px;padding:14px 4px 8px;font-size:11px;transition:.2s;background:#fafbf8}.teachers b{font:21px/1.8 AppFont,Tahoma,sans-serif;width:35px;height:35px;border-radius:50%;background:#eaf0e7;color:#6d8472;margin-bottom:7px}.teachers em{font-style:normal;color:var(--muted);font-size:9px}.teachers input:checked+span{border-color:var(--green);background:var(--light);box-shadow:0 0 0 1px var(--green)}.teachers input:checked+span b{background:var(--green);color:#fff}.teachers input:focus-visible+span,.children input:focus-visible+span{outline:3px solid var(--warm);outline-offset:2px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px}.field input,.field textarea,.field select,.filters select{width:100%;border:1px solid var(--line);padding:12px 14px;border-radius:11px;background:#fcfdfb;color:var(--ink);transition:border-color .2s;min-height:48px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green)}.field textarea{resize:vertical;min-height:114px;line-height:2.1}.field small{color:var(--muted);font-size:10px}.field input[type=date],.field input[type=time]{direction:ltr;text-align:right}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;border-radius:11px;padding:11px 19px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:12px;min-height:47px}.button:hover{background:var(--light)}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#245644}.full{width:100%;margin-top:20px;justify-content:space-between}.subtle{display:block;text-align:center;color:var(--muted);font-size:11px;margin-top:18px}.alert{padding:13px 18px;border-radius:11px;font-size:12px;line-height:2}.error{background:#fff0ee;color:#9a3440;border:1px solid #f4d8d7}.success{background:#e8f3e5;color:#2d6647;border:1px solid #cddfc6}.invalid{color:var(--red)!important}.site-footer{text-align:center;border-top:1px solid var(--line);color:#8a938c;font-size:10px;padding:24px;margin-top:42px}.workspace{display:grid;grid-template-columns:215px minmax(0,1fr);gap:36px}.sidebar{background:var(--ink);border-radius:22px;padding:28px 20px;color:#f0f4eb;display:flex;align-items:center;flex-direction:column;align-self:start;position:sticky;top:24px;min-height:540px}.avatar{background:#456156;color:#ecd6a6;font-size:24px;display:grid;place-items:center;width:60px;height:60px;border:1px solid #5b7667;border-radius:20px;margin-bottom:12px}.sidebar strong{font-size:15px}.sidebar small{font-size:10px;color:#a1b6a8}.sidebar nav{align-self:stretch;display:flex;flex-direction:column;gap:9px;margin-top:34px}.sidebar nav a{padding:11px 14px;font-size:12px;border-radius:10px;color:#bacbc1}.sidebar nav a:hover,.sidebar nav a.active{background:#3b594c;color:#fff}.sidebar-note{color:#9db1a3;font-size:10px;line-height:2.3;margin-top:auto;padding-top:55px;text-align:center}.logout{color:#d4c6a7;font-size:11px;border:0;background:none;border-top:1px solid #466052;margin-top:18px;padding-top:15px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:8px 0 26px}.page-heading h1{margin:0;font-weight:500;font-size:28px}.page-heading .eyebrow{margin-bottom:4px}.page-heading p{margin:4px 0}.pill{white-space:nowrap;padding:5px 13px;background:#e9eee3;border:1px solid #dee5d4;border-radius:30px;font-size:10px;color:#6c7c61}.form-section{padding:27px 30px;margin-bottom:20px}.section-title{display:flex;gap:13px;align-items:center;border-bottom:1px solid #edf0e8;padding-bottom:18px;margin-bottom:22px}.section-title>span{width:37px;height:37px;border:1px solid #e1e7db;background:#f4f6ef;display:grid;place-items:center;border-radius:12px;color:#879977;font-size:13px}.section-title h2{font-size:16px;font-weight:500;margin:0}.section-title p{font-size:10px;color:var(--muted);margin:3px 0 0}.children{grid-template-columns:repeat(9,1fr);gap:8px}.children label>span{display:block;border:1px solid var(--line);border-radius:10px;text-align:center;padding:10px 2px;font-size:10px;white-space:nowrap}.children input:checked+span{background:var(--green);color:#fff;border-color:var(--green)}.fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}.wide{grid-column:1/-1}.required{color:#ab7e38}.save-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#ecefe5;border:1px solid #dfe5d6;border-radius:16px;padding:18px 24px;margin-top:25px}.save-bar b{display:block;font-weight:normal;font-size:12px}.save-bar small{font-size:10px;color:var(--muted)}.filters{display:flex;align-items:end;gap:12px;padding:20px;margin-bottom:22px;flex-wrap:wrap}.filters label{min-width:140px;flex:1;font-size:11px;display:flex;flex-direction:column;gap:5px}.filters select{padding:9px 10px}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.record{padding:22px;display:flex;flex-direction:column;transition:.2s}.record:hover{border-color:#9caf94;box-shadow:0 7px 24px #203c3608}.record>div{display:flex;align-items:center;gap:8px}.record strong{font-size:13px}.record small{margin-right:auto;color:var(--muted);font-size:10px}.child-dot{background:var(--light);color:var(--green);width:31px;height:31px;border-radius:10px;text-align:center;font-size:16px}.tag{font-size:9px;align-self:start;background:#f3f1e9;color:#978156;padding:1px 8px;border-radius:5px;margin:16px 0 0}.record p{color:#748078;font-size:11px;line-height:2.1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:70px}.record footer{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.record footer span{color:var(--green)}.empty{text-align:center;padding:65px 24px}.empty>span{font-size:45px;color:#9bb195}.empty h2{font-weight:500;font-size:18px}.empty p{color:var(--muted);font-size:12px}.empty .button{margin-top:15px}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:25px;font-size:11px}.actions{display:flex;gap:10px;flex-wrap:wrap}.detail{padding:28px 32px}.detail>div{padding:12px 0;border-bottom:1px solid var(--line);break-inside:avoid}.detail h3{font-size:11px;font-weight:normal;color:var(--muted);margin:0 0 6px}.detail p{font-size:13px;margin:0;white-space:normal;overflow-wrap:anywhere}.detail footer{font-size:10px;color:var(--muted);margin-top:20px}.bottom{margin-top:20px}.setup{max-width:650px;margin:80px auto;padding:38px}.setup h1{font-size:25px;font-weight:normal}.setup p{font-size:12px;color:var(--muted)}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:900px){.teachers label:last-child{grid-column:span 2}.teachers label:last-child>span{flex-direction:row;gap:12px;justify-content:center;height:100%}.teachers label:last-child b{margin:0}.teachers label:last-child em{display:none}}@media(max-width:1100px){.shell{padding:0 25px}.welcome{gap:35px}.intro h1{font-size:38px}.workspace{grid-template-columns:180px minmax(0,1fr);gap:22px}.form-section{padding:22px}.children{grid-template-columns:repeat(5,1fr)}.sidebar{padding:25px 15px}.record-grid{grid-template-columns:1fr}}@media(max-width:800px){.welcome{grid-template-columns:1fr;gap:30px;max-width:530px;margin:25px auto}.intro h1{font-size:29px;line-height:1.8;margin-bottom:8px}.intro h1 br{display:none}.intro p{max-width:none;font-size:12px}.intro-foot{margin-top:15px}.top{height:90px;margin-bottom:22px}.top-note{display:none}.workspace{display:flex;flex-direction:column;gap:18px}.sidebar{position:static;min-height:0;display:grid;grid-template-columns:40px 1fr auto;gap:0 12px;padding:15px 18px;align-items:center;border-radius:16px}.avatar{grid-row:span 2;width:40px;height:40px;border-radius:12px;font-size:18px;margin:0}.sidebar strong{font-size:12px}.sidebar small{font-size:9px}.sidebar nav{grid-column:1/-1;flex-direction:row;margin-top:14px;gap:6px}.sidebar nav a{flex:1;text-align:center;padding:7px 8px;font-size:11px}.sidebar form{grid-column:3;grid-row:1/3}.logout{border:0;margin:0;padding:0;font-size:10px}.sidebar-note{display:none}.page-heading{margin:5px 0 20px}.page-heading h1{font-size:23px}.teachers{grid-template-columns:repeat(4,1fr)}.page-heading .actions{gap:5px}.page-heading .button{padding:7px 10px;min-height:36px;font-size:10px}}@media(max-width:480px){.shell{padding:0 15px}.brand{font-size:17px;gap:10px}.brand-icon{width:39px;height:39px;border-radius:13px;font-size:27px}.brand small{font-size:9px}.intro .eyebrow{margin-bottom:8px}.intro h1{font-size:26px}.intro p{font-size:11px}.login{padding:23px 18px}.login h2{font-size:20px}.teachers{gap:7px}.teachers label>span{font-size:10px;padding:10px 3px}.teachers b{font-size:17px;width:30px;height:30px}.teachers em{font-size:8px}.form-section{padding:20px 16px;border-radius:16px}.fields-grid{grid-template-columns:1fr;gap:18px}.children{grid-template-columns:repeat(3,1fr)}.children label>span{font-size:11px}.page-heading{gap:9px}.page-heading h1{font-size:21px}.pill{font-size:9px;padding:5px 9px}.save-bar{padding:15px;gap:10px}.save-bar .button{padding:10px 13px;gap:10px;font-size:11px}.save-bar b{font-size:10px}.save-bar small{font-size:9px}.filters{padding:16px;gap:10px}.filters label{min-width:100px}.filters>.button{flex:1;padding:10px;font-size:11px}.detail{padding:20px}.site-footer{margin-top:30px;font-size:9px}}@media print{body{background:#fff;color:#000;font-size:11pt}.shell{max-width:none;padding:0}.top{height:70px;margin-bottom:10px}.sidebar,.site-footer,.actions,.alert,.top-note{display:none!important}.workspace{display:block}.panel{border:0;border-radius:0}.detail{padding:0}.detail>div{padding:8px 0}.detail p{font-size:11pt}.page-heading{margin:10px 0}.page-heading h1{font-size:20pt}.detail h3{color:#444}.brand-icon{background:#fff;color:#000;border:1px solid #999}}
/* Version 2: monthly activities and stage observations */
.date-row{display:flex;gap:8px}.date-row input{flex:1;min-width:0;font-family:AppFont,Tahoma,sans-serif}.date-row .button{white-space:nowrap;padding:9px 15px}.context-options{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.context-options legend{font-size:13px;margin-bottom:14px}.context-options label{display:block;position:relative;cursor:pointer}.context-options input,.score-options input{position:absolute;opacity:0;width:1px;height:1px}.context-options label>span{display:block;border:1px solid var(--line);border-radius:10px;padding:9px 14px;background:#fcfdfb;font-size:12px}.context-options input:checked+span{border-color:var(--green);background:var(--light);box-shadow:0 0 0 1px var(--green)}.context-options input:focus-visible+span,.score-options input:focus-visible+span{outline:3px solid var(--warm);outline-offset:3px}.score-explanation{font-size:11px;color:var(--muted);margin:0 0 18px}.activity-note{background:#f5f0e3;border-right:3px solid var(--warm);border-radius:8px;padding:10px 13px;font-size:11px;color:#7d6844}.score-step{border:0;border-bottom:1px solid var(--line);padding:12px 0 24px;margin:16px 0;min-width:0}.score-step:last-child{border:0;padding-bottom:0;margin-bottom:0}.score-step legend{font-size:14px;font-weight:500;padding:0}.score-step legend>span{display:inline-grid;place-items:center;background:var(--light);color:var(--green);width:27px;height:27px;border-radius:8px;font-size:12px;margin-left:7px}.criterion{font-size:11px;color:#6f8077;margin:4px 0 15px;line-height:2.1}.score-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;direction:rtl}.score-options label{position:relative;cursor:pointer}.score-options label>span{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:12px 7px;border:1px solid var(--line);border-radius:12px;background:#fafcf8;height:100%;min-height:105px}.score-options b{width:28px;height:28px;line-height:28px;border-radius:50%;border:1px solid #c4d0bf;font-size:16px;font-weight:400}.score-options small{font-size:10px;line-height:1.7;color:#7f8c81}.score-options input:checked+span{border-color:var(--green);background:var(--light);box-shadow:0 0 0 1px var(--green)}.score-options input:checked+span b{background:var(--green);color:#fff;border-color:var(--green)}.rubric{margin-top:13px;font-size:11px;color:var(--muted)}.rubric summary{cursor:pointer;color:var(--green);padding:5px 0}.rubric dl{display:grid;grid-template-columns:25px 1fr;gap:10px;margin:10px 0;padding:15px;background:#f7f8f4;border-radius:12px}.rubric dt{font-weight:bold;color:var(--green)}.rubric dd{margin:0;line-height:2}.saved-scores{margin-top:20px}.saved-scores h2{font-size:17px;font-weight:500}.saved-score{padding:18px 0;border-bottom:1px solid var(--line);break-inside:avoid}.saved-score>div{display:flex;justify-content:space-between;align-items:center;gap:15px}.saved-score strong{font-size:13px;font-weight:500}.saved-score p{font-size:11px;margin:9px 0;color:var(--muted)}.saved-score small{font-size:10px;color:#56745c}.score-badge{white-space:nowrap;background:var(--light);padding:3px 12px;border-radius:20px;color:var(--green);font-size:12px}.brand,.brand small,.teachers b{font-family:AppFont,Tahoma,sans-serif}@media(max-width:600px){.score-options{gap:6px}.score-options label>span{padding:10px 4px;min-height:53px}.score-options small{display:none}.score-options b{width:29px;height:29px;line-height:29px}.score-step legend{font-size:13px}.criterion{font-size:11px}.context-options{gap:8px}.context-options label{flex:1 1 45%}.context-options label>span{height:100%;padding:10px;font-size:11px}.rubric dl{padding:12px;grid-template-columns:18px 1fr}.saved-score strong{font-size:12px}.date-row input{font-size:16px}}@media print{.saved-score small{color:#333}.score-badge{border:1px solid #aaa;background:#fff;color:#000}.saved-scores h2{font-size:14pt}.detail section{break-inside:auto}.saved-score{break-inside:avoid}}
/* Form editor, versioned backups and repeated-observation reports */
.inline-link{font-weight:700;text-decoration:underline;text-underline-offset:4px}.catalog-editor .field+.field{margin-top:18px}.catalog-editor .fields-grid .field+.field{margin-top:0}.editor-step .field>input{font-size:15px;font-weight:500}.import-section{margin-top:30px}.import-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.import-form .field{flex:1;min-width:230px}.import-preview{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.import-preview h3{font-size:16px;font-weight:500}.diff-list{max-height:520px;overflow:auto;margin:15px 0 20px;border:1px solid var(--line);border-radius:12px}.diff-list article{padding:16px;border-bottom:1px solid var(--line)}.diff-list article:last-child{border:0}.diff-list h4{font-size:12px;font-weight:500;margin:0 0 12px}.diff-list article>div{padding:10px 12px;background:#f6f7f2;border-radius:8px;margin:8px 0}.diff-list article>div:last-child{background:#edf4eb}.diff-list article span{font-size:10px;color:var(--muted)}.diff-list article p{font-size:12px;margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.backup-list>article{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.backup-list strong{font-size:12px;font-weight:500}.backup-list small{display:block;color:var(--muted);font-size:10px}.backup-list .button{font-size:11px;padding:7px 12px;min-height:38px}.progress-filters label:last-of-type{flex:2}.attempt-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.attempt-cards>article{padding:20px;background:#f5f7f0;border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column;gap:7px}.attempt-cards small{color:var(--muted);font-size:11px}.attempt-cards strong{font-weight:500;font-size:18px}.attempt-cards a{font-size:11px;color:var(--green)}.progress-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0 15px}.progress-summary>article{display:flex;flex-direction:column;align-items:center;padding:15px 10px;border:1px solid var(--line);border-radius:13px;background:#fcfdf9}.progress-summary b{font-size:27px;font-weight:500;color:var(--green)}.progress-summary span{font-size:10px;color:var(--muted);text-align:center}.progress-result{background:var(--light);border-radius:10px;padding:10px 15px;font-size:13px;color:var(--green)}.chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:26px 0 15px;font-size:11px}.chart-legend small{color:var(--muted);margin-right:auto;font-size:10px}.chart-legend>span:before{content:'';display:inline-block;width:14px;height:9px;margin-left:7px;border-radius:3px}.legend-first:before{background:#adc5ab}.legend-second:before{background:#2d6957}.progress-stage{padding:18px 0;border-bottom:1px solid var(--line);break-inside:avoid}.progress-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.progress-stage h3{font-size:14px;font-weight:500;margin:0}.progress-stage svg{display:block;width:100%;max-width:700px;height:auto;margin:0 auto;font-family:AppFont,Tahoma,sans-serif}.trend{padding:3px 9px;border-radius:20px;font-size:9px;background:#f2f3ee;color:#7f8a80}.trend-improved{background:#e7f3e4;color:#347245}.trend-lower{background:#fbedeb;color:#a64d4d}.chart-values{font-size:11px;color:var(--muted);margin:3px 0}.chart-values b{font-weight:500;color:var(--ink)}.chart-values>span{margin:0 12px}.progress-empty{padding:30px 15px 20px}.progress-empty p{max-width:580px;margin:10px auto}.coverage-row{display:grid;grid-template-columns:minmax(140px,1.3fr) minmax(130px,1fr) minmax(170px,1.5fr);gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.coverage-row:last-child{border:0}.coverage-row strong{font-size:12px;font-weight:500}.coverage-row small{font-size:10px;color:var(--muted)}.coverage-row:hover strong{color:var(--green)}.coverage-state{font-size:10px;color:#9b7d42;background:#f8f1e3;justify-self:start;border-radius:20px;padding:4px 10px}.coverage-state.complete{color:#397149;background:#eaf3e7}@media(max-width:800px){.sidebar nav{flex-wrap:wrap}.sidebar nav a{min-width:43%}.backup-list>article{align-items:start;flex-direction:column}.backup-list .actions{width:100%}.progress-summary{grid-template-columns:1fr 1fr}.coverage-row{grid-template-columns:1fr auto}.coverage-row small{grid-column:1/-1}.attempt-cards>article{padding:15px}.attempt-cards strong{font-size:15px}}@media(max-width:480px){.import-form .field{min-width:100%}.catalog-editor .save-bar{align-items:stretch;flex-direction:column}.catalog-editor .save-bar .button{width:100%}.attempt-cards{gap:9px}.attempt-cards>article{padding:13px 10px}.attempt-cards strong{font-size:13px}.progress-stage h3{font-size:13px}.progress-stage>.muted{font-size:10px}.chart-legend{gap:12px}.chart-legend small{width:100%}.coverage-row{gap:8px}.coverage-row strong{font-size:11px}.coverage-state{font-size:9px;padding:3px 8px}}@media print{.filters,.progress-filters,.chart-legend small{display:none}.progress-stage{break-inside:avoid}.progress-stage svg{max-width:520px}.coverage-row{break-inside:avoid}.progress-summary{grid-template-columns:repeat(4,1fr)}.chart-legend{margin:15px 0}.attempt-cards{grid-template-columns:1fr 1fr}}
